Używanie banerów zwijanych

Banery zwijane to banery reklamowe, 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 innym przypadku byłyby mniejsze. Z tego przewodnika dowiesz się, jak włączyć reklamy w formie banerów zwijanych w przypadku dotychczasowych miejsc docelowych banerów.

Wymagania wstępne

Implementacja

Upewnij się, że widok banera jest zdefiniowany w rozmiarze, w jakim ma się wyświetlać użytkownikom w zwykłym (zwiniętym) stanie. W żądaniu reklamy uwzględnij parametr extras z kluczem collapsible i miejscem docelowym reklamy jako wartością.

Miejsce docelowe zwijania określa, jak rozwinięty region jest zakotwiczony w banerze.

Wartość Placement Zachowanie Przeznaczenie
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 banerem zwijanym, po umieszczeniu w hierarchii widoków natychmiast wyświetla się nakładka zwijana.

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, w których skonfigurowano automatyczne odświeżanie banerów reklamowych w interfejsie internetowym AdMob, po wysłaniu żądania dotyczącego zwijanego banera reklamowego w przypadku boksu na baner 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żaniu może negatywnie wpłynąć na wrażenia użytkownika.

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

Sprawdzanie, czy wczytana reklama może być zwinięta

Aby zmaksymalizować skuteczność, banery reklamowe, których nie można zwinąć, mogą być zwracane w odpowiedzi na żądania dotyczące banerów zwijanych. Wywołaj funkcję isCollapsible, aby sprawdzić, czy ostatni wczytany baner jest zwijalny. Jeśli żądanie nie zostanie wczytane, a poprzedni baner można zwinąć, interfejs API zwraca 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

Banery zwijane są dostępne tylko w przypadku źródeł ofert reklamowych Google. Reklamy wyświetlane w ramach mediacji są widoczne jako zwykłe, niezwijane banery reklamowe.