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ą na celu zwiększenie skuteczności reklam zakotwiczonych, które mają mniejszy rozmiar. Z tego przewodnika dowiesz się, jak włączyć zwijane banery reklamowe w przypadku istniejących 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 dodatkowy z kluczem collapsible i wartością odpowiadającą miejscu docelowemu reklamy.

Miejsce docelowe zwijania określa, jak rozwinięty obszar jest zakotwiczony do banera reklamowego.

Wartość Placement Zachowanie Przewidywany przypadek użycia
top Górna krawędź rozwiniętej reklamy jest wyrównana do górnej krawędzi zwiniętej reklamy. Reklama jest umieszczana u góry ekranu.
bottom Dolna krawędź rozwiniętej reklamy jest wyrównana do dolnej krawędzi zwiniętej reklamy. Reklama jest umieszczana u dołu ekranu.

Jeśli wczytana reklama jest zwijanym banerem, po umieszczeniu w hierarchii widoków baner natychmiast wyświetla nakładkę zwijaną.

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();
}

Odświeżanie reklam

W przypadku aplikacji, które konfigurują automatyczne odświeżanie banerów reklamowych w interfejsie internetowym AdMob, gdy w przypadku miejsca docelowego banera zostanie wysłane żądanie dotyczące zwijanego banera reklamowego, kolejne odświeżenia reklamy nie będą żądać banerów zwijanych. Wynika to z tego, że wyświetlanie zwijanego banera przy każdym odświeżaniu 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 przypadku żądań dotyczących zwijanych banerów reklamowych mogą być zwracane banery niezwijane. Aby sprawdzić, czy ostatni wczytany baner jest zwijany, wywołaj isCollapsible. Jeśli wczytywanie żądania nie powiedzie się, a poprzedni baner jest zwijany, interfejs API zwróci wartość true.

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 popytu Google. Reklamy wyświetlane za pomocą mediacji są wyświetlane jako zwykłe, niezwijane banery reklamowe.