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. Wyjaśniamy w nim, jak dodać reklamy Unity do konfiguracji mediacji jednostki reklamowej oraz jak zintegrować pakiet SDK do wyświetlania reklam i adapter reklam Unity z aplikacją Flutter.
Obsługiwane integracje i formaty reklam
Adapter mediacji 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ź, czy:
- 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 w wersji API 24 lub nowszej.
- Wdrażanie 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 Projekty i Nowy.

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

Kliknij kolejno Zarabianie na reklamach Unity i 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 potem 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 Waterfall. W sekcji Miejsce docelowe wpisz nazwę miejsca docelowego, tagowanie geograficzne i kierowanie.

Zanotuj identyfikator miejsca docelowego.
Na koniec kliknij Dodaj jednostkę reklamową, aby zapisać jednostkę reklamową i miejsce docelowe.
Znajdowanie klucza interfejsu Unity Ads Reporting API
Określanie stawek
Ten krok nie jest wymagany w przypadku integracji z określaniem stawek.
Kaskada
Otwórz Unity Ads Monetization > API management i zanotuj 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 tego nie zrobiono, utwórz plik app-ads.txt 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 > Testing (Zarabianie na reklamach Unity > 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 Unity Ads w interfejsie Ad Managera
Konfigurowanie ustawień zapośredniczenia dla jednostki reklamowej
Android
Instrukcje znajdziesz w kroku 2 przewodnika dotyczącego Android.
iOS
Instrukcje znajdziesz w kroku 2 przewodnika dotyczącego 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 zachowujących zgodność z rozporządzeniami europejskimi i amerykańskimi przepisami stanowymi w interfejsie Ad Managera, wykonaj czynności opisane w sekcjach Ustawienia dotyczące rozporządzeń europejskich i Ustawienia dotyczące amerykańskich przepisów stanowych.
Krok 3. Zaimportuj pakiet SDK Unity Ads i adapter
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 jego 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 zgodnych i niezgodnych z zasadami TCF.
amerykańskie przepisy stanowe o ochronie prywatności
Amerykańskie przepisy stanowe dotyczące prywatności wymagają, aby użytkownicy mieli prawo do rezygnacji ze „sprzedaży” ich „danych osobowych” (w znaczeniu określonym w ustawie). Opcja rezygnacji musi być dostępna za pomocą dobrze widocznego linku „Nie sprzedawaj moich danych osobowych” na stronie głównej „sprzedającego”. Przewodnik po amerykańskich przepisach stanowych o ochronie danych osobowych 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 wskazać każdą sieć reklamową w łańcuchu zapośredniczenia, która może uczestniczyć w sprzedaży danych osobowych, i postępować zgodnie z wytycznymi każdej z tych sieci, aby zapewnić zgodność z przepisami.
Wtyczka zapośredniczenia reklam mobilnych Google dla Unity Ads zawiera metodę GmaMediationUnity.setCCPAConsent(). Poniższy przykładowy kod pokazuje, jak przekazywać informacje o zgodzie do pakietu SDK 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 do mediacji Unity Ads w wersji 1.6.5 i nowszych przekazuje do Unity Ads ustawienie dotyczące reklam odpowiednich dla dzieci oraz ustawienie zgody użytkowników poniżej 16 roku życia.
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 dla odbiorców mieszanych 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
Postępuj zgodnie z dokumentacją Unity Ads, aby dodać identyfikatory SKAdNetwork do pliku Info.plist w projekcie.
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 komunikaty towarzyszące, które są zwracane przez adapter UnityAds, 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 w stanie WYŁĄCZONO. |
| 104 | UnityAds próbowało wyświetlić reklamę z kontekstem o wartości null. |
| 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 | Usługa UnityAds zakończyła działanie ze stanem ERROR. |
| 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 token ustalania stawek o wartości null lub pusty. |
| 200-204 | UnityAds Banner – konkretny błąd. 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 | Po wywołaniu inicjatora obiekt reklamy Unity ma wartość nil. |
| 105 | Nie udało się wyświetlić reklam Unity Ads, ponieważ reklama nie była gotowa. |
| 107 | UnityAds wywołało wywołanie zwrotne zmiany miejsca docelowego ze stanem miejsca docelowego kUnityAdsPlacementStateDisabled. |
| 108 | W tym miejscu docelowym została już załadowana reklama. 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.11.1
- Obsługuje adapter Unity na Androida w wersji 4.20.1.0.
- 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 za pomocą wtyczki reklam mobilnych Google do Fluttera w wersji 9.1.0.
Wersja 1.10.0
- Zaktualizowano obsługę wtyczki reklam mobilnych Google do Fluttera w wersji 9.1.0.
- Dodaliśmy obsługę Swift Package Manager.
- 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 przy użyciu 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.
- Aplikacja została utworzona i przetestowana za pomocą 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 przy użyciu 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 z użyciem 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 przy użyciu 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.
- Obsługuje adapter 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 z użyciem wtyczki reklam mobilnych Google do Fluttera w wersji 6.0.0.
Wersja 1.5.0
- Obsługuje adapter Unity na Androida w wersji 4.15.0.0.
- Obsługuje adapter Unity na iOS w wersji 4.15.0.0.
- Zbudowano i przetestowano przy użyciu 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 z użyciem 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 przy użyciu 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.
- Zbudowano i przetestowano przy użyciu 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 przy użyciu wtyczki reklam mobilnych Google do Fluttera w wersji 5.0.0.