Używanie banerów zwijanych

Zwijane banery reklamowe to banery, które początkowo wyświetlają się jako większa nakładka z przyciskiem umożliwiającym zwinięcie ich do pierwotnie żądanego rozmiaru. Zwijane banery reklamowe mają zwiększać skuteczność reklam zakotwiczonych, które w przeciwnym razie byłyby mniejsze. Z tego przewodnika dowiesz się, jak włączyć zwijane banery reklamowe w przypadku dotychczasowych miejsc docelowych banerów.

Wymagania wstępne

Implementacja

Upewnij się, że widok banera jest zdefiniowany w rozmiarze, który ma być widoczny dla użytkowników w zwykłym (zwiniętym) stanie banera. Dołącz do żądania reklamy parametr extras z kluczem collapsible i miejscem docelowym reklamy jako wartością.

Miejsce docelowe zwijanego banera określa, jak rozwinięty obszar jest zakotwiczony w banerze reklamowym.

Wartość Placement Zachowanie Zamierzony przypadek użycia
top Góra rozwiniętej reklamy jest wyrównana z górą zwiniętej reklamy. Reklama jest umieszczona u góry ekranu.
bottom Dół rozwiniętej reklamy jest wyrównany do dołu zwiniętej reklamy. Reklama jest umieszczona u dołu ekranu.

Jeśli wczytana reklama jest banerem zwijanym, po umieszczeniu w hierarchii widoków od razu wyświetla się na nim zwijana nakładka:

void _loadAd() async {
  // Replace these test ad units with your own ad units.
  final String adUnitId = Platform.isAndroid
    ? 'ca-app-pub-3940256099942544/2014213617'
    : 'ca-app-pub-3940256099942544/8388050270';

  // Get the size before loading the ad.
  final size = await AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(
      MediaQuery.sizeOf(context).width.truncate());

  if (size == null) {
    // Unable to get the size.
    return;
  }

  // Create an extra parameter that aligns the bottom of the expanded ad to the
  // bottom of the banner ad.
  const adRequest = AdRequest(extras: {
    "collapsible": "bottom",
  });

  BannerAd(
      adUnitId: adUnitId,
      request: adRequest,
      size: size,
      listener: const BannerAdListener()
  ).load();
}

Sposób odświeżania reklam

W przypadku aplikacji, które mają skonfigurowane automatyczne odświeżanie banerów reklamowych w interfejsie internetowym AdMob, po wysłaniu żądania dotyczącego zwijanego banera reklamowego do boksu banera kolejne odświeżenia reklamy nie będą żądać banerów zwijanych. Wynika to z tego, że wyświetlanie banera zwijanego przy każdym odświeżeniu może negatywnie wpłynąć na wrażenia użytkownika.

Jeśli chcesz wczytać kolejny zwijany baner reklamowy w dalszej części sesji, możesz wczytać reklamę ręcznie, używając w żądaniu parametru zwijania.

Sprawdzanie, czy wczytana reklama jest zwijana

Aby zmaksymalizować skuteczność, w odpowiedzi na żądania zwijanych banerów mogą być zwracane niezwijane banery reklamowe. Jeśli nie uda się wczytać żądania, a poprzedni baner jest zwijany, interfejs API zwraca wartość true. Aby sprawdzić, czy ostatni wczytany baner jest zwijany, wywołaj metodę isCollapsible:

BannerAd(
  // ...
  listener: BannerAdListener(
    onAdLoaded: (ad) {
      final bannerAd = ad as BannerAd;
      final isCollapsible = bannerAd.isCollapsible;
      print('The last loaded banner is ${isCollapsible ? "" : "not"} collapsible.');
    },
  ),
).load();

Mediacja

Zwijane banery reklamowe są dostępne tylko w przypadku ofert reklamowych Google. Reklamy wyświetlane za pomocą zapośredniczenia są widoczne jako zwykłe, niezwijane banery reklamowe.