接入安卓SDK的游戏及应用的android客户端开发者。
使用此文档内接口,需要先接入安卓BaseSDK。
1 接入安卓SDK后,需要配置Applovin SDK需要的依赖库。
将以下代码添加到您app的build.gradle中:
implementation 'com.wpmid.midbase:MIDADSAppLovin:1.0.16'
2 添加广告依赖库仓库地址 到项目build.gradle中
allprojects {
repositories {
maven {
name "ironsource repo"
url 'https://android-sdk.is.com/'
}
maven {
name "Tapjoy's maven repo"
url "https://sdk.tapjoy.com/"
}
maven {
name 'mintegral ads'
url "https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea"
}
maven {
name 'bytedance ads'
url 'https://artifact.bytedance.com/repository/pangle'
}
}
}
此接口需要在SDK 初始化以后调用。
设置视频激励回调,在回调内处理视频播放结果
/**
* 视频激励回调
*/
MIDBaseSDK.getInstance(this).setMIDAdsApplovinListener(mMIDAdsApplovinListener);
接收到的数据为激励视频 播放结果。
接口 | 接口说明 |
---|---|
onLoadAdError | 视频加载错误 |
onLoadAdComplete | 视频加载完成,可以播放 |
onAdShowStart | 视频开始播放 |
onAdClicked | 用户点击了广告上的下载链接 |
onAdClose | 激励视频视频关闭 |
onAdDisplayFailed | 视频播放错误 |
onRewardVerify | 激励视频发放奖励,奖励信息运营配置到广告后台 |
/**
* 视频回调
*/
private final MIDAdsApplovinListener mMIDAdsApplovinListener = new MIDAdsApplovinListener() {
/**
* 加载错误
*
* @param code applovin 返回的错误码
* @param message applovin 返回的错误信息
*/
@Override
public void onLoadAdError(String adUnitId,int code, String message) {
Toast.makeText(MIDBase_Demo_MainActivity.mMainActivity, "视频加载错误code:" + code + " " + message, Toast.LENGTH_LONG);
}
/**
* 加载完成
*
* @param adUnitId 广告位ID
*/
@Override
public void onLoadAdComplete(String adUnitId) {
Toast.makeText(MIDBase_Demo_MainActivity.mMainActivity, "视频加载完成", Toast.LENGTH_LONG);
}
/**
* 视频广告开始展示回调
*
* @param adUnitId 广告位ID
*/
@Override
public void onAdShowStart(String adUnitId) {
Toast.makeText(MIDBase_Demo_MainActivity.mMainActivity, "视频开始播放", Toast.LENGTH_LONG);
}
/**
* 广告被点击回调
*
* @param adUnitId 广告位ID
*/
@Override
public void onAdClicked(String adUnitId) {
Toast.makeText(MIDBase_Demo_MainActivity.mMainActivity, "点击了广告上的下载", Toast.LENGTH_LONG);
}
/**
* 视频广告关闭回调,
* 关闭视频回到游戏的时候触发
*
* @param adUnitId 广告位ID
*/
@Override
public void onAdClose(String adUnitId) {
Toast.makeText(MIDBase_Demo_MainActivity.mMainActivity, "视频关闭", Toast.LENGTH_LONG);
}
/**
* 视频广告播放错误回调
*
* @param message applovin 返回的错误信息
*/
@Override
public void onAdDisplayFailed(String adUnitId,String message) {
Toast.makeText(MIDBase_Demo_MainActivity.mMainActivity, "视频错误", Toast.LENGTH_LONG);
}
/**
* 视频播放奖励验证回调
*
* @param adUnitId 广告位ID
* @param rewardAmount 奖励数量 媒体平台创建代码位时配置的数值
* @param rewardName 奖励名称 ,媒体平台创建代码位时配置的名称
*/
@Override
public void onRewardVerify(String adUnitId, int rewardAmount, String rewardName) {
Toast.makeText(MIDBase_Demo_MainActivity.mMainActivity, "奖励发放: 数量:"
+ rewardAmount + " 名字:" + rewardName, Toast.LENGTH_LONG);
}
};
缓存激励视频,研发可以先缓存一份广告,用于加速视频播放。
如果游戏需要提前缓存广告,可以在登录后缓存一份,然后每次展示完广告后再次加载下一个。
建议在:onLoadAdError 加载错误时重试。 onAdClose 在广告关闭以后重新加载下一个。
/**
* 视频激励广告 加载
*
* @param adid applovin平台创建的代码位ID
*/
public void MIDLoadRewardedAd(final String adid);
/**
* 视频激励广告 加载
*
* @param adid applovin平台创建的代码位ID
*/
MIDBaseSDK.getInstance(this).MIDLoadRewardedAd("applovin平台创建的代码位ID");
使用此方式播放,需要先加载完成广告
传入事件名,播放位置信息。研发自定义,
比如 升级,购买道具,复活等等。
/**
* 播放视频激励广告
*
* @param placement 事件名,播放位置信息。研发自定义
*/
public void MIDShowRewardedAd(final String placement);
/**
* 播放视频激励广告
*
* @param placement 事件名
*/
MIDBaseSDK.getInstance(this).MIDShowRewardedAd("testPlaceMent");
调用此接口后视频先加载,加载完成以后自动播放。
传入事件名,播放位置信息。研发自定义,
比如 升级,购买道具,复活等等。
如果游戏需要提前缓存广告,可以在登录后缓存一份,然后每次展示完广告后再次加载下一个。
建议在:onLoadAdError 加载错误时重试。 onAdClose 在广告关闭以后重新加载下一个。
/**
* 视频激励广告 加载并播放
*
* @param adid applovin平台创建的代码位ID
* @param placement 事件名,播放位置信息。研发自定义
*/
public void MIDLoadShowRewardedAd(final String adid, final String placement);
/**
* 视频激励广告 加载并播放
*
* @param adid applovin平台创建的代码位ID
* @param placement 事件名,播放位置信息。研发自定义
*/
MIDBaseSDK.getInstance(this).MIDLoadShowRewardedAd(
"86022121da4307ed", "testPlaceMent");
此接口需要在SDK 初始化以后调用。
设置插页广告回调,在回调内处理视频播放结果,
插页广告和激励视频区别是没有发奖逻辑,没有发奖回调。广告播放结束用户点关闭后,只有关闭回调。
SDK3.0.8版本 开始支持此功能
/**
* 插页视频回调
*/
MIDBaseSDK.getInstance(this).setMIDAdsApplovinCoreListener(mMIDAdsApplovinCoreListener);
接收到的数据为广告 播放结果。
接口 | 接口说明 |
---|---|
onLoadAdError | 视频加载错误 |
onLoadAdComplete | 视频加载完成,可以播放 |
onAdShowStart | 视频开始播放 |
onAdClicked | 用户点击了广告上的下载链接 |
onAdClose | 视频关闭 |
onAdDisplayFailed | 视频播放错误 |
/**
* 视频回调
*/
private final MIDAdsApplovinCoreListener mMIDAdsApplovinListener = new MIDAdsApplovinCoreListener() {
/**
* 加载错误
*
* @param code applovin 返回的错误码
* @param message applovin 返回的错误信息
*/
@Override
public void onLoadAdError(String adUnitId,int code, String message) {
Toast.makeText(MIDBase_Demo_MainActivity.mMainActivity, "视频加载错误code:" + code + " " + message, Toast.LENGTH_LONG);
}
/**
* 加载完成
*
* @param adUnitId 广告位ID
*/
@Override
public void onLoadAdComplete(String adUnitId) {
Toast.makeText(MIDBase_Demo_MainActivity.mMainActivity, "视频加载完成", Toast.LENGTH_LONG);
}
/**
* 视频广告开始展示回调
*
* @param adUnitId 广告位ID
*/
@Override
public void onAdShowStart(String adUnitId) {
Toast.makeText(MIDBase_Demo_MainActivity.mMainActivity, "视频开始播放", Toast.LENGTH_LONG);
}
/**
* 广告被点击回调
*
* @param adUnitId 广告位ID
*/
@Override
public void onAdClicked(String adUnitId) {
Toast.makeText(MIDBase_Demo_MainActivity.mMainActivity, "点击了广告上的下载", Toast.LENGTH_LONG);
}
/**
* 视频广告关闭回调,
* 关闭视频回到游戏的时候触发
*
* @param adUnitId 广告位ID
*/
@Override
public void onAdClose(String adUnitId) {
Toast.makeText(MIDBase_Demo_MainActivity.mMainActivity, "视频关闭", Toast.LENGTH_LONG);
}
/**
* 视频广告播放错误回调
*
* @param message applovin 返回的错误信息
*/
@Override
public void onAdDisplayFailed(String adUnitId,String message) {
Toast.makeText(MIDBase_Demo_MainActivity.mMainActivity, "视频错误", Toast.LENGTH_LONG);
}
};
缓存插页广告,研发可以先缓存一份广告,用于加速视频播放。
如果游戏需要提前缓存广告,可以在登录后缓存一份,然后每次展示完广告后再次加载下一个。
建议在:onLoadAdError 加载错误时重试。 onAdClose 在广告关闭以后重新加载下一个。
/**
* 插页广告 加载
*
* @param adid applovin平台创建的代码位ID
*/
public void MIDLoadInterstitialAd(final String adid);
/**
* 插页广告 加载
*
* @param adid applovin平台创建的代码位ID
*/
MIDBaseSDK.getInstance(this).MIDLoadInterstitialAd("applovin平台创建的代码位ID");
使用此方式播放,需要先加载完成广告
传入事件名,播放位置信息。研发自定义,
比如 升级,购买道具,复活等等。
/**
* 播放插页广告
*
* @param placement 事件名,播放位置信息。研发自定义
*/
public void MIDShowInterstitialAd(final String placement);
/**
* 播放插页广告
*
* @param placement 事件名
*/
MIDBaseSDK.getInstance(this).MIDShowInterstitialAd("testPlaceMent");
调用此接口后视频先加载,加载完成以后自动播放。
传入事件名,播放位置信息。研发自定义,
比如 升级,购买道具,复活等等。
如果游戏需要提前缓存广告,可以在登录后缓存一份,然后每次展示完广告后再次加载下一个。
建议在:onLoadAdError 加载错误时重试。 onAdClose 在广告关闭以后重新加载下一个。
/**
* 插页广告 加载并播放
*
* @param adid applovin平台创建的代码位ID
* @param placement 事件名,播放位置信息。研发自定义
*/
public void MIDLoadShowInterstitialAd(final String adid, final String placement);
/**
* 插页广告 加载并播放
*
* @param adid applovin平台创建的代码位ID
* @param placement 事件名,播放位置信息。研发自定义
*/
MIDBaseSDK.getInstance(this).MIDLoadShowInterstitialAd(
"applovin平台创建的代码位ID", "testPlaceMent");
此接口需要在SDK 初始化以后调用。
横幅广告就是一个常驻的广告条幅, 广告展示完成以后会自动刷新。
SDK3.0.8版本 开始支持此功能
/**
* 插页视频回调
*/
MIDBaseSDK.getInstance(this).setMIDAdsApplovinBannerListener(mMIDAdsApplovinBannerListener);
接收到的数据为横幅视频 播放结果。
接口 | 接口说明 |
---|---|
onLoadAdError | 视频加载错误 |
onLoadAdComplete | 视频加载完成,可以播放 |
onAdShowStart | 视频开始播放 |
onAdClicked | 用户点击了广告上的下载链接 |
onAdClose | 视频关闭 |
onAdDisplayFailed | 视频播放错误 |
onAdExpanded | 看applovin文档是横幅展开,实际测试没有被触发过 |
onAdCollapsed | 看applovin文档是横幅折叠,实际测试没有被触发过 |
/**
* 视频回调
*/
private final MIDAdsApplovinBannerListener mMIDAdsApplovinBannerListener = new MIDAdsApplovinBannerListener() {
@Override
public void onAdExpanded(String adUnitId) {
Log.i(MIDBase_Demo_MainActivity.LOGTAG, " 横幅 onAdExpanded 展开");
}
@Override
public void onAdCollapsed(String adUnitId) {
Log.i(MIDBase_Demo_MainActivity.LOGTAG, " 横幅 onAdCollapsed 折叠");
}
@Override
public void onLoadAdError(String adUnitId, int code, String message) {
Log.i(MIDBase_Demo_MainActivity.LOGTAG, " 横幅 onLoadAdError code:" + code + " message:" + message);
Toast.makeText(MIDBase_Demo_Ads.this, "横幅视频加载错误code:" + code + " " + message, Toast.LENGTH_LONG).show();
}
@Override
public void onLoadAdComplete(String adUnitId) {
Log.i(MIDBase_Demo_MainActivity.LOGTAG, " 横幅 onLoadAdComplete adUnitId:" + adUnitId);
Toast.makeText(MIDBase_Demo_Ads.this, "横幅视频加载完成", Toast.LENGTH_LONG).show();
}
@Override
public void onAdShowStart(String adUnitId) {
Log.i(MIDBase_Demo_MainActivity.LOGTAG, " 横幅 onAdShowStart adUnitId:" + adUnitId);
Toast.makeText(MIDBase_Demo_Ads.this, "横幅视频开始播放", Toast.LENGTH_LONG).show();
}
@Override
public void onAdClicked(String adUnitId) {
Log.i(MIDBase_Demo_MainActivity.LOGTAG, " 横幅 onAdClicked adUnitId:" + adUnitId);
Toast.makeText(MIDBase_Demo_Ads.this, "横幅点击了广告上的下载", Toast.LENGTH_LONG).show();
}
@Override
public void onAdClose(String adUnitId) {
Log.i(MIDBase_Demo_MainActivity.LOGTAG, " 横幅 onAdClose adUnitId:" + adUnitId);
Toast.makeText(MIDBase_Demo_Ads.this, "横幅视频关闭", Toast.LENGTH_LONG).show();
}
@Override
public void onAdDisplayFailed(String adUnitId, String message) {
Log.i(MIDBase_Demo_MainActivity.LOGTAG, " 横幅 onAdDisplayFailed message:" + message);
Toast.makeText(MIDBase_Demo_Ads.this, "横幅视频错误", Toast.LENGTH_LONG).show();
}
};
展示横幅广告,展示的时候可以设置在顶部展示,还是底部展示。
支持设置背景色,建议配置为透明色,这样广告未覆盖区域可以展示游戏背景。
横幅广告展示后 默认会自动加载更新广告,不会一直展示同一个广告。自动展示策略由applovin自动控制。
/**
* 横幅广告加载展示
*
* @param adid 广告位ID
* @param gravity 展示位置 Gravity.BOTTOM(底部), Gravity.TOP(顶部)
* @param BackgroundColor 背景颜色 Color.TRANSPARENT(透明色)
*/
public void MIDShowBannerAd(final String adid, final int gravity, final int BackgroundColor)
/**
* 横幅广告加载展示
*
* @param adid 广告位ID
* @param gravity 展示位置 Gravity.BOTTOM(底部), Gravity.TOP(顶部)
* @param BackgroundColor 背景颜色 Color.TRANSPARENT(透明色)
*/
MIDBaseSDK.getInstance(this).MIDShowBannerAd("applovin平台创建的代码位ID", Gravity.BOTTOM, Color.TRANSPARENT);
展示横幅广告,展示的时候可以设置在顶部展示,还是底部展示。
支持设置背景色,建议配置为透明色,这样广告未覆盖区域可以展示游戏背景。
支持设置间距, 可以单独设置距离上下左右间距, 如果设置为底部时 可以设置距离底部间距,如果设置为顶部时设置距离顶部间距。
横幅广告展示后 默认会自动加载更新广告,不会一直展示同一个广告。自动展示策略由applovin自动控制。
/**
* 横幅广告加载展示
*
* @param adid 广告位ID
* @param gravity 展示位置 Gravity.BOTTOM
* @param BackgroundColor 背景颜色 Color.BLACK
* @param marginTop 距离顶部边距
* @param marginBottom 距离底部边距
* @param marginLeft 距离左边边距
* @param marginRight 距离右边边距
*/
public void MIDShowBannerAd(String adid, int gravity, int BackgroundColor,
int marginTop, int marginBottom, int marginLeft, int marginRight);
/**
* 横幅广告加载展示
*
* @param adid 广告位ID
* @param gravity 展示位置 Gravity.BOTTOM
* @param BackgroundColor 背景颜色 Color.BLACK
* @param marginTop 距离顶部边距
* @param marginBottom 距离底部边距
* @param marginLeft 距离左边边距
* @param marginRight 距离右边边距
*/
// 设置距离左右30dp 底部10dp
int marginLeft = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 30, this.getResources().getDisplayMetrics());
int marginRight = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 30, this.getResources().getDisplayMetrics());
int marginBottom = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 10, this.getResources().getDisplayMetrics());
MIDBaseSDK.getInstance(this).MIDShowBannerAd("applovin平台创建的代码位ID", Gravity.BOTTOM, Color.TRANSPARENT,
0, marginBottom, marginLeft, marginRight);
关闭横幅广告。
/**
* 关闭横幅广告
*/
public void MIDBannerClose() ;
/**
*关闭横幅广告
*/
MIDBaseSDK.getInstance(this).MIDBannerClose();