安卓SDK Applovin 广告功能接入说明

SDK说明

接入安卓SDK的游戏及应用的android客户端开发者。
使用此文档内接口,需要先接入安卓BaseSDK。

SDK配置说明

1 接入安卓SDK后,需要配置Applovin SDK需要的依赖库。
将以下代码添加到您app的build.gradle中:

  1. implementation 'com.wpmid.midbase:MIDADSAppLovin:1.0.16'

2 添加广告依赖库仓库地址 到项目build.gradle中

  1. allprojects {
  2. repositories {
  3. maven {
  4. name "ironsource repo"
  5. url 'https://android-sdk.is.com/'
  6. }
  7. maven {
  8. name "Tapjoy's maven repo"
  9. url "https://sdk.tapjoy.com/"
  10. }
  11. maven {
  12. name 'mintegral ads'
  13. url "https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea"
  14. }
  15. maven {
  16. name 'bytedance ads'
  17. url 'https://artifact.bytedance.com/repository/pangle'
  18. }
  19. }
  20. }

1 视频激励广告

1.0 设置视频激励回调

此接口需要在SDK 初始化以后调用。
设置视频激励回调,在回调内处理视频播放结果

1.0.1 接口介绍

  1. /**
  2. * 视频激励回调
  3. */
  4. MIDBaseSDK.getInstance(this).setMIDAdsApplovinListener(mMIDAdsApplovinListener);

1.0.2 功能回调说明

接收到的数据为激励视频 播放结果。

接口 接口说明
onLoadAdError 视频加载错误
onLoadAdComplete 视频加载完成,可以播放
onAdShowStart 视频开始播放
onAdClicked 用户点击了广告上的下载链接
onAdClose 激励视频视频关闭
onAdDisplayFailed 视频播放错误
onRewardVerify 激励视频发放奖励,奖励信息运营配置到广告后台
  1. /**
  2. * 视频回调
  3. */
  4. private final MIDAdsApplovinListener mMIDAdsApplovinListener = new MIDAdsApplovinListener() {
  5. /**
  6. * 加载错误
  7. *
  8. * @param code applovin 返回的错误码
  9. * @param message applovin 返回的错误信息
  10. */
  11. @Override
  12. public void onLoadAdError(String adUnitId,int code, String message) {
  13. Toast.makeText(MIDBase_Demo_MainActivity.mMainActivity, "视频加载错误code:" + code + " " + message, Toast.LENGTH_LONG);
  14. }
  15. /**
  16. * 加载完成
  17. *
  18. * @param adUnitId 广告位ID
  19. */
  20. @Override
  21. public void onLoadAdComplete(String adUnitId) {
  22. Toast.makeText(MIDBase_Demo_MainActivity.mMainActivity, "视频加载完成", Toast.LENGTH_LONG);
  23. }
  24. /**
  25. * 视频广告开始展示回调
  26. *
  27. * @param adUnitId 广告位ID
  28. */
  29. @Override
  30. public void onAdShowStart(String adUnitId) {
  31. Toast.makeText(MIDBase_Demo_MainActivity.mMainActivity, "视频开始播放", Toast.LENGTH_LONG);
  32. }
  33. /**
  34. * 广告被点击回调
  35. *
  36. * @param adUnitId 广告位ID
  37. */
  38. @Override
  39. public void onAdClicked(String adUnitId) {
  40. Toast.makeText(MIDBase_Demo_MainActivity.mMainActivity, "点击了广告上的下载", Toast.LENGTH_LONG);
  41. }
  42. /**
  43. * 视频广告关闭回调,
  44. * 关闭视频回到游戏的时候触发
  45. *
  46. * @param adUnitId 广告位ID
  47. */
  48. @Override
  49. public void onAdClose(String adUnitId) {
  50. Toast.makeText(MIDBase_Demo_MainActivity.mMainActivity, "视频关闭", Toast.LENGTH_LONG);
  51. }
  52. /**
  53. * 视频广告播放错误回调
  54. *
  55. * @param message applovin 返回的错误信息
  56. */
  57. @Override
  58. public void onAdDisplayFailed(String adUnitId,String message) {
  59. Toast.makeText(MIDBase_Demo_MainActivity.mMainActivity, "视频错误", Toast.LENGTH_LONG);
  60. }
  61. /**
  62. * 视频播放奖励验证回调
  63. *
  64. * @param adUnitId 广告位ID
  65. * @param rewardAmount 奖励数量 媒体平台创建代码位时配置的数值
  66. * @param rewardName 奖励名称 ,媒体平台创建代码位时配置的名称
  67. */
  68. @Override
  69. public void onRewardVerify(String adUnitId, int rewardAmount, String rewardName) {
  70. Toast.makeText(MIDBase_Demo_MainActivity.mMainActivity, "奖励发放: 数量:"
  71. + rewardAmount + " 名字:" + rewardName, Toast.LENGTH_LONG);
  72. }
  73. };

1.1 加载视频广告

1.1.1 功能介绍

缓存激励视频,研发可以先缓存一份广告,用于加速视频播放。
如果游戏需要提前缓存广告,可以在登录后缓存一份,然后每次展示完广告后再次加载下一个。
建议在:onLoadAdError 加载错误时重试。 onAdClose 在广告关闭以后重新加载下一个。

1.1.2 接口使用说明

  1. /**
  2. * 视频激励广告 加载
  3. *
  4. * @param adid applovin平台创建的代码位ID
  5. */
  6. public void MIDLoadRewardedAd(final String adid);

1.1.3 接口使用说明

  1. /**
  2. * 视频激励广告 加载
  3. *
  4. * @param adid applovin平台创建的代码位ID
  5. */
  6. MIDBaseSDK.getInstance(this).MIDLoadRewardedAd("applovin平台创建的代码位ID");

1.2 播放视频激励广告

1.2.1 功能介绍

使用此方式播放,需要先加载完成广告
传入事件名,播放位置信息。研发自定义,
比如 升级,购买道具,复活等等。

1.2.2 接口使用说明

  1. /**
  2. * 播放视频激励广告
  3. *
  4. * @param placement 事件名,播放位置信息。研发自定义
  5. */
  6. public void MIDShowRewardedAd(final String placement);

1.2.3 接口使用说明

  1. /**
  2. * 播放视频激励广告
  3. *
  4. * @param placement 事件名
  5. */
  6. MIDBaseSDK.getInstance(this).MIDShowRewardedAd("testPlaceMent");

1.3 视频加载并播放

1.3.1 功能介绍

调用此接口后视频先加载,加载完成以后自动播放。
传入事件名,播放位置信息。研发自定义,
比如 升级,购买道具,复活等等。

如果游戏需要提前缓存广告,可以在登录后缓存一份,然后每次展示完广告后再次加载下一个。
建议在:onLoadAdError 加载错误时重试。 onAdClose 在广告关闭以后重新加载下一个。

1.3.2 接口使用说明

  1. /**
  2. * 视频激励广告 加载并播放
  3. *
  4. * @param adid applovin平台创建的代码位ID
  5. * @param placement 事件名,播放位置信息。研发自定义
  6. */
  7. public void MIDLoadShowRewardedAd(final String adid, final String placement);

1.3.3 接口使用说明

  1. /**
  2. * 视频激励广告 加载并播放
  3. *
  4. * @param adid applovin平台创建的代码位ID
  5. * @param placement 事件名,播放位置信息。研发自定义
  6. */
  7. MIDBaseSDK.getInstance(this).MIDLoadShowRewardedAd(
  8. "86022121da4307ed", "testPlaceMent");

2 插页广告相关

2.0 设置插页广告相关回调

此接口需要在SDK 初始化以后调用。
设置插页广告回调,在回调内处理视频播放结果,
插页广告和激励视频区别是没有发奖逻辑,没有发奖回调。广告播放结束用户点关闭后,只有关闭回调。
SDK3.0.8版本 开始支持此功能

2.0.1 接口介绍

  1. /**
  2. * 插页视频回调
  3. */
  4. MIDBaseSDK.getInstance(this).setMIDAdsApplovinCoreListener(mMIDAdsApplovinCoreListener);

2.0.2 功能回调说明

接收到的数据为广告 播放结果。

接口 接口说明
onLoadAdError 视频加载错误
onLoadAdComplete 视频加载完成,可以播放
onAdShowStart 视频开始播放
onAdClicked 用户点击了广告上的下载链接
onAdClose 视频关闭
onAdDisplayFailed 视频播放错误
  1. /**
  2. * 视频回调
  3. */
  4. private final MIDAdsApplovinCoreListener mMIDAdsApplovinListener = new MIDAdsApplovinCoreListener() {
  5. /**
  6. * 加载错误
  7. *
  8. * @param code applovin 返回的错误码
  9. * @param message applovin 返回的错误信息
  10. */
  11. @Override
  12. public void onLoadAdError(String adUnitId,int code, String message) {
  13. Toast.makeText(MIDBase_Demo_MainActivity.mMainActivity, "视频加载错误code:" + code + " " + message, Toast.LENGTH_LONG);
  14. }
  15. /**
  16. * 加载完成
  17. *
  18. * @param adUnitId 广告位ID
  19. */
  20. @Override
  21. public void onLoadAdComplete(String adUnitId) {
  22. Toast.makeText(MIDBase_Demo_MainActivity.mMainActivity, "视频加载完成", Toast.LENGTH_LONG);
  23. }
  24. /**
  25. * 视频广告开始展示回调
  26. *
  27. * @param adUnitId 广告位ID
  28. */
  29. @Override
  30. public void onAdShowStart(String adUnitId) {
  31. Toast.makeText(MIDBase_Demo_MainActivity.mMainActivity, "视频开始播放", Toast.LENGTH_LONG);
  32. }
  33. /**
  34. * 广告被点击回调
  35. *
  36. * @param adUnitId 广告位ID
  37. */
  38. @Override
  39. public void onAdClicked(String adUnitId) {
  40. Toast.makeText(MIDBase_Demo_MainActivity.mMainActivity, "点击了广告上的下载", Toast.LENGTH_LONG);
  41. }
  42. /**
  43. * 视频广告关闭回调,
  44. * 关闭视频回到游戏的时候触发
  45. *
  46. * @param adUnitId 广告位ID
  47. */
  48. @Override
  49. public void onAdClose(String adUnitId) {
  50. Toast.makeText(MIDBase_Demo_MainActivity.mMainActivity, "视频关闭", Toast.LENGTH_LONG);
  51. }
  52. /**
  53. * 视频广告播放错误回调
  54. *
  55. * @param message applovin 返回的错误信息
  56. */
  57. @Override
  58. public void onAdDisplayFailed(String adUnitId,String message) {
  59. Toast.makeText(MIDBase_Demo_MainActivity.mMainActivity, "视频错误", Toast.LENGTH_LONG);
  60. }
  61. };

2.1 加载插页广告

2.1.1 功能介绍

缓存插页广告,研发可以先缓存一份广告,用于加速视频播放。
如果游戏需要提前缓存广告,可以在登录后缓存一份,然后每次展示完广告后再次加载下一个。
建议在:onLoadAdError 加载错误时重试。 onAdClose 在广告关闭以后重新加载下一个。

2.1.2 接口使用说明

  1. /**
  2. * 插页广告 加载
  3. *
  4. * @param adid applovin平台创建的代码位ID
  5. */
  6. public void MIDLoadInterstitialAd(final String adid);

2.1.3 接口使用说明

  1. /**
  2. * 插页广告 加载
  3. *
  4. * @param adid applovin平台创建的代码位ID
  5. */
  6. MIDBaseSDK.getInstance(this).MIDLoadInterstitialAd("applovin平台创建的代码位ID");

2.2 播放插页广告

2.2.1 功能介绍

使用此方式播放,需要先加载完成广告
传入事件名,播放位置信息。研发自定义,
比如 升级,购买道具,复活等等。

2.2.2 接口使用说明

  1. /**
  2. * 播放插页广告
  3. *
  4. * @param placement 事件名,播放位置信息。研发自定义
  5. */
  6. public void MIDShowInterstitialAd(final String placement);

2.2.3 接口使用说明

  1. /**
  2. * 播放插页广告
  3. *
  4. * @param placement 事件名
  5. */
  6. MIDBaseSDK.getInstance(this).MIDShowInterstitialAd("testPlaceMent");

2.3 插页广告加载并播放

2.3.1 功能介绍

调用此接口后视频先加载,加载完成以后自动播放。
传入事件名,播放位置信息。研发自定义,
比如 升级,购买道具,复活等等。

如果游戏需要提前缓存广告,可以在登录后缓存一份,然后每次展示完广告后再次加载下一个。
建议在:onLoadAdError 加载错误时重试。 onAdClose 在广告关闭以后重新加载下一个。

2.3.2 接口使用说明

  1. /**
  2. * 插页广告 加载并播放
  3. *
  4. * @param adid applovin平台创建的代码位ID
  5. * @param placement 事件名,播放位置信息。研发自定义
  6. */
  7. public void MIDLoadShowInterstitialAd(final String adid, final String placement);

2.3.3 接口使用说明

  1. /**
  2. * 插页广告 加载并播放
  3. *
  4. * @param adid applovin平台创建的代码位ID
  5. * @param placement 事件名,播放位置信息。研发自定义
  6. */
  7. MIDBaseSDK.getInstance(this).MIDLoadShowInterstitialAd(
  8. "applovin平台创建的代码位ID", "testPlaceMent");

3 横幅广告相关

3.0 设置横幅广告相关回调

此接口需要在SDK 初始化以后调用。
横幅广告就是一个常驻的广告条幅, 广告展示完成以后会自动刷新。
SDK3.0.8版本 开始支持此功能

3.0.1 接口介绍

  1. /**
  2. * 插页视频回调
  3. */
  4. MIDBaseSDK.getInstance(this).setMIDAdsApplovinBannerListener(mMIDAdsApplovinBannerListener);

3.0.2 功能回调说明

接收到的数据为横幅视频 播放结果。

接口 接口说明
onLoadAdError 视频加载错误
onLoadAdComplete 视频加载完成,可以播放
onAdShowStart 视频开始播放
onAdClicked 用户点击了广告上的下载链接
onAdClose 视频关闭
onAdDisplayFailed 视频播放错误
onAdExpanded 看applovin文档是横幅展开,实际测试没有被触发过
onAdCollapsed 看applovin文档是横幅折叠,实际测试没有被触发过
  1. /**
  2. * 视频回调
  3. */
  4. private final MIDAdsApplovinBannerListener mMIDAdsApplovinBannerListener = new MIDAdsApplovinBannerListener() {
  5. @Override
  6. public void onAdExpanded(String adUnitId) {
  7. Log.i(MIDBase_Demo_MainActivity.LOGTAG, " 横幅 onAdExpanded 展开");
  8. }
  9. @Override
  10. public void onAdCollapsed(String adUnitId) {
  11. Log.i(MIDBase_Demo_MainActivity.LOGTAG, " 横幅 onAdCollapsed 折叠");
  12. }
  13. @Override
  14. public void onLoadAdError(String adUnitId, int code, String message) {
  15. Log.i(MIDBase_Demo_MainActivity.LOGTAG, " 横幅 onLoadAdError code:" + code + " message:" + message);
  16. Toast.makeText(MIDBase_Demo_Ads.this, "横幅视频加载错误code:" + code + " " + message, Toast.LENGTH_LONG).show();
  17. }
  18. @Override
  19. public void onLoadAdComplete(String adUnitId) {
  20. Log.i(MIDBase_Demo_MainActivity.LOGTAG, " 横幅 onLoadAdComplete adUnitId:" + adUnitId);
  21. Toast.makeText(MIDBase_Demo_Ads.this, "横幅视频加载完成", Toast.LENGTH_LONG).show();
  22. }
  23. @Override
  24. public void onAdShowStart(String adUnitId) {
  25. Log.i(MIDBase_Demo_MainActivity.LOGTAG, " 横幅 onAdShowStart adUnitId:" + adUnitId);
  26. Toast.makeText(MIDBase_Demo_Ads.this, "横幅视频开始播放", Toast.LENGTH_LONG).show();
  27. }
  28. @Override
  29. public void onAdClicked(String adUnitId) {
  30. Log.i(MIDBase_Demo_MainActivity.LOGTAG, " 横幅 onAdClicked adUnitId:" + adUnitId);
  31. Toast.makeText(MIDBase_Demo_Ads.this, "横幅点击了广告上的下载", Toast.LENGTH_LONG).show();
  32. }
  33. @Override
  34. public void onAdClose(String adUnitId) {
  35. Log.i(MIDBase_Demo_MainActivity.LOGTAG, " 横幅 onAdClose adUnitId:" + adUnitId);
  36. Toast.makeText(MIDBase_Demo_Ads.this, "横幅视频关闭", Toast.LENGTH_LONG).show();
  37. }
  38. @Override
  39. public void onAdDisplayFailed(String adUnitId, String message) {
  40. Log.i(MIDBase_Demo_MainActivity.LOGTAG, " 横幅 onAdDisplayFailed message:" + message);
  41. Toast.makeText(MIDBase_Demo_Ads.this, "横幅视频错误", Toast.LENGTH_LONG).show();
  42. }
  43. };

3.1 展示横幅广告

3.1.1 功能介绍

展示横幅广告,展示的时候可以设置在顶部展示,还是底部展示。
支持设置背景色,建议配置为透明色,这样广告未覆盖区域可以展示游戏背景。
横幅广告展示后 默认会自动加载更新广告,不会一直展示同一个广告。自动展示策略由applovin自动控制。

3.1.2 接口使用说明

  1. /**
  2. * 横幅广告加载展示
  3. *
  4. * @param adid 广告位ID
  5. * @param gravity 展示位置 Gravity.BOTTOM(底部), Gravity.TOP(顶部)
  6. * @param BackgroundColor 背景颜色 Color.TRANSPARENT(透明色)
  7. */
  8. public void MIDShowBannerAd(final String adid, final int gravity, final int BackgroundColor)

3.1.3 接口使用说明

  1. /**
  2. * 横幅广告加载展示
  3. *
  4. * @param adid 广告位ID
  5. * @param gravity 展示位置 Gravity.BOTTOM(底部), Gravity.TOP(顶部)
  6. * @param BackgroundColor 背景颜色 Color.TRANSPARENT(透明色)
  7. */
  8. MIDBaseSDK.getInstance(this).MIDShowBannerAd("applovin平台创建的代码位ID", Gravity.BOTTOM, Color.TRANSPARENT);

3.2 展示横幅广告支持设置间距 [可选]

3.2.1 功能介绍

展示横幅广告,展示的时候可以设置在顶部展示,还是底部展示。
支持设置背景色,建议配置为透明色,这样广告未覆盖区域可以展示游戏背景。
支持设置间距, 可以单独设置距离上下左右间距, 如果设置为底部时 可以设置距离底部间距,如果设置为顶部时设置距离顶部间距。
横幅广告展示后 默认会自动加载更新广告,不会一直展示同一个广告。自动展示策略由applovin自动控制。

3.2.2 接口使用说明

  1. /**
  2. * 横幅广告加载展示
  3. *
  4. * @param adid 广告位ID
  5. * @param gravity 展示位置 Gravity.BOTTOM
  6. * @param BackgroundColor 背景颜色 Color.BLACK
  7. * @param marginTop 距离顶部边距
  8. * @param marginBottom 距离底部边距
  9. * @param marginLeft 距离左边边距
  10. * @param marginRight 距离右边边距
  11. */
  12. public void MIDShowBannerAd(String adid, int gravity, int BackgroundColor,
  13. int marginTop, int marginBottom, int marginLeft, int marginRight);

3.2.3 接口使用说明

  1. /**
  2. * 横幅广告加载展示
  3. *
  4. * @param adid 广告位ID
  5. * @param gravity 展示位置 Gravity.BOTTOM
  6. * @param BackgroundColor 背景颜色 Color.BLACK
  7. * @param marginTop 距离顶部边距
  8. * @param marginBottom 距离底部边距
  9. * @param marginLeft 距离左边边距
  10. * @param marginRight 距离右边边距
  11. */
  12. // 设置距离左右30dp 底部10dp
  13. int marginLeft = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 30, this.getResources().getDisplayMetrics());
  14. int marginRight = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 30, this.getResources().getDisplayMetrics());
  15. int marginBottom = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 10, this.getResources().getDisplayMetrics());
  16. MIDBaseSDK.getInstance(this).MIDShowBannerAd("applovin平台创建的代码位ID", Gravity.BOTTOM, Color.TRANSPARENT,
  17. 0, marginBottom, marginLeft, marginRight);

3.3 关闭横幅广告

3.3.1 功能介绍

关闭横幅广告。

3.3.2 接口使用说明

  1. /**
  2. * 关闭横幅广告
  3. */
  4. public void MIDBannerClose() ;

3.3.3 接口使用说明

  1. /**
  2. *关闭横幅广告
  3. */
  4. MIDBaseSDK.getInstance(this).MIDBannerClose();