Anzeigen mit Prämie sind Anzeigen, mit denen Nutzer interagieren können, um In-App-Prämien zu erhalten. In diesem Leitfaden erfahren Sie, wie Sie Anzeigen mit Prämie aus AdMob in eine Unity-App einbinden.
In diesem Leitfaden wird beschrieben, wie Sie Anzeigen mit Prämie in eine Unity-App einbinden.
Vorbereitung
Bevor Sie fortfahren, richten Sie Google Mobile Ads Unity Plugin ein.
Immer mit Testanzeigen testen
Der folgende Beispielcode enthält eine Anzeigenblock-ID, mit der Sie Testanzeigen anfordern können. Sie ist speziell so konfiguriert, dass für jede Anfrage Testanzeigen anstelle von Produktionsanzeigen zurückgegeben werden. Sie kann also bedenkenlos verwendet werden.
Nachdem Sie eine App in der Ad Manager-Weboberfläche registriert und eigene Anzeigenblock-IDs für die Verwendung in Ihrer App erstellt haben, sollten Sie Ihr Gerät während der Entwicklung explizit als Testgerät konfigurieren.
/21775744923/example/interstitial
Google Mobile Ads Unity Plugin initialisieren
Bevor Sie Anzeigen laden, muss Ihre App Google Mobile Ads Unity Plugin durch Aufrufen von MobileAds.Initialize() initialisieren. Dies muss nur einmal erfolgen, idealerweise beim Start der App.
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.
});
}
}
Wenn Sie die Vermittlung verwenden, warten Sie, bis der Callback erfolgt, bevor Sie Anzeigen laden. So wird sichergestellt, dass alle Vermittlungsadapter initialisiert sind.
Anzeige mit Prämie laden
Anzeigen mit Prämie werden mit der statischen Methode Load() der Klasse RewardedAd geladen. Das geladene RewardedAd-Objekt wird als Parameter im Abschluss-Handler bereitgestellt. Im folgenden Beispiel wird eine Anzeige mit Prämie geladen:
Ersetzen Sie AD_UNIT_ID durch die ID Ihres Anzeigenblocks.
[Optional] Serverseitige Überprüfung (SSV) von Callbacks validieren
Apps, die zusätzliche Daten in Callbacks für die serverseitige Überprüfung benötigen, sollten die Funktion für benutzerdefinierte Daten von Anzeigen mit Prämie verwenden.
Alle Stringwerte, die für ein Objekt einer Anzeige mit Prämie festgelegt sind, werden an den Suchparameter custom_data des SSV-Callbacks übergeben. Wenn kein benutzerdefinierter Datenwert festgelegt ist, ist der Wert des Abfrageparameters custom_data im SSV-Callback nicht vorhanden.
Im folgenden Codebeispiel wird gezeigt, wie Sie die SSV-Optionen festlegen, nachdem die Anzeige mit Prämie geladen wurde.
Ersetzen Sie SAMPLE_CUSTOM_DATA_STRING durch Ihre benutzerdefinierten Daten.
Wenn Sie den benutzerdefinierten String für die Prämie festlegen möchten, müssen Sie dies vor der Auslieferung der Anzeige tun.
Anzeige mit Prämie mit Prämien-Callback einblenden
Wenn Sie Ihre Anzeige präsentieren, müssen Sie einen Callback bereitstellen, um die Prämie für den Nutzer zu verarbeiten. Anzeigen können nur einmal pro Ladevorgang ausgeliefert werden. Verwenden Sie die Methode CanShowAd(), um zu prüfen, ob die Anzeige bereit für die Auslieferung ist.
Der folgende Code zeigt die beste Methode zum Anzeigen einer Anzeige mit Prämie.
if (rewardedAd != null && rewardedAd.CanShowAd())
{
rewardedAd.Show((Reward reward) =>
{
// The ad was showen and the user earned a reward.
});
}
Auf Ereignisse von Anzeigen mit Prämie warten
Wenn Sie das Verhalten Ihrer Anzeige weiter anpassen möchten, können Sie eine Reihe von Ereignissen im Lebenszyklus der Anzeige nutzen. Mit dem folgenden Code wird auf Anzeigenereignisse gewartet:
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.
};
Anzeige mit Prämie bereinigen
Wenn Sie mit einer RewardedAd fertig sind, rufen Sie die Methode Destroy() auf, bevor Sie die entsprechende Referenz löschen:
if (rewardedAd != null)
{
rewardedAd.Destroy();
}
Dadurch wird das Plug-in darüber informiert, dass das Objekt nicht mehr verwendet wird und der belegte Speicherplatz freigegeben werden kann. Wenn diese Methode nicht aufgerufen wird, kommt es zu Speicherlecks.
Nächste Anzeige mit Prämie vorab laden
RewardedAd ist ein Einmalobjekt. Das bedeutet, dass das Objekt nicht noch einmal verwendet werden kann, nachdem eine Anzeige mit Prämie ausgeliefert wurde. Wenn Sie eine weitere Anzeige mit Prämie anfordern möchten, müssen Sie ein neues RewardedAd-Objekt erstellen.
Wenn Sie eine Anzeige mit Prämie für die nächste Impressionsmöglichkeit vorbereiten möchten, laden Sie sie vor, sobald das Anzeigenereignis OnAdFullScreenContentClosed oder OnAdFullScreenContentFailed ausgelöst wird.
Zusätzliche Ressourcen
- HelloWorld-Beispiel: Eine minimale Implementierung aller Anzeigenformate.