Reklamy z nagrodą to reklamy, z którymi użytkownicy mogą wchodzić w interakcje w zamian za nagrody w aplikacji. Z tego przewodnika dowiesz się, jak zintegrować reklamy z nagrodą z AdMob w aplikacji Unity.
Z tego przewodnika dowiesz się, jak zintegrować reklamy z nagrodą w aplikacji Unity.
Wymagania wstępne
Zanim przejdziesz dalej, skonfiguruj Google Mobile Ads Unity Plugin.
Zawsze testuj reklamy testowe
Poniższy przykładowy kod zawiera identyfikator jednostki reklamowej, którego możesz użyć do żądania reklam testowych. Został on specjalnie skonfigurowany tak, aby w odpowiedzi na każde żądanie zwracać reklamy testowe, a nie reklamy produkcyjne, dzięki czemu można go bezpiecznie używać.
Gdy zarejestrujesz aplikację w interfejsie internetowym Ad Managera i utworzysz własne identyfikatory jednostek reklamowych do użycia w aplikacji, podczas programowania wyraźnie skonfiguruj urządzenie jako urządzenie testowe.
/21775744923/example/rewarded
Inicjowanie Google Mobile Ads Unity Plugin
Zanim zaczniesz wczytywać reklamy, zainicjuj Google Mobile Ads Unity Plugin w aplikacji, wywołując funkcję
MobileAds.Initialize(). Należy to zrobić tylko raz, najlepiej przy uruchomieniu aplikacji.
using GoogleMobileAds;
using GoogleMobileAds.Api;
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
public void Start()
{
// Initialize Google Mobile Ads Unity Plugin.
MobileAds.Initialize((InitializationStatus initStatus) =>
{
// This callback is called once the MobileAds SDK is initialized.
});
}
}
Jeśli używasz mediacji, przed wczytaniem reklam poczekaj na wywołanie zwrotne. Dzięki temu wszystkie adaptery mediacji zostaną zainicjowane.
Wczytywanie reklamy z nagrodą
Wczytywanie reklamy z nagrodą odbywa się za pomocą statycznej metody Load() w klasie RewardedAd. Wczytany obiekt RewardedAd jest podawany jako parametr w procedurze obsługi zakończenia. Poniższy przykład wczytuje reklamę z nagrodą:
Zastąp AD_UNIT_ID identyfikatorem jednostki reklamowej.
[Opcjonalnie] Sprawdzanie poprawności wywołań zwrotnych weryfikacji po stronie serwera (SSV)
Aplikacje, które wymagają dodatkowych danych w wywołaniach zwrotnych weryfikacji po stronie serwera
, powinny korzystać z funkcji danych niestandardowych w reklamach z nagrodą.
Każda wartość ciągu znaków ustawiona w obiekcie reklamy z nagrodą jest przekazywana do parametru zapytania custom_data wywołania zwrotnego SSV. Jeśli nie ustawiono wartości danych niestandardowych, wartość parametru zapytania custom_data nie będzie obecna w wywołaniu zwrotnym SSV.
Poniższy przykładowy kod pokazuje, jak ustawić opcje SSV po wczytaniu reklamy z nagrodą.
Zastąp SAMPLE_CUSTOM_DATA_STRING swoimi danymi niestandardowymi.
Jeśli chcesz ustawić niestandardowy ciąg znaków nagrody, musisz to zrobić przed wyświetleniem reklamy.
i może wymagać dekodowania podczas analizowania wywołania zwrotnego SSV.Wyświetlanie reklamy z nagrodą z wywołaniem zwrotnym nagrody
Podczas wyświetlania reklamy musisz podać wywołanie zwrotne, które będzie obsługiwać nagrodę dla użytkownika. Reklamy można wyświetlać tylko raz na wczytanie. Aby sprawdzić, czy reklama jest gotowa do wyświetlenia, użyj metody CanShowAd().
Poniższy kod przedstawia najlepszą metodę wyświetlania reklamy z nagrodą.
if (rewardedAd != null && rewardedAd.CanShowAd())
{
rewardedAd.Show((Reward reward) =>
{
// The ad was showen and the user earned a reward.
});
}
Nasłuchiwanie zdarzeń reklamy z nagrodą
Aby jeszcze bardziej dostosować działanie reklamy, możesz podłączyć się do kilku zdarzeń w cyklu życia reklamy. Poniższy kod nasłuchuje zdarzeń reklamy:
rewardedAd.OnAdPaid += (AdValue adValue) =>
{
// Raised when the ad is estimated to have earned money.
};
rewardedAd.OnAdImpressionRecorded += () =>
{
// Raised when an impression is recorded for an ad.
};
rewardedAd.OnAdClicked += () =>
{
// Raised when a click is recorded for an ad.
};
rewardedAd.OnAdFullScreenContentOpened += () =>
{
// Raised when the ad opened full screen content.
};
rewardedAd.OnAdFullScreenContentClosed += () =>
{
// Raised when the ad closed full screen content.
};
rewardedAd.OnAdFullScreenContentFailed += (AdError error) =>
{
// Raised when the ad failed to open full screen content.
};
Zwalnianie miejsca po reklamie z nagrodą
Gdy skończysz korzystać z obiektu RewardedAd, przed usunięciem odwołania do niego wywołaj metodę Destroy():
if (rewardedAd != null)
{
rewardedAd.Destroy();
}
Informuje to wtyczkę, że obiekt nie jest już używany i można odzyskać zajmowaną przez niego pamięć. Niewywołanie tej metody powoduje wycieki pamięci.
Wstępne wczytywanie następnej reklamy z nagrodą
RewardedAd to obiekt jednorazowego użytku. Oznacza to, że po wyświetleniu reklamy z nagrodą nie można ponownie użyć obiektu. Aby poprosić o kolejną reklamę z nagrodą, musisz utworzyć nowy obiekt RewardedAd.
Aby przygotować reklamę z nagrodą na kolejną możliwość realizacji wyświetlenia, wstępnie wczytaj ją po wywołaniu zdarzenia reklamowego OnAdFullScreenContentClosed lub OnAdFullScreenContentFailed.
Dodatkowe materiały
- Przykład HelloWorld: minimalna implementacja wszystkich formatów reklam.