Miejsca docelowe reklam

Z tego przewodnika dowiesz się, jak korzystać z reklamy wtyczki Google Mobile do reklam mobilnych Unity Miejsca docelowe, za pomocą których możesz tworzyć i wyświetlać reklamy aplikacji.

Wymagania wstępne

Zainicjowanie pakietu SDK do reklam mobilnych Google

Przed wczytaniem reklam zainicjuj pakiet SDK do reklam mobilnych, wywołując MobileAds.Initialize() z wywołaniem zwrotnym Action<InitializationStatus>. Ten wystarczy zrobić tylko raz, najlepiej podczas uruchamiania aplikacji.

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
        });
        ...
    }
}

Tworzenie miejsc docelowych reklam

Pierwszym krokiem do wyświetlenia banera z reklamami mobilnymi Google jest utworzenie skonfigurować miejsce docelowe reklamy. Jako miejsce docelowe reklamy możesz wybrać baner, Reklama pełnoekranowa lub reklama z nagrodą w sekcji Zasoby > Reklamy mobilne Google > Reklama Miejsca docelowe w edytorze Unity. Następnie znajdują się 3 miejsca docelowe reklamy demonstracyjnej skonfigurowany i gotowy do użycia.

Aby dodać nowe miejsce docelowe reklamy, kliknij przycisk Dodaj nowe miejsce docelowe na końcu listę. Miejsce docelowe reklamy możesz skonfigurować w widoku inspektora.

Konfiguracja miejsca docelowego reklamy

Każde miejsce docelowe ma te właściwości:

Nazwa miejsca docelowego
Nazwa miejsca docelowego. Służy do identyfikowania miejsc docelowych podczas konfigurowania reklam w
Format reklamy
Baner, reklama z nagrodą, reklama pełnoekranowa Typ reklamy.
Identyfikator jednostki reklamowej
Podaj identyfikator jednostki z banerem reklamowym na Androida i iOS. Musisz podać co najmniej jeden identyfikator jednostki reklamowej.
Trwała we wszystkich kulisach
Gdy ta opcja jest zaznaczona, baner będzie widoczny na ekranie niezależnie od sceny zmian (to samo działanie co DontDestroyOnLoad).
Automatyczne wczytywanie włączone
Gdy ta opcja jest zaznaczona, reklama zostanie wczytana automatycznie, gdy scena powiązana z miejsce docelowe reklamy zostało wczytane.

Poniższy zrzut ekranu przedstawia przykład miejsca docelowego reklamy o nazwie Mój niesamowity baner

Dodawanie obiektu AdGameObject do sceny

Możesz dodać AdGameObject w przypadku formatu banera, reklamy pełnoekranowej lub reklamy z nagrodą do scenę przy użyciu GameObject > reklam mobilnych Google w Edytorze Unity. Wybierz aby dodać miejsce docelowe do aktywnej sceny.

Po dodaniu obiektu AdGameObject do sceny zobaczysz obiekt GameObject, reprezentujący reklamę w widoku hierarchii w Edytorze Unity.

Możesz zmienić nazwę miejsca docelowego, zmieniając nazwę obiektu GameObject. Poniższy zrzut ekranu przedstawia przykład AdGameObject Baner reklamowy.

Ustawienia AdGameObject

Możesz skonfigurować AdGameObject w scenie, korzystając z inspektora w ustawieniach komponentu Obiekt gry reklamowej (skrypt).

Miejsce docelowe reklamy

Wybierz miejsce docelowe reklamy z listy skonfigurowanych miejsc docelowych. będzie zawierać tylko jednostki reklamowe w odpowiednim formacie. Na przykład w przypadku banera reklamowego obiekt w grze.

Konfiguracja BannerAdGameObject (tylko baner)

  • Rozmiar – wybierz rozmiar banera, którego chcesz użyć.
    • Zakotwiczony baner adaptacyjny udostępnia kilka dodatkowych opcji:
      • Orientacja – wybierz orientację urządzenia używaną do obliczenia reklamy. wysokość.
      • Użyj szerokości na pełnym ekranie – po zaznaczeniu tej opcji baner będzie zajmował. całą szerokość ekranu. Możesz dostosować procent szerokości ekranu (50~99%), jeśli odznacz opcję Użyj szerokości pełnoekranowej.
    • Niestandardowy umożliwia podanie szerokości i wysokości banera.
  • Pozycja reklamy – wybierz miejsce, w którym ma być umieszczony baner.

Wywołania zwrotne

Możesz zaimplementować funkcje, które odpowiadają wywołaniom zwrotnym reklamy. Na przykład, jeśli ma działać w przypadku, gdy nie uda się wczytać banera reklamowego:

  1. Utwórz funkcję zgodną z wywołaniem zwrotnym reklamy.

    public void OnBannerAdFailedToLoad(string reason) {
        Debug.Log("Banner ad failed to load: " + reason);
    }
    
  2. Dołącz skrypt zawierający powyższą funkcję do dowolnego obiektu GameObject w scena.

  3. Kliknij przycisk +, a następnie przeciągnij & upuść dołączony obiekt GameObject. skrypt.

  4. Wybierz funkcję, którą chcesz połączyć z wywołaniem zwrotnym reklamy. W przypadku atrybutu w wywołaniach zwrotnych reklam z parametrami, wybierz funkcję, która akceptuje dynamiczne , co pozwala pobrać wartość parametru z pakietu SDK.

Użyj AdGameObject ze skryptu

Pobierz wystąpienie AdGameObject ze skryptu

Wszystkie obiekty AdGameObject korzystają z wygodnej metody LoadAd(). Spowoduje to wczytanie reklamę z zwykłym, niekierowanym AdRequest. Aby zastosować kierowanie, należy użyć: LoadAd(AdRequest adRequest) za pomocą własnego skonfigurowanego żądania reklamy.

Aby uzyskać wystąpienie AdGameObject, w przypadku każdego formatu użyj następującej metody:

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

Zwrócony obiekt BannerAdGameObject również oferuje wygodne metody Hide() i Show().

Pełnoekranowa

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

Zwrócony obiekt InterstitialAdGameObject ma wygodną metodę ShowIfLoaded()

Z nagrodą

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

Zwrócony obiekt RewardedAdGameObject ma wygodną metodę ShowIfLoaded()

Na przykład można pobrać instancję BannerAdGameObject i wczytać ją jako następujące:

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();
        ...
    }
    ...
}

Jeśli występuje BannerAdGameObject o nazwie BannerAd, możesz uzyskać wystąpienie w następujący sposób:

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

Dostęp do bazowego obiektu reklamy w AdGameObject

Te fragmenty kodu pokazują, jak uzyskać dostęp do powiązanego obiektu reklamy za pomocą AdGameObject.

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

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

Pełnoekranowa

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

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

Z nagrodą

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

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

Przykłady

Wyświetlanie reklamy pełnoekranowej

Oto przykład konfiguracji gry, która wczytuje i wyświetla reklamę pełnoekranową za pomocą obiektu AdGameObject.

Dodaj do sceny InterstitialAdGameObject i włącz Automatyczne wczytywanie Aktywna, dzięki czemu reklama jest wczytywana automatycznie po wczytaniu sceny.

Następnie upewnij się, że pakiet SDK został zainicjowany w następujący sposób. Pamiętaj, że kolumna Auto Funkcja Load w AdGameObject nie będzie działać, jeśli zapomnisz zainicjować SDK.

Następnie wyświetlaj reklamę pełnoekranową między przejściami ekranu, wywołując metodę InterstitialAdGameObject.ShowIfLoaded(). Poniższy kod zawiera przykład wyświetlania reklamy pełnoekranowej między przejściem sceny.

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");
    }
}

Masz włączoną funkcję automatycznego wczytywania w miejscu docelowym reklamy, bezpośrednio zażądać reklamy. Gdy scena się zmieni, pojawi się pojawiają się, jeśli jest gotowa.

Jeśli chcesz ręcznie wysłać żądanie reklamy, wyłącz funkcję Automatyczne wczytywanie na stronie inspektora miejsc docelowych reklamy i wywołać metodę InterstitialAdGameObject.LoadAd() . Fragment kodu poniżej pokazuje, jak ręcznie wysłać żądanie reklama.

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();
        });
    }
    ...
}

Obsługa polecenia „Obejrzyj reklamę z nagrodą” stan przycisku

Oto przykład, jak włączyć funkcję „Obejrzyj reklamę z nagrodą” za pomocą reklamy, miejsc docelowych.

Dodaj do sceny obiekt Button GameObject (w tym przykładzie nazwany Button), który zostanie użyty do wyświetlenia reklamy z nagrodą. Ten przycisk będzie dostępny tylko gdy jest dostępna reklama z nagrodą.

W metodzie Start() zmień aktywny stan przycisku na false. Ten spowoduje, że przycisk zniknie ze sceny.

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

Dodaj do sceny identyfikator RewardedAdGameObject i wybierz AdMob Demo Reklama z nagrodą Reklama Miejsce docelowe reklamy z menu.

W sekcji Wywołania zwrotne w inspektorze RewardedAdGameObject kliknij przycisk + z funkcji On Ad Loaded(), by włączyć wywołanie tej funkcji po wczytaniu reklamy z nagrodą.

Przeciągnij i upuść obiekt GameObject dodany w poprzednim kroku, w polu None (Object) (Brak – obiekt). Wybierz z menu funkcję, która ma zostać wywołana. Kliknij Brak funkcji > GameObject > SetActive(bool), a następnie kliknij pole wyboru, wysyła jako parametr true (wywołuje funkcję SetActive(true)).

W tej sekcji Wywołania zwrotne możesz też utworzyć zdarzenie o nazwie po wywołaniu zdarzenia RewardedAd.OnUserEarnedReward. Aby dowiedzieć się więcej, przeczytaj tę sekcję.

Następnie skonfiguruj przycisk, aby po kliknięciu wyświetlać reklamę z nagrodą. Źródło: Click() w inspektorze przycisków kliknij przycisk + i przeciągnij i upuść obiekt GameObject reklamy z nagrodą (o nazwie Reklama z nagrodą, przykład) do pola None (Object) (Brak – obiekt).

Następnie dołącz funkcję RewardedAdGameObject.ShowIfLoaded() do tagu przycisku Po wywołaniu Click().

Na koniec nie zapomnij zainicjować pakietu SDK. Następujący fragment kodu jest pełny kod sceny użytej w tym przykładzie:

using UnityEngine;

using GoogleMobileAds.Api;

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

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

Po uruchomieniu projektu zobaczysz przycisk wyświetlany na scenie, gdy reklama z nagrodą została wczytana i jest gotowa do wyświetlenia.

Konfigurowanie wywołania zwrotnego nagrody dla obiektu NagrodaAdGameObject

Oto przykład konfiguracji wywołania zwrotnego do reklamy z nagrodą miejsce docelowe. Dzięki temu możesz przyznać użytkownikowi nagrodę, gdy funkcja wywołania zwrotnego .

Utwórz nowy skrypt i zdefiniuj funkcję, która akceptuje Reward jako parametr w następujący sposób.

using UnityEngine;
using GoogleMobileAds.Api;

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

Dołącz skrypt RewardedTestScript do dowolnego obiektu GameObject (z wyjątkiem reklamy) umieść GameObject). W tym przykładzie jest on połączony z główną Obiekt GameObject kamery.

Dodaj do sceny: RewardedAdGameObject. Następnie w sekcji Wywołania zwrotne w inspektorze RewardedAdGameObject kliknij przycisk + na stronie Użytkownik Zdobyta nagroda (nagroda), aby umożliwić wywołanie funkcji po przyznaniu nagrody dane użytkownikowi.

Przeciągnij i upuść obiekt główny kamery głównej dodany w poprzednim kroku przejdź do pola None (Object) (Brak – obiekt). Wybierz funkcję, która ma zostać wywołana z poziomu . Kliknij Brak funkcji > NagrodyTestScript > OnUserRevenueed Rewards.

Po uruchomieniu projektu i obejrzeniu reklamy z nagrodą Funkcja RewardedTestScript.OnUserEarnedReward() zostanie wywołana, gdy masz za interakcję z reklamą.