Konfigurowanie bezpośredniego dostępu do 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 dostępu aplikacji 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 wartością android:name="com.google.android.gms.ads.APPLICATION_ID". W miejscu wartości android:value wpisz 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 niedodanie tagu <meta-data>, jak pokazano powyżej, spowoduje awarię z komunikatem:

Missing application ID.

Następnie możesz zainicjować pakiet SDK do reklam mobilnych Google i wybrać format reklamy, który ma się wyświetlać. W dalszej części tego przewodnika użyjemy formatu banera, aby pokazać, jak można wczytać reklamę z Ad Exchange. Te same czynności możesz wykonać w przypadku dowolnych formatów reklam obsługiwanych przez pakiet SDK do reklam mobilnych Google.

Ładowanie reklamy z Ad Exchange

W aplikacji możesz użyć kodu usługi internetowej Ad Exchange z zakończeniem w postaci ukośnika zamiast identyfikatora jednostki reklamowej.

Aby na przykład załadować baner reklamowy, umieść element AdManagerAdView w układzie dla elementu Activity w ten 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 do kodu usługi internetowej Ad Exchange, jak pokazano powyżej, wystąpi błąd żądania reklamy z komunikatem:

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

Pamiętaj też, że możesz przekształcić kod usługi internetowej Ad Exchange w jednostkę reklamową. Następnie możesz użyć interfejsu Ad Managera, aby wygenerować tag Ad Exchange i skopiować go do swojej aplikacji. Wygenerowany tag powinien zawierać kod usługi internetowej Ad Exchange, a za nim id jednostek reklamowych potomnych bez końcowego ukośnika, np.:ca-mb-app-pub-5629679302779023/banner

Możesz też utworzyć AdManagerAdView za pomocą kodu:

JavaKotlin
AdManagerAdView adView = new AdManagerAdView(this);

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

// TODO: Add adView to your view hierarchy.
val adView = AdManagerAdView(this)

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

// TODO: Add adView to your view hierarchy.

Gdy obiekt AdManagerAdView zostanie utworzony, możesz wywoływać metodę loadAd() w klasie AdManagerAdView i dostosowywać działanie reklamy za pomocą zdarzeń reklamy.

Znakomicie. Aplikacja jest teraz gotowa do wczytywania i wyświetlania reklam typu baner 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. Aby to zrobić, postępuj zgodnie z odpowiednimi instrukcjami:

(dotyczy tylko zatwierdzonych wydawców z Europy) Dodawanie cen minimalnych

Możesz przesłać prośbę o włączenie funkcji „Ceny minimalne”.

Po zatwierdzeniu możesz uwzględnić w prośbie o reklamę poziom publiczny lub prywatny, odpowiednio za pomocą parametrów pubf lub pvtf. W przykładowym kodzie zastąp „123” cenami minimalnymi w częściach milionowych i walucie domyślnej sieci. Przykład zastosowania mikropłatności: jeśli domyślną walutą jest dolar amerykański, wpisanie „6000000” jest równoznaczne z 6 USD.

JavaKotlin
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();
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();