返回顶部

云步广告SDK集成文档_Android(v4.0.2)

1. 集成准备

1.1 接入前准备

接入zeus_ads_xxx SDK前必须先接入基础的zeus_base_xxx SDK,基础SDK必须接入才能使用广告SDK!!!

1.2 获取SDK

下载SDK: zeus_ads_v4.0.2.zip

1.3 Android Studio集成(集成方式一)

1.3.1 添加SDK

a. 将aar文件拷贝到应用级app下的libs文件夹中

b. 打开应用级app下的build.gradle文件添加以下代码

//依赖aar需要添加下面代码
repositories {
    flatDir {
        dirs 'libs'
    }
}

c. 在“dependencies”中添加如下编译依赖

//添加云步zeus ad sdk
implementation(name: 'zeus_ads_api_v4.0.2', ext: 'aar')

//添加其他需要的依赖库,此依赖库必须添加,且不能低于此版本,如果有版本冲突的问题,请反馈我们
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:recyclerview-v7:27.1.1'

1.4 Eclipse集成(集成方式二)

1.4.1 添加SDK

a. 将"Eclipse/libs"文件夹下所有文件复制到工程的libs文件夹下;
b. 将"Eclipse/res"文件夹下所有文件复制到工程的res文件夹下;
c. 将"Eclipse/AndroidManifest.xml"文件里的内容复制到工程的AndroidManifest.xml文件。

2. 接口调用

2.1 广告SDK初始化

  • 初始化接口必须调用,否则SDK无法正常工作!!!

  • 在Activity的onCreate()方法中调用初始化。

    ZeusAds.getInstance().init(Activity activity);

参数说明:

参数名称 参数类型 是否必须 参数说明
activity Activity 必须 游戏的Activity

2.2 开屏广告

  • 开屏广告无需游戏集成,通过打包工具二次打包时添加。

  • 当有特殊场景需要展示开屏时,可调用以下接口展示,接入此接口需要与我们运营人员核实,否则不需要接入此接口。

    ZeusSplashAd.getInstance().show(Activity activity, String scene);

参数说明:

参数名称 参数类型 是否必须 参数说明
activity Activity 必须 展示广告的Activity,必须传入,否则无法展示广告
scene String 必须 广告场景scene,必须传入,否则无法展示广告

2.3 banner广告

2.3.1 设置banner广告事件回调监听器

  • 在调用Banner广告的其他接口前,可设置广告事件回调的监听器,用来获取广告的事件回调,如不需要知道广告事件回调,则可以不设置监听。
    ZeusBannerAd.getInstance().setAdListener(IBannerAdListener listener);

监听器说明:

回调方法 说明
onAdLoaded() 表示Banner广告已加载成功
onAdShow(AdPlatform adPlatform, String scene) 表示Banner广告展示成功,返回广告平台adPlatform和广告场景scene
onAdClick(AdPlatform adPlatform, String scene) 表示Banner广告被点击,返回广告平台adPlatform和广告场景scene
onAdError(int code, String msg) 表示Banner广告加载失败,返回错误码和错误信息
onAdClose(AdPlatform adPlatform, String scene() 表示Banner广告被关闭,返回广告平台adPlatform和广告场景scene

2.3.2 加载并展示banner广告

  • 加载并展示banner广告,SDK内部会请求banner广告并展示,接入时,只需调用此接口即可实现banner广告的展示。
    ZeusBannerAd.getInstance().show(Activity activity,BannerGravity gravity, String scene);

参数说明:

参数名称 参数类型 是否必须 参数说明
activity Activity 必须 展示广告的Activity,必须传入,否则无法展示广告
gravity BannerGravity 必须 展示位置,目前只支持传顶部和底部
BannerGravity.BOTTOM:底部
BannerGravity.TOP:顶部
scene String 必须 广告场景scene,必须传入,否则无法展示广告

2.3.3 隐藏banner广告

  • 如果需要主动隐藏banner广告,可以调用hide接口。

  • 如果需要再次展示广告,重新调用show方法即可。

    ZeusBannerAd.getInstance().hide();

2.3.4 销毁banenr广告

  • 在Activity的onDestroy()函数调用此方法。
    @Override
    protected void onDestroy() {
        super.onDestroy();

        ZeusBannerAd.getInstance().destroy();
    }

2.4 插屏广告

2.4.1 设置插屏广告事件回调监听器

  • 在调用插屏广告的其他接口前,可设置广告事件回调的监听器,用来获取广告的事件回调,如不需要知道广告事件回调,则可以不设置监听。
    ZeusInterstitialAd.getInstance().setAdListener(IAdListener listener);

监听器说明:

回调方法 说明
onAdLoaded() 当广告填充时,回调此方法,则表示插屏广告已加载成功
onAdShow(AdPlatform adPlatform, String scene) 表示插屏广告展示成功,返回广告平台adPlatform和广告场景scene
onAdClick(AdPlatform adPlatform, String scene) 表示插屏广告被点击,返回广告平台adPlatform和广告场景scene
onAdError(int code, String msg) 当广告异常时,回调此方法,则表示插屏广告加载失败,返回错误码和错误信息
onAdClose(AdPlatform adPlatform, String scene() 表示插屏广告被关闭,返回广告平台adPlatform和广告场景scene

2.4.2 加载并展示插屏广告

  • 加载并展示插屏广告,SDK内部会请求插屏广告并展示;

  • 无论插屏是否已填充,都可以直接调用此接口去展示插屏广告;SDK内部会判断,已填充则直接展示,没填充则会主动去加载插屏广告,如果加载成功,则也会展示插屏广告;

  • 一般情况,插屏广告没有特殊逻辑判断的话,无须调用load和show接口,直接调用此接口展示插屏广告即可。

    ZeusInterstitialAd.getInstance().loadAndShow(Activity activity, String scene);

参数说明:

参数名称 参数类型 是否必须 参数说明
activity Activity 必须 展示广告的Activity,必须传入,否则无法展示广告
scene String 必须 广告场景scene,必须传入,否则无法展示广告

2.4.3 销毁插屏广告对象

  • 在Activity的onDestroy()函数调用此方法。
    @Override
    protected void onDestroy() {
        super.onDestroy();

        ZeusInterstitialAd.getInstance().destroy();
    }

2.5 全屏视频广告

2.5.1 设置全屏视频广告事件回调监听器

  • 在调用全屏视频广告的其他接口前,可设置广告事件回调的监听器,用来获取广告的事件回调,如不需要知道广告事件回调,则可以不设置监听。
    ZeusFullScreenVideoAd.getInstance().setAdListener(IFullScreenVideoAdListener listener);

监听器说明:

回调方法 说明
onAdLoaded() 当广告填充时,回调此方法,则表示全屏视频广告已加载成功
onAdShow(AdPlatform adPlatform, String scene) 表示全屏视频广告展示成功,返回广告平台adPlatform和广告场景scene
onAdClick(AdPlatform adPlatform, String scene) 表示全屏视频广告被点击,返回广告平台adPlatform和广告场景scene
onAdError(int code, String msg) 当广告异常时,回调此方法,则表示全屏视频广告加载失败,返回错误码和错误信息
onAdClose(AdPlatform adPlatform, String scene() 表示全屏视频广告被关闭,返回广告平台adPlatform和广告场景scene
onVideoPlayStart() 表示视频开始播放
onVideoPlayFinish() 表示视频播放完成

2.5.2 加载并展示全屏视频广告

  • 加载并展示全屏视频广告,SDK内部会请求全屏视频广告并展示;

  • 无论全屏视频是否已填充,都可以直接调用此接口去展示全屏视频广告;SDK内部会判断,已填充则直接展示,没填充则会主动去加载全屏视频广告,如果加载成功,则也会展示全屏视频广告;

  • 一般情况,全屏视频广告没有特殊逻辑判断的话,无须调用load和show接口,直接调用此接口展示全屏视频广告即可。

    ZeusFullScreenVideoAd.getInstance().loadAndShow(Activity activity, String scene);

参数说明:

参数名称 参数类型 是否必须 参数说明
activity Activity 必须 展示广告的Activity,必须传入,否则无法展示广告
scene String 必须 广告场景scene,必须传入,否则无法展示广告

2.5.3 销毁全屏视频广告对象

  • 在Activity的onDestroy()函数调用此方法。
    @Override
    protected void onDestroy() {
        super.onDestroy();

        ZeusFullScreenVideoAd.getInstance().destroy();
    }

2.6 激励视频广告

2.6.1 设置激励视频广告事件回调监听器

  • 在调用激励视频广告的其他接口前,可设置广告事件回调的监听器,用来获取广告的事件回调,如不需要知道广告事件回调,则可以不设置监听。
    ZeusRewardVideoAd.getInstance().setAdListener(IRewardVideoAdListener listener);

监听器说明:

回调方法 说明
onAdLoaded() 当调用load接口时,回调此方法,则表示激励视频广告已加载成功
onAdShow(AdPlatform adPlatform, String scene) 表示激励视频广告展示成功,返回广告平台adPlatform和广告场景scene
onAdClick(AdPlatform adPlatform, String scene) 表示激励视频广告被点击,返回广告平台adPlatform和广告场景scene
onAdError(int code, String msg) 当调用load接口时,回调此方法,则表示激励视频广告加载失败,返回错误码和错误信息
onAdClose(AdPlatform adPlatform, String scene() 表示激励视频广告被关闭,返回广告平台adPlatform和广告场景scene
onVideoPlayStart() 表示视频开始播放
onVideoPlayFinish() 表示视频播放完成
onAdReward() 广告奖励回调,在这里可以向玩家发放奖励
onAdRewardFailed() 广告奖励失败,玩家中途关闭广告会回调此方法

2.6.2 判断是否缓存有激励视频广告

  • 判断是否有缓存的激励视频广告,返回true,表示激励视频广告已填充,可以直接调用show接口展示广告;返回false,则表示没有填充,可调用load接口去主动加载广告,加载结果可通过上述广告事件回调知道。

  • 此接口只是判断是否有广告填充,内部不会主动加载广告,悉知!!!

    boolean ready = ZeusRewardVideoAd.getInstance().isReady();

2.6.3 请求激励视频广告

  • 主动加载激励视频广告,当需要提前缓存激励视频广告,或者没有广告缓存时,调用加载接口去请求广告,当回调填充后(onAdLoaded),可根据需要再调用show去展示广告。

  • 加载广告时,会回调onAdLoaded或者onAdError接口,回调onAdLoaded表示广告加载成功,回调onAdError表示广告加载失败。

  • SDK内部每次启动后,会默认调用load缓存激励视频广告!

  • 激励视频广告,每次要展示广告时,判断没有缓存再去调用load加载广告即可,切勿循环判断调用!!!

  • 加载广告接口为异步,并不是调用后立即填充,需要根据回调判断是否填充!!!

    ZeusRewardVideoAd.getInstance().load(Activity activity);

参数说明:

参数名称 参数类型 是否必须 参数说明
activity Activity 必须 展示广告的Activity,必须传入,否则无法展示广告

2.6.4 展示激励视频广告

  • 当广告已填充时,调用show接口,可以展示激励视频广告;如果没填充,调用此接口无法展示广告!!!
    ZeusRewardVideoAd.getInstance().show(Activity activity, String scene);

参数说明:

参数名称 参数类型 是否必须 参数说明
activity Activity 必须 展示广告的Activity,必须传入,否则无法展示广告
scene String 必须 广告场景scene,必须传入,否则无法展示广告

2.6.5 加载并展示激励视频广告

  • 加载并展示激励视频广告,SDK内部会请求激励视频广告并展示;

  • 无论激励视频是否已填充,都可以直接调用此接口去展示激励视频广告;SDK内部会判断,已填充则直接展示,没填充则会主动去加载激励视频广告,如果加载成功,则也会展示激励视频广告;

    ZeusRewardVideoAd.getInstance().loadAndShow(Activity activity, String scene);

参数说明:

参数名称 参数类型 是否必须 参数说明
activity Activity 必须 展示广告的Activity,必须传入,否则无法展示广告
scene String 必须 广告场景scene,必须传入,否则无法展示广告

2.6.6 销毁激励视频广告

  • 在Activity的onDestroy()函数调用此方法。
    @Override
    protected void onDestroy() {
        super.onDestroy();

        ZeusRewardVideoAd.getInstance().destroy();
    }

2.6.7 游戏的激励广告按钮展示和点击统计

2.6.7.1 游戏激励按钮ui展示的事件
  • 当展示激励广告入口或者引导点击的ui时调用。
ZeusAds.getInstance().gameUiShow(String scene);

参数说明:

参数名称 参数类型 是否必须 参数说明
scene String 必须 广告场景scene
2.6.7.2 游戏激励按钮ui点击的事件
  • 当玩家点击游戏激励按钮时调用。
ZeusAds.getInstance().gameUiClick(String scene);

参数说明:

参数名称 参数类型 是否必须 参数说明
scene String 必须 广告场景scene

2.7 原生广告

原生广告说明:
- 目前原生广告只支持模板渲染,SDK内部会渲染素材,开发者无需关心;
- 开发者需要根据自己的游戏UI调整原生广告的坐标和宽高,自行处理屏幕适配。

2.7.1 设置原生广告事件回调监听器

  • 在调用原生广告的其他接口前,可设置广告事件回调的监听器,用来获取广告的事件回调,如不需要知道广告事件回调,则可以不设置监听。
    ZeusNativeAd.getInstance().setAdListener(INativeAdListener listener);

监听器说明:

回调方法 说明
onAdLoaded() 当调用load接口时,回调此方法,则表示原生广告已加载成功
onAdShow(AdPlatform adPlatform, String scene) 表示原生广告展示成功,返回广告平台adPlatform和广告场景scene
onAdClick(AdPlatform adPlatform, String scene) 表示原生广告被点击,返回广告平台adPlatform和广告场景scene
onAdError(int code, String msg) 当调用load接口时,回调此方法,则表示原生广告加载失败,返回错误码和错误信息
onAdClose(AdPlatform adPlatform, String scene() 表示原生广告被关闭,返回广告平台adPlatform和广告场景scene

2.7.2 判断是否缓存有原生广告

  • 判断是否有缓存的原生广告,返回true,表示原生广告已填充,可以直接调用show接口展示广告;返回false,则表示没有填充,可调用load接口去主动加载广告,加载结果可通过上述广告事件回调知道。

  • 此接口只是判断是否有广告填充,内部不会主动加载广告,悉知!!!

    boolean ready = ZeusNativeAd.getInstance().isReady();

2.7.3 请求原生广告

  • 主动加载原生广告,当需要提前缓存原生广告,或者没有广告缓存时,调用加载接口去请求广告,当回调填充后(onAdLoaded),可根据需要再调用show去展示广告。

  • 加载广告时,会回调onAdLoaded或者onAdError接口,回调onAdLoaded表示广告加载成功,回调onAdError表示广告加载失败。

    ZeusNativeAd.getInstance().load(Activity activity);

参数说明:

参数名称 参数类型 是否必须 参数说明
activity Activity 必须 展示广告的Activity,必须传入,否则无法展示广告

2.7.4 展示原生广告

  • 根据坐标点展示广告

  • 当广告已填充时,调用show接口,可以展示原生广告;如果没填充,调用此接口无法展示广告!!!

     ZeusNativeAd.getInstance().show(Activity activity, String scene, int x, int y, int width, int height);

参数说明:

参数名称 参数类型 是否必须 参数说明
activity Activity 必须 展示广告的Activity,必须传入,否则无法展示广告
scene String 必须 广告场景scene,必须传入,否则无法展示广告
x int 必须 屏幕左上角为手机屏幕坐标原点(0,0),x为横向坐标,原生广告区域左上角,距离屏幕原点的横向距离,单位:像素
y int 必须 屏幕左上角为手机屏幕坐标原点(0,0),y为纵向坐标,原生广告区域左上角,距离屏幕原点的纵向距离,单位:像素
width int 必须 原生广告宽度,单位:像素
height int 必须 原生广告高度,单位:像素

2.7.5 加载并展示原生广告

  • 加载并展示原生广告,SDK内部会请求原生广告并展示;

  • 无论原生广告是否已填充,都可以直接调用此接口去展示原生广告;SDK内部会判断,已填充则直接展示,没填充则会主动去加载原生广告,如果加载成功,则也会展示原生广告;

  • 一般情况,原生广告没有特殊逻辑判断的话,无须调用load和show接口,直接调用此接口展示原生广告即可。

    ZeusNativeAd.getInstance().loadAndShow(Activity activity, String scene, int x, int y, int width, int height);

参数说明:

参数名称 参数类型 是否必须 参数说明
activity Activity 必须 展示广告的Activity,必须传入,否则无法展示广告
scene String 必须 广告场景scene,必须传入,否则无法展示广告
x int 必须 屏幕左上角为手机屏幕坐标原点(0,0),x为横向坐标,原生广告区域左上角,距离屏幕原点的横向距离,单位:像素
y int 必须 屏幕左上角为手机屏幕坐标原点(0,0),y为纵向坐标,原生广告区域左上角,距离屏幕原点的纵向距离,单位:像素
width int 必须 原生广告宽度,单位:像素
height int 必须 原生广告高度,单位:像素

2.7.6 隐藏原生广告

  • 在需要关闭原生广告时,调用hide()方法。
    ZeusNativeAd.getInstance().hide();

2.7.7 销毁原生广告

  • 在Activity的onDestroy()函数调用此方法。
    @Override
    protected void onDestroy() {
        super.onDestroy();

        ZeusNativeAd.getInstance().destroy();
    }

3. 其他接口

3.1 判断是否是广告包

  • 判断是否是广告包
boolean includeAd = ZeusAds.getInstance().isIncludeAd();

3.2 计费点上是否显示"去广告"提示

  • 判断是否显示"去广告"提示

  • 具体文案展示样式游戏自定义

boolean showAdTip = ZeusAds.getInstance().showAdTip();
if (showAdTip) {
    //显示'去广告'字样
} else {
    //隐藏'去广告'字样
}

返回值:

  • showAdTip: 返回true则显示"去广告"提示,false 不显示

3.3 获取已付费金额

float payAmount = ZeusAds.getInstance().getPayAmount();

返回值:

  • payAmount:已付费金额(单位:元)

3.4 获取累计付费去广告的金额

  • 可用于计费点文案显示
float noAdAmount = ZeusAds.getInstance().getNoAdAmount();

返回值:

  • noAdAmount:累计付费去广告的金额(单位:元)

3.5 设置屏蔽非激励性广告接口

  • 可用于设置屏蔽掉所有的非激励性广告,屏蔽后将请求不到对应的广告
ZeusAds.getInstance().setBlockAd(boolean isBlockAd, boolean isBlockSplashAd);

参数说明:

参数名称 参数类型 是否必须 参数说明
isBlockAd boolean 必须 是否屏蔽非激励广告(banner、普通插屏、原生、全屏视频),true为屏蔽
isBlockSplashAd boolean 必须 是否屏蔽开屏广告,true为屏蔽

4. 测试

4.1 测试限制

  • 目前SDK可以拉到测试广告,如果需要测试对应渠道的广告,联系运营使用打包工具打渠道包后方可测试。

4.2 手机限制

  • oppo渠道广告必须使用oppo手机测试

  • vivo渠道广告必须使用vivo手机测试

  • 小米渠道广告必须使用小米手机测试

  • 华为渠道广告必须使用华为手机测试

  • 其他渠道广告没有限制