Konfigurowanie bezpośredniego dostępu do Ad Exchange

Wybierz platformę: Android iOS

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

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/.

Aby na przykład wczytać baner reklamowy, umieść w układzie element AdManagerAdView 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>

Możesz też utworzyć hierarchię widoków programowo:

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.

Gdy AdManagerAdView jest już na miejscu, możesz wywołać metodę loadAd() w klasie AdManagerAdView i dostosować działanie reklamy za pomocą zdarzeń reklamy.

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 pubfpvtf. 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” jest równoznaczne z 6,00 PLN.

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