Konfigurowanie bezpośredniego dostępu na potrzeby Ad Exchange

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

Konfigurowanie aplikacji pod kątem dostępu do Ad Exchange

Dodaj identyfikator aplikacji Ad Managera (zidentyfikowany 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 polu android:value wstaw identyfikator aplikacji z 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 opisany powyżej, wystąpi błąd z komunikatem:

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 znajdziesz format banera, który ilustruje sposób wczytywania reklamy z Ad Exchange. 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ć w aplikacji kodu usługi internetowej Ad Exchange z końcowym ukośnikiem.

Aby np. załadować baner reklamowy, umieść AdManagerAdView w układzie elementu Activity w taki sposób:

# main_activity.xml
...
  <com.google.android.gms.ads.admanager.AdManagerAdView
      xmlns:ads="http://schemas.android.com/apk/res-auto"
      android:id="@+id/adManagerAdView"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_centerHorizontal="true"
      android:layout_alignParentBottom="true"
      ads:adSize="BANNER"
      ads:adUnitId="ca-mb-app-pub-5629679302779023/">
  </com.google.android.gms.ads.admanager.AdManagerAdView>

Pamiętaj, że jeśli nie dodasz ukośnika końcowego do kodu usługi internetowej Ad Exchange w sposób pokazany powyżej, wystąpi błąd żądania reklamy z komunikatem:

Invalid Request. Cannot determine request type. Is your ad unit id correct?

Pamiętaj, że możesz też przekonwertować kod usługi internetowej Ad Exchange na jednostkę reklamową. Następnie w interfejsie Ad Managera możesz wygenerować tag Ad Exchange i skopiować go do aplikacji. Wygenerowany tag powinien zawierać kod usługi internetowej Ad Exchange oraz identyfikatory podrzędnych jednostek reklamowych bez końcowego ukośnika, np.: ca-mb-app-pub-5629679302779023/banner

Możesz też utworzyć plik AdManagerAdView automatycznie:

Java

AdManagerAdView adView = new AdManagerAdView(this);

adView.setAdSizes(AdSize.BANNER);
adView.setAdUnitId("ca-mb-app-pub-5629679302779023/");

// TODO: Add adView to your view hierarchy.

Kotlin

val adView = AdManagerAdView(this)

adView.adSizes = AdSize.BANNER
adView.adUnitId = "ca-mb-app-pub-5629679302779023/"

// TODO: Add adView to your view hierarchy.

Po ustawieniu AdManagerAdView możesz wywoływać metodę loadAd() w klasie AdManagerAdView i dostosowywać działanie reklamy za pomocą zdarzeń reklam.

Znakomicie. Twoja aplikacja jest gotowa do wczytywania i wyświetlania banerów reklamowych z Ad Exchange.

Oprócz tego do wczytywania i wyświetlania innych formatów reklam z Ad Exchange możesz używać usługi internetowej Ad Exchange, postępując zgodnie z instrukcjami:

(Tylko zatwierdzeni wydawcy z Europy) Dodawanie cen minimalnych

Możesz przesłać prośbę o korzystanie z funkcji „Ceny minimalne”.

Po zatwierdzeniu możesz uwzględnić w żądaniu reklamy publiczną lub prywatną cenę minimalną za pomocą parametrów pubf i pvtf. W tym przykładowym kodzie zastąp „123” cenami minimalnymi w częściach częściowych i domyślną walutą sieci. Przykład zastosowania mikrometrów: jeśli domyślną walutą jest USD, wartość „6000000” to odpowiednik 6,00 USD.

Java

Bundle extras = new Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");

AdManagerAdRequest request = new AdManagerAdRequest.Builder()
    .addNetworkExtrasBundle(AdMobAdapter.class, extras)
    .build();

Kotlin

val extras = Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");

val request = AdManagerAdRequest.Builder()
    .addNetworkExtrasBundle(AdMobAdapter::class::java, extras)
    .build();