Anzeigen-Placements

In diesem Leitfaden erfahren Sie, wie Sie mit dem Unity-Plug-in Placement-Funktion zum Erstellen und Schalten von Anzeigen für Ihre App

Vorbereitung

Google Mobile Ads SDK initialisieren

Initialisieren Sie das Mobile Ads SDK, bevor Sie Anzeigen laden. Rufen Sie dazu MobileAds.Initialize() mit einem Action<InitializationStatus>-Callback. Dieses muss nur einmal durchgeführt werden, idealerweise bei der Einführung der App.

using GoogleMobileAds.Api;
using System.Collections.Generic;
...
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
    ...
    public void Start()
    {
        // Initialize the Mobile Ads SDK.
        MobileAds.Initialize((initStatus) =>
        {
            // SDK initialization is complete
        });
        ...
    }
}

Anzeigen-Placements erstellen

Der erste Schritt zur Schaltung eines Banners bei Google Mobile Anzeigen besteht darin, um ein Anzeigen-Placement zu konfigurieren. Sie können ein Anzeigen-Placement auswählen, Interstitial-Anzeigen oder Anzeigen mit Prämie unter Assets > Google Mobile Anzeigen > Anzeige Placements aus. Drei Demo-Anzeigen-Placements eingerichtet und einsatzbereit.

Um ein neues Anzeigen-Placement hinzuzufügen, klicken Sie auf die Schaltfläche Neues Placement hinzufügen am Ende der auf der Liste. Sie können das Anzeigen-Placement in der Ansicht „Inspector“ konfigurieren.

Konfiguration des Anzeigen-Placements

Jedes Placement hat folgende Eigenschaften:

Placement-Name
Name des Placements. Werden verwendet, um Placements beim Einrichten von Anzeigen in einer Szene.
Anzeigenformat
Banner, Anzeigen mit Prämie, Interstitial Der Typ der Anzeige.
Anzeigenblock-ID
Geben Sie die ID des Banneranzeigenblocks für Android und iOS an. Sie müssen unter mindestens eine Anzeigenblock-ID.
Dauerhaft über alle Szenen hinweg
Wenn diese Option aktiviert ist, ist das Banner unabhängig von der Szenerie auf dem Bildschirm zu sehen. (das gleiche Verhalten wie DontDestroyOnLoad)
Automatisches Laden aktiviert
Wenn diese Option aktiviert ist, wird automatisch eine Anzeige geladen, wenn eine Szene wird das Anzeigen-Placement geladen.

Im folgenden Screenshot ist ein Beispiel für ein Anzeigen-Placement mit dem Namen My Awesome-Banner.

AdGameObject zur Szene hinzufügen

Sie können ein AdGameObject für Banner-, Interstitial- oder Anzeigen mit Prämie mit GameObject > Google Mobile Ads aus. Wählen Sie das um der aktiven Szene ein Placement hinzuzufügen.

Sobald Sie ein AdGameObject zur Szene hinzugefügt haben, sehen Sie ein GameObject die die Anzeige in der Hierarchieansicht des Unity-Editors darstellt.

Sie können den Namen des Placements ändern, indem Sie den Namen des GameObjects ändern. selbst. Der folgende Screenshot zeigt ein Beispiel für ein AdGameObject Banneranzeige.

AdGameObject-Einstellungen

Sie können das AdGameObject in Ihrer Szene über den Inspector konfigurieren in den Einstellungen der Komponente Ad Game Object (Script) ansehen.

Anzeigen-Placement

Wählen Sie das Anzeigen-Placement aus der Drop-down-Liste der konfigurierten Placements aus. Die enthält nur Anzeigenblöcke für das richtige Format. Für eine Banneranzeige Spielobjekte erscheinen im Drop-down-Menü nur konfigurierte Banneranzeigen-Placements.

BannerAdGameObject-Konfiguration (nur Banner)

  • Größe: Wählen Sie die Größe des Banners aus, das Sie verwenden möchten.
    • Für das verankerte adaptive Banner sind weitere Optionen verfügbar: <ph type="x-smartling-placeholder">
        </ph>
      • Ausrichtung: Hier können Sie die Ausrichtung des Geräts auswählen, das für die Berechnung der Anzeige verwendet wird. Höhe.
      • Vollbildbreite verwenden: Wenn diese Option aktiviert ist, nimmt das Banner die gesamte Bildschirmbreite aus. Sie können die Breite des Bildschirms (50–99 %) anpassen, wenn entfernen Sie das Häkchen bei der Option Vollbildbreite verwenden.
    • Bei Benutzerdefiniert können Sie Breite und Höhe des Banners festlegen.
  • Anzeigenposition: Wählen Sie die Position aus, an der das Banner platziert werden soll.

Callbacks

Sie können Funktionen implementieren, die Anzeigen-Callbacks entsprechen. Wenn beispielsweise wenn eine Banneranzeige nicht geladen werden kann:

  1. Erstellen Sie eine Funktion, die mit dem Anzeigen-Callback kompatibel ist.

    public void OnBannerAdFailedToLoad(string reason) {
        Debug.Log("Banner ad failed to load: " + reason);
    }
    
  2. Hängen Sie das Skript, das die obige Funktion enthält, an ein beliebiges GameObject im Szene.

  3. Klicken Sie auf die Schaltfläche +, ziehen Sie dann das angehängte GameObject ablegen an das Skript.

  4. Wählen Sie die Funktion aus, die Sie mit dem Anzeigen-Callback verknüpfen möchten. Für die parametrisierte Anzeigenrückrufe verwenden, wählen Sie die Funktion aus, um den Parameterwert aus dem SDK abzurufen.

AdGameObject aus Skript verwenden

AdGameObject-Instanz aus dem Skript abrufen

Alle AdGameObject-Objekte haben die praktische Methode LoadAd(). Diese wird geladen eine Anzeige mit einer einfachen AdRequest ohne Ausrichtung. Um Targeting anzuwenden, LoadAd(AdRequest adRequest) mit Ihrer eigenen konfigurierten Anzeigenanfrage.

Verwenden Sie zum Abrufen der Instanz eines AdGameObject die folgende Methode für jedes Format:

MobileAds.Instance.GetAd<BannerAdGameObject>("AD_GAMEOBJECT_NAME");

Das zurückgegebene BannerAdGameObject-Objekt verfügt auch über praktische Methoden. Hide() und Show().

Interstitial

MobileAds.Instance.GetAd<InterstitialAdGameObject>("AD_GAMEOBJECT_NAME");

Für das zurückgegebene InterstitialAdGameObject-Objekt ist eine praktische Methode vorhanden. ShowIfLoaded().

Verfügbar

MobileAds.Instance.GetAd<RewardedAdGameObject>("AD_GAMEOBJECT_NAME");

Für das zurückgegebene RewardedAdGameObject-Objekt ist eine praktische Methode vorhanden. ShowIfLoaded().

Sie können z. B. eine BannerAdGameObject-Instanz abrufen und so laden: folgt:

using UnityEngine;

using GoogleMobileAds.Api;
using GoogleMobileAds.Placement;

public class BannerTestScript : MonoBehaviour
{
    BannerAdGameObject bannerAd;

    void Start()
    {
        bannerAd = MobileAds.Instance
            .GetAd<BannerAdGameObject>("AD_GAMEOBJECT_NAME");

        bannerAd.LoadAd();
        ...
    }
    ...
}

Gibt es eine BannerAdGameObject namens BannerAd, können Sie eine Instanz von so:

MobileAds.Instance.GetAd<BannerAdGameObject>("BannerAd");

Auf das zugrunde liegende Anzeigenobjekt in AdGameObject zugreifen

Diese Snippets veranschaulichen, wie auf das zugrunde liegende Anzeigenobjekt zugegriffen wird, das mit dem AdGameObject erstellen.

BannerAdGameObject bannerAd = MobileAds.Instance
    .GetAd<BannerAdGameObject>("AD_GAMEOBJECT_NAME");

// Access BannerView object
BannerView bannerView = bannerAd.BannerView;

Interstitial

InterstitialAdGameObject interstitialAdGameObject = MobileAds.Instance
    .GetAd<InterstitialAdGameObject>("AD_GAMEOBJECT_NAME");

// Access InterstitialAd object
InterstitialAd interstitialAd = interstitialAdGameObject.InterstitialAd;

Verfügbar

RewardedAdGameObject rewardedAdGameObject = MobileAds.Instance
    .Get<RewardedAdGameObject>("AD_GAMEOBJECT_NAME");

// Access RewardedAd object
RewardedAd rewardedAd = rewardedAdGameObject.RewardedAd;

Beispiele

Interstitial-Anzeige einblenden

Hier sehen Sie ein Beispiel für die Konfiguration eines Spiels zum Laden und Einblenden einer Interstitial-Anzeige AdGameObject verwenden.

Fügen Sie ein InterstitialAdGameObject zur Szene hinzu und aktivieren Sie die Funktion Automatisches Laden aktiviert, damit die Anzeige automatisch geladen wird, wenn die Szene geladen wird.

Stellen Sie anschließend sicher, dass Sie das SDK wie folgt initialisiert haben: Beachten Sie, dass das Feld Automatisch Load in AdGameObject funktioniert nicht, wenn Sie vergessen, die SDK.

Schalten Sie dann zwischen einem Bildschirmübergang eine Interstitial-Anzeige, indem Sie die Methode InterstitialAdGameObject.ShowIfLoaded(). Der folgende Code zeigt ein Beispiel für die Auslieferung einer Interstitial-Anzeige zwischen einem Szenenübergang.

using UnityEngine;
using UnityEngine.SceneManagement;

using GoogleMobileAds.Api;
using GoogleMobileAds.Placement;

public class MainScene : MonoBehaviour
{
    InterstitialAdGameObject interstitialAd;

    void Start()
    {
        interstitialAd = MobileAds.Instance
            .GetAd<InterstitialAdGameObject>("interstitial");

        MobileAds.Initialize((initStatus) => {
            Debug.Log("Initialized MobileAds");
        });
    }

    public void OnClickShowGameSceneButton()
    {
        // Display an interstitial ad
        interstitialAd.ShowIfLoaded();

        // Load a scene named "GameScene"
        SceneManager.LoadScene("GameScene");
    }
}

Da Sie die Funktion Automatisches Laden im Anzeigen-Placement aktiviert haben, explizit eine Anzeige anfordern müssen. Wenn sich die Szene ändert, wird eine Interstitial-Anzeige wird angezeigt, sobald einer bereit ist.

Wenn Sie eine Anzeige manuell anfordern möchten, deaktivieren Sie die Funktion Automatisches Laden unter das Anzeigen-Placement-Prüftool und rufen die InterstitialAdGameObject.LoadAd() . Das folgende Code-Snippet zeigt, wie Sie Anzeige.

public class MainScene : MonoBehaviour
{
    InterstitialAdGameObject interstitialAd;

    void Start()
    {
        interstitialAd = MobileAds.Instance
            .GetAdGameObject<InterstitialAdGameObject>("interstitial");

        MobileAds.Initialize((initStatus) => {
            Debug.Log("MobileAds initialized");

            // Load an interstitial ad after the SDK initialization is complete
            interstitialAd.LoadAd();
        });
    }
    ...
}

Umgang mit „Anzeigen mit Prämie ansehen“ Schaltflächenstatus

Hier ist ein Beispiel für die Aktivierung von „Anzeigen mit Prämie ansehen“. auf die Schaltfläche Placements.

Fügen Sie der Szene ein Button-GameObject (in diesem Beispiel Button) hinzu. für die Auslieferung einer Anzeige mit Prämie verwendet. Diese Schaltfläche wird nur Anzeige mit Prämie verfügbar.

Ändern Sie in der Methode Start() den aktiven Status der Schaltfläche in false. Dieses verschwindet die Schaltfläche aus der Szene.

public class MainScene : MonoBehaviour
{
    ...
    void Start()
    {
        GameObject.Find("Button").SetActive(false);
        ...
    }
}

Fügen Sie ein RewardedAdGameObject hinzu und wählen Sie die Option AdMob-Demo mit Prämie mit Prämie aus. Anzeigen-Placement aus.

Klicken Sie im RewardedAdGameObject-Inspector im Abschnitt „Callbacks“ (Callbacks) auf die Schaltfläche + von On Ad Loaded(), um zu aktivieren, dass die Funktion aufgerufen wird wenn eine Anzeige mit Prämie geladen wird.

Ziehen Sie das Button-GameObject, das Sie im vorherigen Schritt hinzugefügt haben, per Drag-and-drop Das Feld None (Object) (Keine (Objekt)) Wählen Sie im Drop-down-Menü die Funktion aus, die aufgerufen werden soll. Klicken Sie auf Keine Funktion > GameObject > SetActive(bool) ein und klicken Sie das Kästchen an, wird true als Parameter gesendet (SetActive(true)).

In diesem Bereich „Callbacks“ können Sie auch ein Ereignis verknüpfen, das aufgerufen wird wenn das RewardedAd.OnUserEarnedReward-Ereignis ausgelöst wird. Weitere Informationen finden Sie in diesem Abschnitt.

Erstellen Sie als Nächstes die Schaltfläche, mit der eine Anzeige mit Prämie eingeblendet wird, wenn der Nutzer darauf klickt. Wählen Sie im Feld An Click() im Schaltflächenprüftool auf die Schaltfläche + und Ziehen Sie das GameObject namens Anzeigen mit Prämie (Beispiel) in das Feld None (Object) (Keine (Objekt)) hinzu.

Fügen Sie dann die RewardedAdGameObject.ShowIfLoaded()-Funktion an das On Click()-Rückruf.

Vergessen Sie nicht, das SDK zu initialisieren. Das folgende Code-Snippet enthält vollständigen Code für die in diesem Beispiel verwendete Szene:

using UnityEngine;

using GoogleMobileAds.Api;

public class MainScene : MonoBehaviour
{
    void Start()
    {
        GameObject.Find("Button").SetActive(false);

        MobileAds.Initialize((initStatus) => {
            Debug.Log("Initialized MobileAds");
        });
    }
}

Sobald Sie das Projekt ausgeführt haben, wird die Schaltfläche in der Szene angezeigt, Die Anzeige mit Prämie wurde geladen und kann ausgeliefert werden.

Prämien-Callback für ein RewardAdGameObject konfigurieren

Hier sehen Sie ein Beispiel für die Konfiguration eines Callbacks mit Prämie für eine Anzeige mit Prämie -Placement, sodass Sie einem Nutzer eine Belohnung schenken können, wenn eine Callback-Funktion aufgerufen.

Erstellen Sie ein neues Skript und definieren Sie eine Funktion, die Reward als Parameter akzeptiert wie im Folgenden beschrieben.

using UnityEngine;
using GoogleMobileAds.Api;

class RewardedTestScript : MonoBehaviour {
    ...
    public void OnUserEarnedReward(Reward reward) {
        Debug.Log("OnUserEarnedReward: reward=" +
            reward.Type + ", amount=" + reward.Amount);
    }
    ...
}

RewardedTestScript-Skript an ein GameObject (außer dem Ad-Server) anhängen Placement GameObject) in der Szene platziert werden. In diesem Beispiel ist er am Haupt- Camera GameObject aus.

Füge der Szene ein RewardedAdGameObject hinzu. Im Bereich „Callbacks“ (Callbacks) Klicken Sie im RewardedAdGameObject-Inspector auf die Schaltfläche + für Auf Nutzer Erzielte Prämie (Prämie), damit die Funktion aufgerufen werden kann, wenn eine Prämie die einem Nutzer zugewiesen wurden.

Ziehen Sie das Hauptkamera-GameObject, das Sie im vorherigen Schritt hinzugefügt haben, in das Feld None (Object) (Keine (Objekt)) hinzu. Wählen Sie eine Funktion aus der aus. Klicken Sie auf Keine Funktion > RewardTestScript > OnUserEarnedPrämie.

Sobald Sie das Projekt durchgeführt und eine Anzeige mit Prämie angesehen haben, RewardedTestScript.OnUserEarnedReward() wird aufgerufen, wenn Sie für die Interaktion mit der Anzeige belohnt werden.