Pakiet SDK do reklam mobilnych Google umożliwia zarabianie na aplikacjach za pomocą usługi Ad Exchange. Z tego przewodnika dowiesz się, jak skonfigurować aplikacje pod kątem wszystkich formatów reklam obsługiwanych przez Ad Exchange.
Wymagania wstępne
- Spełnij wymagania wstępne.
- Skonfiguruj aplikację pod kątem pakietu SDK do reklam mobilnych Google.
Konfigurowanie aplikacji pod kątem dostępu do Ad Exchange
Dodaj identyfikator aplikacji Ad Managera (określony w interfejsie Ad Managera) do pliku AndroidManifest.xml aplikacji za pomocą tagu <meta-data> z android:name="com.google.android.gms.ads.APPLICATION_ID". W miejscu android:value wstaw identyfikator aplikacji Ad Managera (w cudzysłowie).
<manifest>
<application>
<!-- Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713 -->
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
</application>
</manifest>
Pamiętaj też, że jeśli nie dodasz tagu <meta-data> w sposób pokazany powyżej, aplikacja ulegnie awarii i wyświetli się komunikat:
Missing application ID.
Następnie możesz zainicjować pakiet SDK do reklam mobilnych Google i wybrać format reklamy do wyświetlenia. W pozostałej części tego przewodnika pokazujemy, jak wdrożyć format banera, aby zilustrować, jak można wczytać reklamę z Ad Exchange. Te same kroki można zastosować do dowolnych formatów reklam obsługiwanych przez pakiet SDK do reklam mobilnych Google.
Wczytywanie reklamy z Ad Exchange
Zamiast identyfikatora jednostki reklamowej możesz użyć kodu usługi internetowej Ad Exchange z ukośnikiem na końcu. Na przykład: ca-mb-app-pub-5629679302779023/.
W poniższym przykładzie kod usługi internetowej Ad Exchange został dodany do żądania banera reklamowego:
Kotlin
val adRequest = BannerAdRequest.Builder("ca-mb-app-pub-5629679302779023/", AdSize.BANNER).build()
BannerAd.load(
adRequest,
object : AdLoadCallback<BannerAd> {
override fun onAdLoaded(ad: BannerAd) {
bannerAd = ad
activity?.runOnUiThread {
binding.bannerViewContainer.addView(ad.getView(requireActivity()))
}
}
}
)
Java
BannerAdRequest adRequest = new BannerAdRequest.Builder("ca-mb-app-pub-5629679302779023/",
AdSize.BANNER).build();
BannerAd.load(
adRequest,
new AdLoadCallback<BannerAd>() {
@Override
public void onAdLoaded(@NonNull BannerAd ad) {
bannerAd = ad;
runOnUiThread(
() -> binding.bannerViewContainer.addView(ad.getView(MainActivity.this)));
}
});
Pamiętaj, że jeśli nie dodasz ukośnika na końcu kodu usługi internetowej Ad Exchange, spowoduje to błąd żądania reklamy z komunikatem:
Invalid Request. Cannot determine request type. Is your ad unit id correct?
Możesz też przekonwertować kod usługi internetowej Ad Exchange na jednostkę reklamową.
Następnie użyj interfejsu Ad Managera, aby wygenerować tag Ad Exchange i skopiować go do aplikacji. Wygenerowany tag powinien zawierać kod usługi internetowej Ad Exchange, a po nim identyfikatory jednostek reklamowych podrzędnych bez ukośnika na końcu, np. ca-mb-app-pub-5629679302779023/banner.
To wszystko. Aplikacja jest teraz gotowa do wczytywania i wyświetlania banerów reklamowych z Ad Exchange.
Możesz też użyć usługi internetowej Ad Exchange, aby wczytywać i wyświetlać inne formaty reklam z Ad Exchange. Aby to zrobić, postępuj zgodnie z odpowiednimi przewodnikami:
Dodawanie cen minimalnych (dotyczy tylko zatwierdzonych wydawców z Europy)
Możesz przesłać prośbę dotyczącą funkcji „Ceny minimalne”.
Po zatwierdzeniu możesz uwzględnić w żądaniu reklamy cenę minimalną publiczną lub prywatną, używając odpowiednio parametrów pubf i pvtf. W poniższym przykładowym kodzie zastąp „123” cenami minimalnymi w mikrogroszach i domyślną walutą sieci. Przykład zastosowania mikrowaluty: jeśli Twoją walutą domyślną jest USD, wpisanie „6000000” odpowiada kwocie 6,00 USD.
Kotlin
val extras = Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");
val request = AdRequest.Builder("ca-mb-app-pub-5629679302779023/")
.setGoogleExtrasBundle(extras)
.build();
Java
Bundle extras = new Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");
AdRequest request = new AdRequest.Builder("ca-mb-app-pub-5629679302779023/")
.setGoogleExtrasBundle(extras)
.build();