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
Unity w wersji 2017.4 lub nowszej.
Pobierz i zaimportuj wczesną kompilację wtyczki GMA Unity.
Ustaw identyfikator aplikacji AdMob w Edytor Unity.
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.
- Zakotwiczony baner adaptacyjny udostępnia kilka dodatkowych opcji:
- 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:
Utwórz funkcję zgodną z wywołaniem zwrotnym reklamy.
public void OnBannerAdFailedToLoad(string reason) { Debug.Log("Banner ad failed to load: " + reason); }
Dołącz skrypt zawierający powyższą funkcję do dowolnego obiektu GameObject w scena.
Kliknij przycisk +, a następnie przeciągnij & upuść dołączony obiekt GameObject. skrypt.
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:
Baner
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.
Baner
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ą.