接入龙图安卓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节点添加如下配置:
<application
android:requestLegacyExternalStorage="true"
tools:ignore="GoogleAppIndexingWarning"
tools:replace="android:fullBackupContent"
android:fullBackupContent="@xml/backup_rules"
>
8 开启androidx
工程 gradle.properties 文件内 useAndroidX 和 enableJetifier 需要配置为true
android.useAndroidX=true
android.enableJetifier=true
此接口需要在龙图SDK 初始化以后调用。
设置视频激励回调,在回调内处理视频播放结果
/**
* 视频激励回调
*/
LTAdsAppLovin.getInstance().setLTAdsApplovinListener(mLTAdsApplovinListener);
接收到的数据为激励视频 播放结果。
接口 | 接口说明 |
---|---|
onLoadAdError | 视频加载错误 |
onLoadAdComplete | 视频加载完成,可以播放 |
onAdShowStart | 视频开始播放 |
onAdVideoBarClick | 用户点击了广告上的下载链接 |
onAdClose | 激励视频视频关闭 |
onVideoError | 视频播放错误 |
onRewardVerify | 激励视频发放奖励,奖励信息运营配置到广告后台 |
/**
* 视频回调
*/
private LTAdsApplovinListener mLTAdsApplovinListener = new LTAdsApplovinListener() {
@Override
public void onLoadAdError(int code, String message) {
Toast.makeText(LTBase_Demo_MainActivity.mMainActivity, "视频加载错误code:" + code + " " + message, Toast.LENGTH_LONG).show();
}
@Override
public void onLoadAdComplete() {
Toast.makeText(LTBase_Demo_MainActivity.mMainActivity, "视频加载完成", Toast.LENGTH_LONG).show();
}
@Override
public void onAdShowStart() {
Toast.makeText(LTBase_Demo_MainActivity.mMainActivity, "视频开始播放", Toast.LENGTH_LONG).show();
}
@Override
public void onAdVideoBarClick() {
Toast.makeText(LTBase_Demo_MainActivity.mMainActivity, "点击了广告上的下载", Toast.LENGTH_LONG).show();
}
@Override
public void onAdClose() {
Toast.makeText(LTBase_Demo_MainActivity.mMainActivity, "视频关闭", Toast.LENGTH_LONG).show();
}
@Override
public void onVideoError() {
Toast.makeText(LTBase_Demo_MainActivity.mMainActivity, "视频错误", Toast.LENGTH_LONG).show();
}
@Override
public 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() {
@Override
public void onRequestSuccess() { //初始化成功即会回调此接口,表示可以打开积分墙
LTToast.makeText(LTBase_Demo_MainActivity.mMainActivity, "IronSourceOfferWall:请求成功", Toast.LENGTH_LONG);
}
@Override
public void onRequestFailure() {//初始化失败即会回调此接口
LTToast.makeText(LTBase_Demo_MainActivity.mMainActivity, "IronSourceOfferWall:请求失败", Toast.LENGTH_LONG);
}
@Override
public void onContentShow() {
LTToast.makeText(LTBase_Demo_MainActivity.mMainActivity, "IronSourceOfferWall:展示成功", Toast.LENGTH_LONG);
}
@Override
public void onContentShowFailed(int code, String msg) {
LTToast.makeText(LTBase_Demo_MainActivity.mMainActivity, "IronSourceOfferWall:展示失败 " +
"code:" + code + "@msg:" + msg, Toast.LENGTH_LONG);
}
@Override
public 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() {
@Override
public void onRequestSuccess() {
LTToast.makeText(LTBase_Demo_MainActivity.mMainActivity, "TapjoyOfferWall:请求成功", Toast.LENGTH_LONG);
}
@Override
public void onRequestFailure(int code, String msg) {
LTToast.makeText(LTBase_Demo_MainActivity.mMainActivity, "TapjoyOfferWall:请求失败code:" +
"" + code + "@msg:" + msg, Toast.LENGTH_LONG);
}
@Override
public void onContentReady() {
LTToast.makeText(LTBase_Demo_MainActivity.mMainActivity, "TapjoyOfferWall:加载完成", Toast.LENGTH_LONG);
}
@Override
public void onContentShow() {
LTToast.makeText(LTBase_Demo_MainActivity.mMainActivity, "TapjoyOfferWall:展示成功", Toast.LENGTH_LONG);
}
@Override
public void onContentDismiss() {
LTToast.makeText(LTBase_Demo_MainActivity.mMainActivity, "TapjoyOfferWall:关闭", Toast.LENGTH_LONG);
}
};
/**
* 积分墙调用
* @param activity 当前activity实列
*/
LTAdsAppLovin.getInstance().LTAdsOpenTapjoyOfferWall(Activity activity);
上海中清龙图软件有限公司