Pakiet SDK do reklam mobilnych Google obsługuje 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 atrybutem android:name="com.google.android.gms.ads.APPLICATION_ID"
. W przypadku android:value
wstaw własny 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 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 wczytać reklamę z Ad Exchange, korzystając z formatu banera. Te same czynności można wykonać w przypadku wszystkich 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 tym przykładzie do żądania reklamy banerowej dodawany jest kod usługi internetowej Ad Exchange:
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, żądanie reklamy zakończy się błędem z komunikatem:
Invalid Request. Cannot determine request type. Is your ad unit id correct?
Możesz też przekształcić kod usługi internetowej Ad Exchange w jednostkę reklamową.
Następnie w interfejsie Ad Managera wygeneruj tag Ad Exchange i skopiuj go do aplikacji. Wygenerowany tag powinien zawierać kod usługi internetowej Ad Exchange, a po nim identyfikatory podrzędnych jednostek reklamowych bez końcowego ukośnika, np.:ca-mb-app-pub-5629679302779023/banner
Znakomicie. Aplikacja jest teraz gotowa do wczytywania i wyświetlania reklam banerowych z Ad Exchange.
Dodatkowo możesz używać usługi internetowej Ad Exchange do wczytywania i wyświetlania innych formatów reklam z Ad Exchange, postępując zgodnie z odpowiednimi przewodnikami:
(Dotyczy tylko zatwierdzonych wydawców z Europy) Dodawanie cen minimalnych
Możesz przesłać prośbę dotyczącą funkcji „Ceny minimalne”.
Po zatwierdzeniu możesz uwzględnić w żądaniu reklamy publiczną lub prywatną cenę minimalną, używając odpowiednio parametrów pubf
i pvtf
. W poniższym przykładzie kodu zastąp „123” cenami minimalnymi w mikrojednostkach i domyślną walutą sieci. Przykład zastosowania mikrojednostek: jeśli Twoją domyślną walutą są dolary amerykańskie, 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();