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'