O SDK do Tenjin pode recolher dados de receitas ao nível das impressões do AdMob e enviar eventos de receitas para o Tenjin. Esta integração enviará dados relacionados com as receitas de cada impressão publicitária veiculada pelo AdMob. Aqui estão os passos para a integração:
- Adicione a versão mais recente do SDK do AdMob ao ficheiro build.gradle do seu aplicativo: https://developers.google.com/admob/android/quick-start#import_the_mobile_ads_sdk
Certifique-se de que tem instalado a versão mais recente do SDK do AdMob Android (>= 20.5.0). - Ative a configuração para receitas publicitárias por impressão na sua conta do AdMob:
- Inicie sessão na sua conta AdMob em https://admob.google.com.
- Clique em Definições na barra lateral.
- Clique no separador Conta.
- Na secção “Controlos da conta”, ative a opção «Receitas publicitárias ao nível das impressões» e clique em Guardar.
- Integre o SDK do AdMob na sua aplicação seguindo o código de exemplo abaixo. Crie um objeto AdRequest na sua atividade e carregue-o no objeto AdView. Em seguida, defina o método
setOnPaidEventListener, para que possa enviar dados de receitas ao nível das impressões para o SDK do Tenjin.
Java
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);
}
}ou passar manualmente os dados da impressão do anúncio através do método eventAdImpressionAdMob.
Java
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)
}
O corpo JSON deve seguir o formato abaixo:
| Parâmetro | É obrigatório? | Exemplo |
|---|---|---|
| ad_unit_id | Não | ca-app-pub-3940256099942544%2F2934735716 |
| código_da_moeda | Não | USD |
| response_id | Não | CKak5t_oovcCFRPJdwodJXQNRw |
| valor_micros | Sim | 0.0001 |
| nome_da_classe_do_adaptador_de_mediação | Não | GADMAdapterGoogleAdMobAds |
| tipo_de_precisão | Não | Desconhecido |
referência: https://developers.google.com/admob/android/impression-level-ad-revenue#implementing_a_paid_event_handler