接入龙图安卓SDK的游戏及应用的android客户端开发者。
使用此文档内接口,需要先接入龙图安卓海外SDK。
1 接入龙图安卓SDK后,需要配置Applovin SDK需要的依赖库。
2 然后将 ApplovinSDKLibrary/libs目录下的jar 和 aar 复制到你的工程的
Application Module/libs文件夹(没有的话须手动创建),
需要删除龙图base内的LongTuApplication-release-{version}.aar
3 复制 ApplovinSDKLibrary/res 目录下的内容到工程的res目录下
4 将以下代码添加到您app的build.gradle中:
implementation 'com.google.firebase:firebase-analytics:18.0.0'implementation 'com.appsflyer:af-android-sdk:6.0.0'implementation 'com.android.installreferrer:installreferrer:1.0'implementation 'androidx.multidex:multidex:2.0.1'implementation "com.google.android.gms:play-services-games:16.0.0"implementation "com.google.android.gms:play-services-auth:16.0.1"implementation 'com.google.firebase:firebase-messaging:18.0.0'implementation "com.android.billingclient:billing:3.0.0"implementation "com.facebook.android:facebook-login:5.13.0"implementation "com.facebook.android:facebook-share:5.13.0"implementation 'com.applovin:applovin-sdk:11.3.3'implementation 'com.applovin.mediation:tapjoy-adapter:+'implementation 'com.applovin.mediation:vungle-adapter:+'implementation 'com.applovin.mediation:unityads-adapter:+'implementation 'com.applovin.mediation:facebook-adapter:+'implementation 'com.android.support:recyclerview-v7:28.+'implementation 'com.android.support:appcompat-v7:28.+'implementation 'com.applovin.mediation:google-adapter:+'implementation 'com.applovin.mediation:bytedance-adapter:+'//积分墙implementation 'com.ironsource.sdk:mediationsdk:7.1.6.1'implementation 'com.tapjoy:tapjoy-android-sdk:12.8.1'
5 注意:AndroidManifest.xml 中有需要替换为包名的位置,需要配置为${applicationId}。
(apk版本的时候是 ltbase_package_name,这里是${applicationId})。
6 添加applovin参数,配置到 AndroidManifest.xml 内 meta-data 参数
applovin参数需要找运营同学获取
com.google.android.gms.ads.APPLICATION_ID参数需要找运营同学获取
参考SDK/ApplovinSDKLibrary/AndroidManifest.xml 文件
| 参数key | 参数说明 | 是否必选 | 获取方式 |
|---|---|---|---|
| applovin.sdk.key | applovinsdkkey | 必选 | 技术支持提供 |
| com.google.android.gms.ads.APPLICATION_ID | 谷歌gmsid | 必选 | 技术支持提供 |
| com.facebook.sdk.ApplicationId | facebook appid | 必选 | 技术支持提供 |
| LTGooglePay_Default_PropID | 默认商品id appid | 必选 | 技术支持提供 |
| LTGoogleLoginClient | 谷歌登录客户端id | 必选 | 技术支持提供 |
| LTGoogleEncodedPublicKey | 谷歌支付key | 必选 | 技术支持提供 |
| appsFlyerSDK_key | appsflyerkey | 必选 | 技术支持提供 |
| CHANNEL | appsflyer渠道 | 必选 | 技术支持提供 |
7 适配Android10
前提:如果您的应用需要适配Android10(即设置targetSdkVersion=29) ##### 1.2.5.1 沙盒特性适配 因为Android10增加了沙盒特性,为保证在Android 10手机上功能正常,请在AndroidManifest.xml``application节点添加如下配置:
<applicationandroid:requestLegacyExternalStorage="true"tools:ignore="GoogleAppIndexingWarning"tools:replace="android:fullBackupContent"android:fullBackupContent="@xml/backup_rules">
8 开启androidx
工程 gradle.properties 文件内 useAndroidX 和 enableJetifier 需要配置为true
android.useAndroidX=trueandroid.enableJetifier=true
此接口需要在龙图SDK 初始化以后调用。
设置视频激励回调,在回调内处理视频播放结果
/*** 视频激励回调*/LTAdsAppLovin.getInstance().setLTAdsApplovinListener(mLTAdsApplovinListener);
接收到的数据为激励视频 播放结果。
| 接口 | 接口说明 |
|---|---|
| onLoadAdError | 视频加载错误 |
| onLoadAdComplete | 视频加载完成,可以播放 |
| onAdShowStart | 视频开始播放 |
| onAdVideoBarClick | 用户点击了广告上的下载链接 |
| onAdClose | 激励视频视频关闭 |
| onVideoError | 视频播放错误 |
| onRewardVerify | 激励视频发放奖励,奖励信息运营配置到广告后台 |
/*** 视频回调*/private LTAdsApplovinListener mLTAdsApplovinListener = new LTAdsApplovinListener() {@Overridepublic void onLoadAdError(int code, String message) {Toast.makeText(LTBase_Demo_MainActivity.mMainActivity, "视频加载错误code:" + code + " " + message, Toast.LENGTH_LONG).show();}@Overridepublic void onLoadAdComplete() {Toast.makeText(LTBase_Demo_MainActivity.mMainActivity, "视频加载完成", Toast.LENGTH_LONG).show();}@Overridepublic void onAdShowStart() {Toast.makeText(LTBase_Demo_MainActivity.mMainActivity, "视频开始播放", Toast.LENGTH_LONG).show();}@Overridepublic void onAdVideoBarClick() {Toast.makeText(LTBase_Demo_MainActivity.mMainActivity, "点击了广告上的下载", Toast.LENGTH_LONG).show();}@Overridepublic void onAdClose() {Toast.makeText(LTBase_Demo_MainActivity.mMainActivity, "视频关闭", Toast.LENGTH_LONG).show();}@Overridepublic void onVideoError() {Toast.makeText(LTBase_Demo_MainActivity.mMainActivity, "视频错误", Toast.LENGTH_LONG).show();}@Overridepublic void onRewardVerify(int rewardAmount, String rewardName) {Toast.makeText(LTBase_Demo_MainActivity.mMainActivity, "奖励发放: 数量:"+ rewardAmount + " 名字:" + rewardName, Toast.LENGTH_LONG).show();}};
缓存激励视频,研发可以先缓存一份广告,用于加速视频播放。
/*** 视频激励广告 加载**@param activity 当前activity实列* @param adid applovin平台创建的代码位ID 以9开头9位数字* @param MediaExtra 用户透传信息*/public void LTLoadRewardAd(Activity activity, String adid, String MediaExtra);
/**** 视频激励广告 加载* @param activity 当前activity实列* @param adid applovin平台创建的代码位ID 以9开头9位数字* @param MediaExtra 用户透传信息(预留参数,暂时没有作用)*/LTAdsAppLovin.getInstance().LTLoadRewardAd(this, "视频广告id", "研发透传信息");
视频上次加载完成广告。
/*** 播放视频激励广告* @param Activity 当前activity实列*/public void LTShowRewardAd(Activity activity)
/*** 播放视频激励广告* @param Activity 当前activity实列*/LTAdsAppLovin.getInstance().LTShowRewardAd(this);
调用此接口后视频先加载,加载完成以后自动播放。
/*** 视频激励广告 加载并播放* @param activity 当前activity实列* @param codeid applovin平台创建的代码位ID 以9开头9位数字* @param MediaExtra 用户透传信息(预留参数,暂时没有作用)*/public void LTLoadAndShowRewardAd(Activity activity, String codeid, String MediaExtra) {
/*** 视频激励广告 加载并播放* @param activity 当前activity实列* @param codeid applovin平台创建的代码位ID 以9开头9位数字* @param MediaExtra 用户透传信息*/LTAdsAppLovin.getInstance().LTLoadAndShowRewardAd(this, "视频广告id", "研发透传信息");
视频上次加载完成广告。传入事件名
/*** 播放视频激励广告** @param placement 事件名*/public void LTShowRewardAd(Activity activity, String placement);
/*** 播放视频激励广告* @param Activity 当前activity实列*/LTAdsAppLovin.getInstance().LTShowRewardAd(this, "事件名");
调用此接口后视频先加载,加载完成以后自动播放。传入事件名
/*** 视频激励广告 加载并播放** @param placement 事件名* @param codeid applovin平台创建的代码位ID 以9开头9位数字* @param MediaExtra 用户透传信息*/public void LTLoadAndShowRewardAd(Activity activity, String placement, String codeid, String MediaExtra);
/*** 视频激励广告 加载并播放* @param activity 当前activity实列* @param placement 事件名* @param codeid applovin平台创建的代码位ID 以9开头9位数字* @param MediaExtra 用户透传信息*/LTAdsAppLovin.getInstance().LTLoadAndShowRewardAd(this,"事件名", "视频广告id", "研发透传信息");
此功能用于积分墙功能接入,用户完成积分墙任务以获得奖励。目前提供IronSource和Tapjoy两种接入平台
添加积分墙参数,配置到 AndroidManifest.xml 内 meta-data 参数
参数需要找运营同学获取
参考SDK/ApplovinSDKLibrary/AndroidManifest.xml 文件
| 参数key | 参数说明 | 是否必选 | 获取方式 |
|---|---|---|---|
| IronSourceAppKey | ironsource参数 | 必选 | 运营提供 |
| TapjoyAppKay | tapjoy参数 | 必选 | 运营提供 |
| TapJoyPlacementName | tapjoy积分墙名称 | 必选 | 运营提供 |
/*** 积分墙初始化* 需在打开积分墙功能之前调用* @param activity 当前activity实列*/LTAdsAppLovin.getInstance().Init(Activity activity);
此接口可以设置扩展参数,在服务端回调中返回此参数
/*** 积分墙扩展参数* 需在打开积分墙功能之前调用* @param extention 扩展参数*/LTAdsAppLovin.getInstance().setLTAdsOfferWallSetExtentionId(String extention);
| 接口 | 接口说明 |
|---|---|
| onRequestSuccess | 积分墙请求成功 |
| onRequestFailure | 积分墙请求失败 |
| onContentShow | 积分墙展示成功 |
| onContentShowFailed | 积分墙请求失败 |
| onContentDismiss | 积分墙关闭 |
/*** 积分墙回调设置*/private LTAdsISOfferWallListener mLTAdsISOfferWallListener = new LTAdsISOfferWallListener() {@Overridepublic void onRequestSuccess() { //初始化成功即会回调此接口,表示可以打开积分墙LTToast.makeText(LTBase_Demo_MainActivity.mMainActivity, "IronSourceOfferWall:请求成功", Toast.LENGTH_LONG);}@Overridepublic void onRequestFailure() {//初始化失败即会回调此接口LTToast.makeText(LTBase_Demo_MainActivity.mMainActivity, "IronSourceOfferWall:请求失败", Toast.LENGTH_LONG);}@Overridepublic void onContentShow() {LTToast.makeText(LTBase_Demo_MainActivity.mMainActivity, "IronSourceOfferWall:展示成功", Toast.LENGTH_LONG);}@Overridepublic void onContentShowFailed(int code, String msg) {LTToast.makeText(LTBase_Demo_MainActivity.mMainActivity, "IronSourceOfferWall:展示失败 " +"code:" + code + "@msg:" + msg, Toast.LENGTH_LONG);}@Overridepublic void onContentDismiss() {LTToast.makeText(LTBase_Demo_MainActivity.mMainActivity, "IronSourceOfferWall:关闭", Toast.LENGTH_LONG);}};
/*** 积分墙调用* @param activity 当前activity实列*/LTAdsAppLovin.getInstance().LTAdsOpenIronSourceOfferWall(Activity activity);
| 接口 | 接口说明 |
|---|---|
| onRequestSuccess | 积分墙请求成功 |
| onRequestFailure | 积分墙请求失败 |
| onContentReady | 积分墙加载完成 |
| onContentShow | 积分墙展示成功 |
| onContentDismiss | 积分墙关闭 |
/*** Tapjoy积分墙回调*/private LTAdsTJOfferWallListener mLTAdsTJOfferWallListener = new LTAdsTJOfferWallListener() {@Overridepublic void onRequestSuccess() {LTToast.makeText(LTBase_Demo_MainActivity.mMainActivity, "TapjoyOfferWall:请求成功", Toast.LENGTH_LONG);}@Overridepublic void onRequestFailure(int code, String msg) {LTToast.makeText(LTBase_Demo_MainActivity.mMainActivity, "TapjoyOfferWall:请求失败code:" +"" + code + "@msg:" + msg, Toast.LENGTH_LONG);}@Overridepublic void onContentReady() {LTToast.makeText(LTBase_Demo_MainActivity.mMainActivity, "TapjoyOfferWall:加载完成", Toast.LENGTH_LONG);}@Overridepublic void onContentShow() {LTToast.makeText(LTBase_Demo_MainActivity.mMainActivity, "TapjoyOfferWall:展示成功", Toast.LENGTH_LONG);}@Overridepublic void onContentDismiss() {LTToast.makeText(LTBase_Demo_MainActivity.mMainActivity, "TapjoyOfferWall:关闭", Toast.LENGTH_LONG);}};
/*** 积分墙调用* @param activity 当前activity实列*/LTAdsAppLovin.getInstance().LTAdsOpenTapjoyOfferWall(Activity activity);

上海中清龙图软件有限公司