Rozpocznij

Z tego przewodnika dowiesz się, jak zintegrować adapter pośredniczący z aplikacją na Androida.

Wymagania wstępne

Zanim zintegrujesz mediację z danym formatem reklamy, musisz go zintegrować z aplikacją:

Zapoznałeś się już z zaproszeniem? Przeczytaj Wprowadzenie do zapośredniczenia.

Do określania stawek: pakiet SDK do reklam mobilnych Google w wersji 18.3.0 lub nowszej.

Inicjowanie pakietu SDK do reklam mobilnych

Z tego krótkiego przewodnika dowiesz się, jak zainicjować pakiet SDK do reklam mobilnych. Podczas tego wywołania inicjalizacji inicjowane są też adaptery mediacji. Zanim zaczniesz wczytywać reklamy, musisz poczekać na zakończenie inicjowania, aby mieć pewność, że każda sieć reklamowa będzie w pełni uczestniczyć w pierwszym żądaniu reklamy.

Poniższy przykładowy kod pokazuje, jak sprawdzić stan inicjowania poszczególnych adapterów przed wysłaniem żądania reklamy.

Java

import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.initialization.AdapterStatus;
import com.google.android.gms.ads.initialization.InitializationStatus;
import com.google.android.gms.ads.initialization.OnInitializationCompleteListener;

public class MainActivity extends AppCompatActivity {

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        new Thread(
                () ->
                    // Initialize the Google Mobile Ads SDK on a background thread.
                    MobileAds.initialize(
                        this,
                        initializationStatus -> {
                          Map<String, AdapterStatus> statusMap =
                              initializationStatus.getAdapterStatusMap();
                          for (String adapterClass : statusMap.keySet()) {
                            AdapterStatus status = statusMap.get(adapterClass);
                            Log.d(
                                "MyApp",
                                String.format(
                                    "Adapter name: %s, Description: %s, Latency: %d",
                                    adapterClass, status.getDescription(), status.getLatency()));
                          }
                          // Start loading ads here...
                        }))
            .start();
    }
}

Kotlin

import com.google.android.gms.ads.MobileAds
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch

class MainActivity : AppCompatActivity() {
  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    val backgroundScope = CoroutineScope(Dispatchers.IO)
    backgroundScope.launch {
      // Initialize the Google Mobile Ads SDK on a background thread.
      MobileAds.initialize(this@MainActivity) { initializationStatus ->
        val statusMap =
          initializationStatus.adapterStatusMap
        for (adapterClass in statusMap.keys) {
          val status = statusMap[adapterClass]
          Log.d(
            "MyApp", String.format(
              "Adapter name: %s, Description: %s, Latency: %d",
              adapterClass, status!!.description, status.latency
            )
          )
        }
        // Start loading ads here...
      }
    }
  }
}

Sprawdź, która klasa adaptera sieci reklamowej wczytała reklamę

Oto przykładowy kod, który rejestruje nazwę klasy sieci reklamowej dla banera reklamowego:

Java

public void onAdLoaded() {
  Log.d("Banner adapter class name: " + ad.getResponseInfo().getMediationAdapterClassName());
}

Kotlin

override fun onAdLoaded() {
  Log.d("Banner adapter class name:" + ad.responseInfo.mediationAdapterClassName)
}

Szczegółowe informacje o tej metodzie znajdziesz w dokumentacji ResponseInfo na stronie getMediationAdapterClassName().

Inicjalizacja obiektu reklamy za pomocą instancji Activity

W konstruktorze nowego obiektu reklamy (np. AdManagerAdView) musisz podać obiekt typu Context. Wartość Context jest przekazywana do innych sieci reklamowych podczas korzystania z zapośredniczenia. Niektóre sieci reklamowe wymagają bardziej restrykcyjnego Context typu Activity i mogą nie być w stanie wyświetlać reklam bez instancji Activity. Dlatego podczas inicjowania obiektów reklam zalecamy przekazanie instancji Activity, aby zapewnić spójność w przypadku zapośredniczonych sieci reklamowych.

Używanie banerów reklamowych w zapośredniczeniu

Pamiętaj, aby wyłączyć odświeżanie we wszystkich interfejsach zewnętrznych źródeł reklam w przypadku jednostek banerów reklamowych używanych w ramach zapośredniczenia. Zapobiega to podwójnemu odświeżaniu, ponieważ Ad Manager również uruchamia odświeżanie na podstawie częstotliwości odświeżania jednostki reklamowej banera.

Używanie reklam natywnych z zapośredniczeniem

Poniżej znajdziesz kilka sprawdzonych metod, które warto zastosować podczas wdrażania pośrednictwa w reklamach natywnych.

Zasady dotyczące prezentacji reklam natywnych
Każda sieć reklamowa ma własne zasady. Pamiętaj, że korzystając z zapośredniczenia, musisz przestrzegać zasad sieci zapośredniczącej, która dostarczyła reklamę.
Użyj loadAd() zamiast loadAds().
Metoda loadAds() wyświetla tylko reklamy Google. W przypadku reklam pośredniczących użyj zamiast tego tagu loadAd().

Amerykańskie przepisy stanowe o ochronie prywatności a RODO

Jeśli chcesz zachować zgodność z amerykańskimi przepisami stanowymi o ochronie prywatności lub Ogólnym rozporządzeniem o ochronie danych (RODO), wykonaj czynności opisane w ustawieniach amerykańskich przepisów stanowych lub ustawieniach RODO, aby dodać partnerów zapośredniczenia na liście stanów USA w usłudze Ad Manager lub na liście partnerów reklamowych zgodnych z RODO. Jeśli tego nie zrobisz, partnerzy mogą nie wyświetlać reklam w Twojej aplikacji.

Dowiedz się więcej o włączaniu ograniczonego przetwarzania danych (RDP) i uzyskiwaniu zgody na podstawie RODO za pomocą pakietu SDK User Messaging Platform (UMP) od Google.