Integracja Google Mobile Ads SDK (Legacy) z aplikacją to pierwszy krok do wyświetlania reklam i zarabiania. Gdy to zrobisz, możesz wybrać format reklamy (np. natywny lub wideo z nagrodą) i postępować zgodnie z instrukcjami, aby go wdrożyć.
Zanim zaczniesz
Aby przygotować aplikację, wykonaj czynności opisane w poniższych sekcjach.
Wymagania wstępne dotyczące aplikacji
Sprawdź, czy w pliku kompilacji Twojej aplikacji znajdują się te wartości:
- Minimalna wersja pakietu SDK:
24lub nowsza - Skompiluj pakiet SDK w wersji
35lub nowszej.
- Minimalna wersja pakietu SDK:
Konfigurowanie aplikacji na koncie AdMob
Zarejestruj aplikację jako aplikację w AdMob, wykonując następujące czynności:
Zaloguj się lub zarejestruj na koncie AdMob.
Zarejestruj aplikację w AdMob. W tym kroku utworzysz aplikację w AdMob z unikalnym identyfikatorem aplikacji AdMob, który będzie potrzebny w dalszej części tego przewodnika.
Konfiguracja aplikacji
W pliku ustawień Gradle dodaj repozytorium Maven firmy Google i centralne repozytorium Maven:
Kotlin
pluginManagement { repositories { google() mavenCentral() gradlePluginPortal() } } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } } rootProject.name = "My Application" include(":app")
Zakręcony
pluginManagement { repositories { google() mavenCentral() gradlePluginPortal() } } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } } rootProject.name = "My Application" include ':app'
Dodaj zależności dla Google Mobile Ads SDK (Legacy) do pliku kompilacji na poziomie aplikacji:
Kotlin
dependencies { implementation("com.google.android.gms:play-services-ads:25.5.0") }
Zakręcony
dependencies { implementation 'com.google.android.gms:play-services-ads:25.5.0' }
Kliknij Synchronizuj teraz. Więcej informacji o synchronizacji znajdziesz w artykule Synchronizowanie projektów z plikami Gradle.
Dodaj identyfikator aplikacji w AdMob, który znajdziesz w interfejsie internetowym AdMob, do pliku
AndroidManifest.xmlaplikacji. Aby to zrobić, dodaj tag<meta-data>z atrybutemandroid:name="com.google.android.gms.ads.APPLICATION_ID". Identyfikator aplikacji znajdziesz w interfejsie internetowym AdMob. W przypadkuandroid:valuewstaw identyfikator aplikacji w AdMob w cudzysłowie.<manifest> <application> <!-- Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713 --> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="SAMPLE_APP_ID"/> </application> </manifest>Zastąp SAMPLE_APP_ID identyfikatorem aplikacji w AdMob. Podczas testowania użyj przykładowego identyfikatora aplikacji pokazanego w poprzednim przykładzie.
Pamiętaj też, że jeśli nie dodasz tagu
<meta-data>dokładnie w podany sposób, wystąpi awaria z tym komunikatem:Missing application ID.(Opcjonalnie) Zadeklaruj uprawnienie
AD_ID, aby poprzednie wersje działały w Androidzie 13.Jeśli Twoja aplikacja korzysta z pakietu SDK w wersji Google Mobile Ads SDK (Legacy)20.4.0 lub nowszej, możesz pominąć ten krok, ponieważ pakiet SDK automatycznie deklaruje uprawnienie
com.google.android.gms.permission.AD_IDi ma dostęp do identyfikatora wyświetlania reklam, gdy jest on dostępny.W przypadku aplikacji, które używają wersji Google Mobile Ads SDK (Legacy) 20.3.0 lub starszej i są kierowane na Androida 13, musisz dodać uprawnienie
com.google.android.gms.permission.AD_IDw plikuAndroidManifest.xml, aby Google Mobile Ads SDK (Legacy) miał dostęp do identyfikatora wyświetlania reklam:<manifest> <application> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/> <!-- For apps targeting Android 13 or higher & GMA SDK version 20.3.0 or lower --> <uses-permission android:name="com.google.android.gms.permission.AD_ID"/> </application> </manifest>
Więcej informacji o
com.google.android.gms.permission.AD_IDdeklarowaniu uprawnień, w tym o tym, jak je wyłączyć, znajdziesz w tym artykule w Konsoli Play.
Zainicjuj Google Mobile Ads SDK (Legacy)
Zanim aplikacja wczyta reklamy, zainicjuj Google Mobile Ads SDK (Legacy), wywołując funkcjęMobileAds.initialize().
Ta metoda inicjuje pakiet SDK i wywołuje detektor po zakończeniu inicjowania zarówno pakietu SDKGoogle Mobile Ads SDK (Legacy), jak i adaptera lub po 30 sekundach bezczynności. Należy to zrobić tylko raz, najlepiej przy uruchomieniu aplikacji.
Jeśli korzystasz z zapośredniczenia AdMob, przed wczytaniem reklam poczekaj na wywołanie procedury obsługi zakończenia. Dzięki temu wszystkie adaptery mediacji zostaną zainicjowane.
Reklamy mogą być wstępnie wczytywane przez Google Mobile Ads SDK (Legacy) lub pakiety SDK partnerów zapośredniczenia
po zainicjowaniu. Jeśli musisz uzyskać zgodę użytkowników z Europejskiego Obszaru Gospodarczego (EOG), Wielkiej Brytanii lub Szwajcarii, ustaw dowolne flagi dotyczące konkretnego żądania, np. setTagForChildDirectedTreatment() lub setTagForUnderAgeOfConsent(), albo podejmij inne działania przed wczytaniem reklam. Pamiętaj, aby zrobić to przed zainicjowaniem Google Mobile Ads SDK (Legacy).
Oto przykład wywołania metody initialize() w wątku w tle w ramach aktywności:
Java
new Thread(
() -> {
// Initialize the Google Mobile Ads SDK on a background thread.
MobileAds.initialize(this, initializationStatus -> {});
})
.start();
Kotlin
CoroutineScope(Dispatchers.IO).launch {
// Initialize the Google Mobile Ads SDK on a background thread.
MobileAds.initialize(this@MainActivity) {}
}
Wybierz format reklamy
Google Mobile Ads SDK (Legacy) został zaimportowany i możesz teraz wdrożyć reklamę. AdMob oferuje wiele różnych formatów reklam, dzięki czemu możesz wybrać ten, który najlepiej pasuje do wrażeń użytkowników Twojej aplikacji.
Baner
W jednostkach banerów reklamowych wyświetlane są prostokątne reklamy, które zajmują część układu aplikacji. Mogą one być automatycznie odświeżane po upływie określonego czasu. Oznacza to, że użytkownicy zobaczą nowe reklamy w regularnych odstępach czasowych, nawet jeśli pozostaną na tym samym ekranie w aplikacji. Jest to format reklamy najprostszy do wdrożenia.
Pełnoekranowa
Jednostki reklam pełnoekranowych wyświetlają w aplikacji reklamy zajmujące całą stronę. Umieść je w naturalnych przerwach między elementami strony lub podczas przejścia z jednego etapu do następnego w interfejsie aplikacji, np. po ukończeniu poziomu w grze mobilnej.
Wdrażanie reklam pełnoekranowych
Natywna
Reklamy natywne to reklamy, w których możesz dostosować sposób wyświetlania w aplikacjach zasobów takich jak nagłówki i wezwania do działania. Dzięki samodzielnemu stylowi reklamy możesz tworzyć naturalne, nienachalne prezentacje reklam, które mogą wzbogacać wrażenia użytkowników.
Z nagrodą
Jednostki reklamowe z nagrodą umożliwiają użytkownikom granie w gry, wypełnianie ankiet lub oglądanie filmów, aby zdobywać nagrody w aplikacji, takie jak monety, dodatkowe życia lub punkty. Możesz ustawić różne nagrody w różnych jednostkach reklamowych i określić wartości nagród oraz elementy, które otrzymał użytkownik.
Reklama pełnoekranowa z nagrodą
Reklama pełnoekranowa z nagrodą to nowy format reklamy zachęcającej użytkownika do jej obejrzenia. Umożliwia uzyskanie nagród w aplikacji, takich jak monety lub dodatkowe życia. Reklamy tego typu wyświetlają się automatycznie w naturalnych momentach przejściowych w aplikacji.
W przeciwieństwie do reklam z nagrodą użytkownicy nie muszą wyrazić zgody na wyświetlenie reklamy pełnoekranowej z nagrodą.
Zamiast prośby o zgodę stosowanej w reklamach z nagrodą reklamy pełnoekranowe z nagrodą na początku wyświetlają ekran z informacjami o nagrodzie za obejrzenie danej reklamy i dają użytkownikowi możliwość jej pominięcia.
Wdrażanie reklam pełnoekranowych z nagrodą
Przy otwarciu aplikacji
Reklama wyświetlana przy otwarciu aplikacji to format reklamy, który wyświetla się, gdy użytkownicy otwierają Twoją aplikację lub do niej wracają. Reklama nakłada się na wczytywany ekran.
Wdrażanie reklam wyświetlanych przy otwarciu aplikacji
Dodatkowe materiały
W repozytorium Google Mobile Ads na GitHubie znajdziesz przykłady użycia różnych formatów reklam, które oferuje ten interfejs API.