跳到主要内容

Firebase对接

一、前提

  • 正确接入TradPlus SDK 和 Firebase SDK
  • 初始化SDK并集成某一类型广告
  • TradPlus SDK支持获取实时展示广告的收益。开发者可通过监听展示回调获取当前展示广告的ecpm值来记录 Google Analytics(分析)ad_impression 事件

二、代码调用

版本说明
V9.5.0.1+优化,可以直接调用,不用同步设置setAdListener
V8.8.0.1+提供了全局展示回调API。
同步需要调用对应类型的setAdListener,才能收到GlobalImpressionListener监听
V8.8.0.1及以下版本通过广告类型的onAdImpression获取广告收入
TradPlusSdk.setGlobalImpressionListener(new GlobalImpressionManager.GlobalImpressionListener() {
@Override
public void onImpressionSuccess(TPAdInfo tpAdInfo) {
mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);
if (tpAdInfo != null) {
Bundle bundle = new Bundle();
bundle.putString(FirebaseAnalytics.Param.AD_PLATFORM, "TradPlus");
bundle.putString(FirebaseAnalytics.Param.AD_SOURCE, tpAdInfo.adSourceName);
bundle.putString(FirebaseAnalytics.Param.CURRENCY, "USD");
bundle.putDouble(FirebaseAnalytics.Param.VALUE, tpAdInfo.ecpm/1000);
mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.AD_IMPRESSION, bundle);
}
}
});

三、其他

  • 同时引入Firebase和Google AdMob可能会有如下报错:java.lang.NoClassDefFoundError:Failed resolution of:Lcom/google/android/gms/ads/rewarded/RewardedAd,这是由于Firebase和Goolge AdMob SDK有冲突导致的

  • 解决:引用firebase方适配Goolge Admob的版本,原本play-services-ads注释

// 版本号,仅作举例说明,具体Firebase接入的版本要和TP Admob 推荐的版本号一致
// implementation 'com.google.android.gms:play-services-ads:22.0.0'
implementation 'com.google.firebase:firebase-ads:22.0.0'