Z tego przewodnika dowiesz się, jak używać pakietu Google Mobile Ads Flutter Plugin do wczytywania i wyświetlania reklam z Unity Ads za pomocą zapośredniczenia, które obejmuje integracje z określaniem stawek i kaskadowe. Dowiesz się, jak dodać Unity Ads do konfiguracji zapośredniczenia jednostki reklamowej oraz jak zintegrować pakiet SDK do wyświetlania reklam i adapter Unity Ads z aplikacją Flutter.
Obsługiwane integracje i formaty reklam
Adapter zapośredniczenia Ad Managera do Unity Ads ma te możliwości:
| Integracja | |
|---|---|
| Określanie stawek | |
| Kaskada | 1 |
| Formaty | |
| Baner | |
| Pełnoekranowa | |
| Z nagrodą | |
Wymagania wstępne
Zanim przejdziesz dalej, sprawdź te kwestie:
- Najnowsza wersja Google Mobile Ads Flutter Plugin.
- Flutter w wersji 3.7.0 lub nowszej.
- [W przypadku określania stawek]: aby zintegrować wszystkie obsługiwane formaty reklam w ramach określania stawek, użyj wtyczki do zapośredniczenia reklam mobilnych Google w Unity Ads w wersji 1.1.0 lub nowszej (zalecamy najnowszą wersję).
- To deploy on Android
- Android z interfejsem API na poziomie 24 lub wyższym.
- Aby wdrożyć na iOS:
- iOS w wersji 13.0 lub nowszej.
- Działający projekt Flutter skonfigurowany za pomocą Google Mobile Ads Flutter Plugin. Szczegółowe informacje znajdziesz w artykule Konfigurowanie Google Mobile Ads Flutter Plugin.
Krok 1. Skonfiguruj ustawienia w interfejsie Unity Ads
Zarejestruj się lub zaloguj się w Unity Ads.
Utwórz projekt
W panelu Unity Ads kliknij kolejno Projects (Projekty) i New (Nowy).

Wypełnij formularz i kliknij Utwórz, aby dodać projekt.

Przejdź do Unity Ads Monetization i kliknij Rozpocznij.

W oknie New Project (Nowy projekt) wybierz I will use Mediation (Będę używać zapośredniczenia) i Google AdMob jako Mediation Partner (Partner zapośredniczenia), a następnie kliknij Next (Dalej).

Wybierz opcję ustawień reklam, a następnie kliknij Dalej.

Wybierz konfigurację miejsca docelowego, a następnie kliknij Dalej.
Określanie stawek

Kaskada

Wypełnij formularz i kliknij Dodaj projekt.

Zanotuj identyfikator gry.

Tworzenie jednostek reklamowych i miejsc docelowych
Kliknij kolejno Unity Ads Monetization (Zarabianie na reklamach Unity) > Placements (Miejsca docelowe), a następnie wybierz projekt i kliknij Add ad unit (Dodaj jednostkę reklamową).

Wpisz nazwę jednostki reklamowej, a następnie wybierz platformę i format reklamy.
Android

iOS

Kliknij kolejno Zarabianie > Miejsca docelowe, a następnie Dodaj jednostkę reklamową.

Wpisz nazwę jednostki reklamowej, a następnie wybierz platformę i format reklamy.
Android

iOS

W sekcji Konfiguracja wybierz Kaskada. W sekcji Miejsce docelowe wpisz Nazwę miejsca docelowego, Tagowanie geograficzne i Cel.

Zanotuj identyfikator miejsca docelowego.
Na koniec kliknij Dodaj jednostkę reklamową, aby zapisać jednostkę reklamową i miejsce docelowe.
Znajdowanie klucza interfejsu API raportowania Unity Ads
Określanie stawek
Ten krok nie jest wymagany w przypadku integracji z określaniem stawek.
Kaskada
Otwórz Unity Ads Monetization (Zarabianie na reklamach Unity) > API management (Zarządzanie interfejsami API) i zapisz klucz interfejsu API w sekcji Monetization Stats API Access (Dostęp do interfejsu API statystyk zarabiania).

Następnie kliknij Unity Ads Monetization (Zarabianie na reklamach Unity) > Organization Settings (Ustawienia organizacji) i zanotuj Organization core ID (Identyfikator podstawowy organizacji).

Zaktualizuj plik app-ads.txt
Authorized Sellers for Apps (czyli plik app-ads.txt) to projekt IAB Tech Lab, który ma zagwarantować, że Twoje zasoby reklamowe w aplikacjach będą sprzedawane tylko w tych kanałach, na które wyrażasz zgodę. Aby zapobiec znacznej utracie przychodów z reklam, musisz wdrożyć plik app-ads.txt.
Jeśli jeszcze nie masz pliku app-ads.txt, utwórz go na potrzeby Ad Managera.
Aby wdrożyć app-ads.txt w Unity Ads, zapoznaj się z artykułem o konfigurowaniu pliku app-ads.txt po raz pierwszy.
Włączanie trybu testowego
Tryb testowy można włączyć w panelu Unity Ads. Kliknij Unity Ads Monetization (Zarabianie na reklamach Unity) > Testing (Testowanie).
Możesz wymusić tryb testowy w aplikacji, klikając przycisk edycji każdej platformy, włączając opcję Zastąp tryb testowy klienta i wybierając Wymuś tryb testowy (tj. używaj reklam testowych) na wszystkich urządzeniach.
Android

iOS

Możesz też włączyć tryb testowy na określonych urządzeniach, klikając Dodaj urządzenie testowe.

Wpisz szczegóły urządzenia testowego i kliknij Zapisz.

Krok 2. Skonfiguruj żądania reklam Unity Ads w interfejsie Ad Managera
Konfigurowanie ustawień zapośredniczenia dla jednostki reklamowej
Android
Instrukcje znajdziesz w kroku 2 w przewodniku dla Android.
iOS
Instrukcje znajdziesz w kroku 2 w przewodniku dla systemu iOS.
Dodawanie Unity Ads do listy partnerów reklamowych zgodnych z RODO i przepisami stanowymi w USA
Aby dodać Unity Ads do listy partnerów reklamowych zgodnych z rozporządzeniami europejskimi i amerykańskimi przepisami stanowymi w interfejsie Ad Managera, wykonaj czynności opisane w artykułach Ustawienia zgodne z rozporządzeniami europejskimi i Ustawienia zgodne z amerykańskimi przepisami stanowymi.
Krok 3. Zaimportuj pakiet SDK do wyświetlania reklam i adapter Unity Ads
Integracja przez pub.dev
Dodaj do pliku pubspec.yaml pakietu tę zależność z najnowszymi wersjami pakietu SDK i adaptera Unity Ads:
dependencies:
gma_mediation_unity: ^1.11.1
Integracja ręczna
Pobierz najnowszą wersję wtyczki zapośredniczenia reklam mobilnych Google dla Unity Ads, rozpakuj pobrany plik i dodaj rozpakowany folder wtyczki (wraz z zawartością) do projektu Flutter. Następnie dodaj odwołanie do wtyczki w pliku pubspec.yaml, dodając tę zależność:
dependencies:
gma_mediation_unity:
path: path/to/local/package
Krok 4. Skonfiguruj ustawienia prywatności w pakiecie SDK Unity Ads
Zgoda użytkowników z UE i RODO
Aby zachować zgodność z polityką Google w zakresie zgody użytkownika z UE, musisz udzielać odpowiednich informacji użytkownikom z Europejskiego Obszaru Gospodarczego (EOG), Wielkiej Brytanii i Szwajcarii oraz uzyskać ich zgodę na stosowanie plików cookie lub innych środków do lokalnego przechowywania danych, jeśli jest to wymagane prawnie. Musisz też uzyskać ich zgodę na zbieranie, udostępnianie i wykorzystywanie danych osobowych do personalizowania reklam. Polityka ta odzwierciedla wymagania UE zawarte w dyrektywie o prywatności i łączności elektronicznej oraz w Ogólnym rozporządzeniu o ochronie danych (RODO). Odpowiadasz za sprawdzenie, czy zgoda jest przekazywana do każdego źródła reklam w łańcuchu zapośredniczenia.
Adapter Unity Ads Flutter w wersji 1.10.0 i nowszych obsługuje przekazywanie sygnałów zgody na wykorzystanie danych zgodnie z RODO z platform do zarządzania zgodą użytkowników, które są zintegrowane z Zasadami IAB dotyczącymi przejrzystości i uzyskiwania zgody na przetwarzanie danych (TCF), do pakietu SDK Unity Ads. Więcej informacji znajdziesz w artykule Konfigurowanie ustawień zgody użytkownika zgodnych i niezgodnych z zasadami TCF.
amerykańskie przepisy stanowe o ochronie prywatności
Amerykańskie przepisy stanowe o ochronie prywatności wymagają, aby użytkownicy mieli możliwość wycofania zgody na „sprzedaż” ich „danych osobowych” (w znaczeniu określonym w ustawie). Opcja ta musi być dostępna za pomocą dobrze widocznego linku „Do Not Sell My Personal Information” („Nie sprzedawaj moich danych osobowych”) na stronie głównej podmiotu „sprzedającego”. Przewodnik po amerykańskich przepisach stanowych o ochronie prywatności umożliwia włączenie ograniczonego przetwarzania danych na potrzeby wyświetlania reklam Google, ale Google nie może zastosować tego ustawienia do każdej sieci reklamowej w łańcuchu zapośredniczenia. Dlatego musisz zidentyfikować każdą sieć reklamową w łańcuchu zapośredniczenia, która może uczestniczyć w sprzedaży danych osobowych, i postępować zgodnie ze wskazówkami każdej z tych sieci, aby zapewnić zgodność z przepisami.
Wtyczka zapośredniczenia reklam mobilnych Google do Unity Ads zawiera metodę GmaMediationUnity.setCCPAConsent(). Poniższy przykładowy kod pokazuje, jak przekazać informacje o zgodzie do pakietu SDK do wyświetlania reklam Unity Ads. Jeśli zdecydujesz się wywołać tę metodę, zalecamy, aby zrobić to przed wysłaniem żądania reklamy za pomocą Google Mobile Ads Flutter Plugin.
import 'package:gma_mediation_unity/gma_mediation_unity.dart';
// ...
GmaMediationUnity.setCCPAConsent(true);
Ustawianie ograniczeń wiekowych
Wtyczka zapośredniczenia Unity Ads w wersji 1.6.5 lub nowszej przekazuje do Unity Ads ustawienie dotyczące treści skierowanych do dzieci i ustawienie dotyczące użytkowników poniżej wieku świadomego wyrażenia zgody.
Aby przetwarzać te sygnały na poziomie poszczególnych użytkowników, Unity Ads wymaga włączenia oznaczenia Mieszani odbiorcy w panelu Unity Monetization. Więcej informacji o włączaniu oznaczenia mieszanej grupy odbiorców w projekcie znajdziesz w artykule Ustawianie oznaczeń wiekowych na poziomie gry.
Krok 5. Dodaj wymagany kod
Android
Integracja Unity Ads na Androidzie nie wymaga dodatkowego kodu.
iOS
Integracja SKAdNetwork
Aby dodać identyfikatory SKAdNetwork do pliku Info.plist projektu, postępuj zgodnie z dokumentacją Unity Ads.
Krok 6. Przetestuj implementację
Włączanie reklam testowych
Pamiętaj, aby zarejestrować urządzenie testowe w usłudze Ad Manager i włączyć tryb testowy w interfejsie Unity Ads.
Sprawdzanie reklam testowych
Aby sprawdzić, czy otrzymujesz reklamy testowe z Unity Ads, włącz w inspektorze reklam testowanie pojedynczego źródła reklam, korzystając ze źródeł reklam Unity Ads (określanie stawek) i Unity Ads (kaskada).
Kody błędów
Jeśli adapter nie otrzyma reklamy z Unity Ads, wydawcy mogą sprawdzić błąd w odpowiedzi na żądanie reklamy, korzystając z ResponseInfo w tych klasach:
Android
com.google.ads.mediation.unity.UnityAdapter
com.google.ads.mediation.unity.UnityMediationAdapter
iOS
GADMAdapterUnity
GADMediationAdapterUnity
Oto kody i towarzyszące im komunikaty, które adapter UnityAds wyświetla, gdy nie uda się wczytać reklamy:
Android
| Kod błędu | Przyczyna |
|---|---|
| 0-10 | Pakiet SDK UnityAds zwrócił błąd. Więcej informacji znajdziesz w kodzie. |
| 101 | Parametry serwera UnityAds skonfigurowane w interfejsie AdMob są nieprawidłowe lub ich brakuje. |
| 102 | UnityAds zwróciło miejsce docelowe ze stanem NO_FILL. |
| 103 | UnityAds zwróciło miejsce docelowe ze stanem WYŁĄCZONE. |
| 104 | UnityAds próbowała wyświetlić reklamę z pustym kontekstem. |
| 105 | Kontekst używany do inicjowania, wczytywania lub wyświetlania reklam z Unity Ads nie jest instancją aktywności. |
| 106 | UnityAds próbowała wyświetlić reklamę, która nie jest gotowa do wyświetlenia. |
| 107 | UnityAds nie jest obsługiwana na urządzeniu. |
| 108 | UnityAds może wczytywać tylko 1 reklamę na miejsce docelowe naraz. |
| 109 | UnityAds zakończyło działanie ze stanem BŁĄD. |
| 110 | Żądany rozmiar reklamy nie pasuje do rozmiaru banera obsługiwanego przez UnityAds. |
| 111 | UnityAds zwróciła błąd inicjowania. |
| 112 | Unity Ads zwróciło pusty token określania stawek. |
| 200-204 | Błąd UnityAds Banner. Więcej informacji znajdziesz w kodzie. |
iOS
| 0-9 | Pakiet SDK UnityAds zwrócił błąd. Więcej informacji znajdziesz w dokumentacji Unity. |
| 101 | Parametry serwera UnityAds skonfigurowane w interfejsie Ad Managera są nieprawidłowe lub ich brakuje. |
| 102 | Urządzenie nie jest obsługiwane przez UnityAds. |
| 103 | Wyświetlanie reklamy UnityAds zakończyło się ze stanem błędu kUnityAdsFinishStateError. |
| 104 | Obiekt reklamy Unity ma wartość nil po wywołaniu jego inicjatora. |
| 105 | Nie udało się wyświetlić reklam Unity, ponieważ reklama nie jest gotowa. |
| 107 | UnityAds wywołało wywołanie zwrotne zmiany miejsca docelowego ze stanem miejsca docelowego kUnityAdsPlacementStateDisabled. |
| 108 | Reklama została już wczytana w tym miejscu docelowym. Pakiet SDK UnityAds nie obsługuje wczytywania wielu reklam w tym samym miejscu docelowym. |
| 109 | Baner reklamowy zwrócony przez UnityAds nie pasuje do żądanego rozmiaru. |
| 110 | UnityAds zwróciła błąd inicjowania. |
| 111 | Nieobsługiwany format reklamy. |
| 112 | UnityAds zwrócił pusty token określania stawek lub wartość null. |
Lista zmian adaptera zapośredniczenia Unity Ads Flutter
Wersja 1.12.0 (w toku)
Wersja 1.11.1
- Wersja 4.20.1.0 adaptera Unity na Androida.
- Obsługuje adapter Unity na iOS w wersji 4.20.1.0.
- Zbudowano i przetestowano z użyciem wtyczki reklam mobilnych Google do Fluttera w wersji 9.1.0.
Wersja 1.11.0
- Obsługuje adapter Unity na Androida w wersji 4.20.0.1.
- Obsługuje adapter Unity na iOS w wersji 4.20.0.0.
- Zbudowano i przetestowano z użyciem wtyczki reklam mobilnych Google do Fluttera w wersji 9.1.0.
Wersja 1.10.0
- Zaktualizowano, aby obsługiwać wtyczkę reklam mobilnych Google do Fluttera w wersji 9.1.0.
- Dodaliśmy obsługę Swift Package Managera.
- Obsługuje adapter Unity na Androida w wersji 4.20.0.0.
- Obsługuje adapter Unity na iOS w wersji 4.19.0.1.
- Zbudowano i przetestowano z użyciem wtyczki reklam mobilnych Google do Fluttera w wersji 9.1.0.
Wersja 1.9.0
- Zaktualizowano, aby obsługiwać wtyczkę reklam mobilnych Google do Fluttera w wersji 9.0.0.
- Obsługuje adapter Unity na Androida w wersji 4.19.0.0.
- Obsługuje adapter Unity na iOS w wersji 4.19.0.0.
- Zbudowano i przetestowano z użyciem wtyczki reklam mobilnych Google do Fluttera w wersji 9.0.0.
Wersja 1.8.1
- Obsługuje adapter Unity na Androida w wersji 4.18.0.0.
- Obsługuje adapter Unity na iOS w wersji 4.18.1.0.
- Zbudowano i przetestowano z użyciem wtyczki reklam mobilnych Google do Fluttera w wersji 8.0.0.
Wersja 1.8.0
- Obsługuje adapter Unity na Androida w wersji 4.18.0.0.
- Obsługuje adapter Unity na iOS w wersji 4.18.0.0.
- Zbudowano i przetestowano z użyciem wtyczki reklam mobilnych Google do Fluttera w wersji 8.0.0.
Wersja 1.7.0
- Zaktualizowano minimalną wersję Fluttera do 3.38.1.
- Zaktualizowano, aby obsługiwać wtyczkę reklam mobilnych Google do Fluttera w wersji 8.0.0.
- Obsługuje adapter Unity na Androida w wersji 4.17.0.0.
- Obsługuje adapter Unity na iOS w wersji 4.17.0.0.
- Zbudowano i przetestowano z użyciem wtyczki reklam mobilnych Google do Fluttera w wersji 8.0.0.
Wersja 1.6.5
- Obsługuje adapter Unity na Androida w wersji 4.16.6.0.
- Obsługuje adapter Unity na iOS w wersji 4.16.6.0.
- Zbudowano i przetestowano za pomocą wtyczki reklam mobilnych Google do Fluttera w wersji 6.0.0.
Wersja 1.6.4
- Zaktualizowano minimalną wersję Fluttera do 3.35.1.
- Zaktualizowano, aby obsługiwać wtyczkę reklam mobilnych Google do Fluttera w wersji 7.0.0.
- Obsługuje adapter Unity na Androida w wersji 4.16.5.0.
- Obsługuje adapter Unity na iOS w wersji 4.16.5.0.
Wersja 1.6.3
- Obsługuje adapter Unity na Androida w wersji 4.16.3.0.
- Obsługuje adapter Unity na iOS w wersji 4.16.3.0.
- Zbudowano i przetestowano za pomocą wtyczki reklam mobilnych Google do Fluttera w wersji 6.0.0.
Wersja 1.6.2
- Obsługuje adapter Unity na Androida w wersji 4.16.3.0.
- Obsługuje adapter Unity na iOS w wersji 4.16.2.0.
- Zbudowano i przetestowano za pomocą wtyczki reklam mobilnych Google do Fluttera w wersji 6.0.0.
Wersja 1.6.1
- Obsługuje adapter Unity na Androida w wersji 4.16.1.0.
- Obsługuje adapter Unity na iOS w wersji 4.16.1.0.
- Zbudowano i przetestowano za pomocą wtyczki reklam mobilnych Google do Fluttera w wersji 6.0.0.
Wersja 1.6.0
- Teraz wymagany jest system iOS w wersji co najmniej 13.0.
- Dodano obsługę adaptera Unity na Androida w wersji 4.16.0.0.
- Obsługuje adapter Unity na iOS w wersji 4.16.0.0.
- Zbudowano i przetestowano za pomocą wtyczki reklam mobilnych Google do Fluttera w wersji 6.0.0.
Wersja 1.5.1
- Obsługuje adapter Unity na Androida w wersji 4.15.1.0.
- Obsługuje adapter Unity na iOS w wersji 4.15.1.0.
- Zbudowano i przetestowano za pomocą wtyczki reklam mobilnych Google do Fluttera w wersji 6.0.0.
Wersja 1.5.0
- Zbudowano i przetestowano za pomocą wtyczki reklam mobilnych Google do Fluttera w wersji 6.0.0.
Wersja 1.4.1
- Obsługuje adapter Unity na Androida w wersji 4.14.2.0.
- Obsługuje adapter Unity na iOS w wersji 4.14.2.0.
- Zbudowano i przetestowano za pomocą wtyczki reklam mobilnych Google do Fluttera w wersji 6.0.0.
Wersja 1.4.0
- Obsługuje adapter Unity na Androida w wersji 4.14.1.0.
- Obsługuje adapter Unity na iOS w wersji 4.14.1.1.
- Zbudowano i przetestowano za pomocą wtyczki reklam mobilnych Google do Fluttera w wersji 6.0.0.
Wersja 1.3.0
- Obsługuje adapter Unity na Androida w wersji 4.13.1.0.
- Obsługuje adapter Unity na iOS w wersji 4.13.1.0.
- Zbudowano i przetestowano za pomocą wtyczki reklam mobilnych Google do Fluttera w wersji 5.3.1.
Wersja 1.2.0
- Obsługuje adapter Unity na Androida w wersji 4.13.0.0.
- Obsługuje adapter Unity na iOS w wersji 4.12.5.0.
- Zbudowano i przetestowano za pomocą wtyczki reklam mobilnych Google do Fluttera w wersji 5.3.1.
Wersja 1.1.0
- Obsługuje adapter Unity na Androida w wersji 4.12.3.0.
- Obsługuje adapter Unity na iOS w wersji 4.12.3.1.
- Aplikacja została utworzona i przetestowana za pomocą wtyczki reklam mobilnych Google do Fluttera w wersji 5.2.0.
Wersja 1.0.0
- Pierwsza wersja.
- Obsługuje adapter Unity na Androida w wersji 4.10.0.0.
- Obsługuje adapter Unity na iOS w wersji 4.10.0.0.
- Zbudowano i przetestowano za pomocą wtyczki reklam mobilnych Google do Fluttera w wersji 5.0.0.