El SDK de Tenjin puede recopilar datos de ingresos a nivel de impresiones de AdMob y enviar eventos de ingresos a Tenjin. Esta integración enviará información relacionada con los ingresos de cada impresión publicitaria servida desde AdMob. Estos son los pasos para realizar la integración:
- Añade la última versión del SDK de AdMob al archivo build.gradle de tu aplicación: https://developers.google.com/admob/android/quick-start#import_the_mobile_ads_sdk
Asegúrate de tener instalado el SDK más reciente de AdMob Android (versión 20.5.0 o superior). - Activa la configuración de ingresos publicitarios por impresión en tu cuenta de AdMob:
- Inicia sesión en tu cuenta de AdMob en https://admob.google.com.
- Haz clic en Configuración en la barra lateral.
- Haz clic en la pestaña Cuenta.
- En la sección “Controles de la cuenta”, activa la opción «Ingresos publicitarios por impresión» y haz clic en Guardar.
- Integra el SDK de AdMob en tu aplicación siguiendo el código de ejemplo que aparece a continuación. Crea un objeto AdRequest en tu actividad y cárgalo en el objeto AdView. A continuación, configura el método
setOnPaidEventListener, para que puedas enviar datos de ingresos por impresiones al SDK de Tenjin.
public class DemoActivity extends Activity {
private TenjinSDK tenjinInstance;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Initialize Tenjin
tenjinInstance = TenjinSDK.getInstance(this, "<Tenjin API Key>");
// Initialize AdMob
MobileAds.initialize(this, initializationStatus -> initAdMobBanner());
}
private void initAdMobBanner() {
AdView adView = findViewById(R.id.adView);
adView.setOnPaidEventListener(adValue -> {
tenjinInstance.eventAdImpressionAdMob(adValue, adView);
});
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);
}
}o bien pasar manualmente los datos de la impresión publicitaria al método eventAdImpressionAdMob.
rewardedAd.onPaidEventListener = OnPaidEventListener { adValue ->
// Get the ad unit ID
val adUnitId = rewardedAd.adUnitId
val responseInfo = rewardedAd.responseInfo
// Extract the impression-level ad revenue data
val valueMicros = adValue.valueMicros
val currencyCode = adValue.currencyCode
val precisionType = adValue.precisionType
val json = JSONObject()
json.put("ad_unit_id", adUnitId)
json.put("currency_code", currencyCode)
json.put("response_id", responseInfo.responseId)
json.put("value_micros", valueMicros)
json.put("mediation_adapter_class_name", responseInfo.loadedAdapterResponseInfo.adapterClassName)
json.put("precision_type", precisionType)
instance.eventAdImpressionAdMob(json)
}
El cuerpo JSON debe seguir el formato que se indica a continuación:
| Parámetro | ¿Es obligatorio? | Ejemplo |
|---|---|---|
| ad_unit_id | No | ca-app-pub-3940256099942544%2F2934735716 |
| código_de_divisa | No | USD |
| response_id | No | CKak5t_oovcCFRPJdwodJXQNRw |
| valor_micros | Sí | 0.0001 |
| nombre_de_la_clase_del_adaptador_de_mediación | No | GADMAdapterGoogleAdMobAds |
| tipo_de_precisión | No | Desconocido |
referencia: https://developers.google.com/admob/android/impression-level-ad-revenue#implementing_a_paid_event_handler