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.
Przeczytaj historie sukcesu klientów: studium przypadku 1, studium przypadku 2.Z tego przewodnika dowiesz się, jak zintegrować reklamy z nagrodą z aplikacją Unity.
Wymagania wstępne
- Zapoznaj się z przewodnikiem dla początkujących.
Zawsze testuj za pomocą reklam testowych
Poniższy przykładowy kod zawiera identyfikator jednostki reklamowej, którego możesz użyć do wysyłania żądań reklam testowych. Został on specjalnie skonfigurowany tak, aby w przypadku każdego żądania zwracać reklamy testowe zamiast reklam produkcyjnych, dzięki czemu jest bezpieczny w użyciu.
Gdy jednak zarejestrujesz aplikację w interfejsie internetowym AdMob i utworzysz własne identyfikatory jednostek reklamowych do użycia w aplikacji, podczas tworzenia aplikacji skonfiguruj urządzenie jako urządzenie testowe.
Android
ca-app-pub-3940256099942544/5224354917
iOS
ca-app-pub-3940256099942544/1712485313
Inicjowanie pakietu SDK do reklam mobilnych
Przed wczytaniem reklam aplikacja musi zainicjować pakiet SDK do reklam mobilnych Google, wywołując funkcję
MobileAds.Initialize(). Należy to zrobić tylko raz, najlepiej przy uruchamianiu aplikacji.
using GoogleMobileAds;
using GoogleMobileAds.Api;
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
public void Start()
{
// Initialize Google Mobile Ads SDK.
MobileAds.Initialize((InitializationStatus initStatus) =>
{
// This callback is called once the MobileAds SDK is initialized.
});
}
}
Jeśli używasz zapośredniczenia, przed wczytaniem reklam poczekaj na wywołanie zwrotne, ponieważ dzięki temu wszystkie adaptery zapośredniczenia zostaną zainicjowane.
Wczytywanie reklamy z nagrodą
Reklamę z nagrodą wczytuje się za pomocą statycznej metody Load() w klasie RewardedAd. Załadowany obiekt RewardedAd jest podawany jako parametr w module obsługi zakończenia. Poniższy przykład pokazuje wczytywanie reklamy z nagrodą:
Zastąp AD_UNIT_ID identyfikatorem jednostki reklamowej.
[Opcjonalnie] Weryfikowanie wywołań zwrotnych weryfikacji po stronie serwera
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_datawywołania zwrotnego SSV. Jeśli nie ustawisz 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.
Wyświetlanie reklamy z nagrodą z wywołaniem zwrotnym nagrody
Podczas wyświetlania reklamy musisz podać wywołanie zwrotne, które obsłuży nagrodę dla użytkownika. Reklamy mogą być wyświetlane tylko raz na jedno wczytanie. Użyj metody CanShowAd(), aby sprawdzić, czy reklama jest gotowa do wyświetlania.
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ń związanych z reklamami z nagrodą
Aby jeszcze bardziej dostosować działanie reklamy, możesz wykorzystać szereg zdarzeń w jej cyklu życia. Ten kod nasłuchuje zdarzeń związanych z reklamami:
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.
};
Oczyszczanie reklamy z nagrodą
Gdy skończysz korzystać z 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ęć. Jeśli nie wywołasz tej metody, może dojść do wycieku pamięci.
Wstępne wczytywanie następnej reklamy z nagrodą
RewardedAd jest obiektem 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ść wyświetlenia, wstępnie wczytaj ją po wystąpieniu zdarzenia reklamy OnAdFullScreenContentClosed lub OnAdFullScreenContentFailed.
Dodatkowe materiały
- Przykład HelloWorld: minimalna implementacja wszystkich formatów reklam.