Flutter - Monetizza SDK Documentazione App

⌘K
  1. Flutter – Monetizza...
  2. Formati Pubblicitari
  3. Scroll infinito

Scroll infinito

Annunci posizionati all'interno di contenuti scorrevoli, visualizzati dinamicamente Stendardo o OutStream formati basati sulla posizione dell'elemento all'interno della vista di scorrimento.

Mostra l'annuncio.

Per visualizzare un annuncio in ListViewwidget, o in qualsiasi altro widget scorrevole di Flutter con indice usa R89ScorrimentoInfinitoAnnuncio widget, aggiungendolo all'elemento scorrevole

Widget _buildItem(context, index) => Card(
        child: Column(
          children: [
            Padding(
              padding: const EdgeInsets.all(8.0),
              child: Text("Item index $index"),
            ),
            Center(
              child: R89InfiniteScrollAd(
                  itemIndex: index, infiniteScrollId: infiniteScrollId),
            )
          ],
        ),
      );

R89ScorrimentoInfinitoAnnuncio ha due parametri obbligatori

  • indiceElemento la posizione dell'articolo in ListView

  • infiniteScrollId il R89SDK ID di pergamena generato, che è condiviso tra gli elementi figlio dello stesso ListView.

Ecco come generare infiniteScrollId

int infiniteScrollId = R89SDK.adFactory.createInfiniteScroll(
    configurationId: ConfigConstants.infiniteScrollTestR89ConfigId);

Tutto qui, trova il esempio completo in fondo a questa pagina.

Eventi del Ciclo di Vita

Per ricevere gli eventi del ciclo di vita per un R89ScorrimentoInfinitoAnnuncio, fornire BannerEventListener a R89ScorrimentoInfinitoAnnuncio tramite callback del ciclo di vita dettagli sul parametro. BannerEventListener può essere trovato nel Riferimento.

R89InfiniteScrollAd(
    itemIndex: index,
    infiniteScrollId: infiniteScrollId,
    lifecycleCallbacks: BannerEventListener.callbacks(
      onLoadedCallback: () {},
      onImpressionCallback: () {},
      onLayoutChangeCallback: (width, height) {},
      onClickCallback: () {},
      onOpenCallback: () {},
      onCloseCallback: () {},
      onFailedToLoadCallback: (error) {},
    ))

Per ricevere gli eventi del ciclo di vita per lo scorrimento generale, fornire InfiniteScrollEventListener a R89SDK.adFactory.createInfiniteScroll tramite callback del ciclo di vita dettagli sul parametro. InfiniteScrollEventListener può essere trovato nel Riferimento.

final int infiniteScrollId = R89SDK.adFactory.createInfiniteScroll(
    configurationId: ConfigConstants.infiniteScrollTestR89ConfigId,
    lifecycleCallbacks: InfiniteScrollEventListener.callbacks(
      onRollCallback: (itemIdInData) {},
      onRollFailedCallback: (itemIdInData) {},
      onAdItemCreatedCallback: (adapterId, probability) {},
      onAdItemFailedToCreateCallback: (message) {},
      onAdItemLoadedCallback: (itemIdInData) {},
      onAdItemFailedToLoadCallback: (itemIdInData, message) {},
      onAdItemImpressionCallback: (itemIdInData) {},
      onAdItemClickCallback: (itemIdInData) {},
      onAdItemOpenCallback: (itemIdInData) {},
      onAdItemCloseCallback: (itemIdInData) {},
    ));

Esempio Completo.

import 'package:flutter/material.dart';
import 'package:playground/config_constants.dart';
import 'package:refinery89_monetize_app/r89_sdk.dart';

class ScrollPage extends StatefulWidget {
  const ScrollPage({super.key});

  @override
  State createState() => _ScrollPageState();
}

class _ScrollPageState extends State {
  final int infiniteScrollId = R89SDK.adFactory.createInfiniteScroll(
      configurationId: ConfigConstants.infiniteScrollTestR89ConfigId);

  @override
  Widget build(BuildContext context) => ListView.builder(
        itemCount: 500,
        itemBuilder: (context, index) => _buildItem(context, index),
      );

  Widget _buildItem(context, index) => Card(
        child: Column(
          children: [
            Padding(
              padding: const EdgeInsets.all(8.0),
              child: Text("Item index $index"),
            ),
            Center(
              child: R89InfiniteScrollAd(
                  itemIndex: index, infiniteScrollId: infiniteScrollId),
            )
          ],
        ),
      );
}

Come possiamo aiutarti?