《如何接入广告》

接入 AnySDK JSB 框架

按照( http://docs.anysdk.com/integration/client-js/quick-integration/ )接入 AnySDK JSB 的框架。

初始化插件

//for anysdk
var agent = anysdk.agentManager;
//init
var appKey = "BA5B660B-6DD5-0F67-8CC7-8FE0BA7545D6";
var appSecret = "e23ae7d6da34334d4cc11df0dc7f3de0";
var privateKey = "76E1D975EA4B9A4ECD0E85AF2D782E99";
var oauthLoginServer = "http://oauth.anysdk.com/api/OauthLoginDemo/Login.php";
agent.init(appKey,appSecret,privateKey,oauthLoginServer);
//load
agent.loadAllPlugins();

备注:在什么地方初始化呢?在进入游戏之后的,需要调用插件之前,任何能调用到的地方,都可以进行初始化。注意保持 agent 可以在使用的时候调用到,也就是 init 和 loadAllPlugins 最好只进行一次。

获取广告插件对象

这是得到我们要使用的广告插件:

var ads_plugin = agent.getAdsPlugin();

设置监听函数

ads_plugin.setAdsListener(this.onAdsResult, this)
onAdsResult:function( code, msg ){
   print("on ads action listener.")
}

是否支持该类型的广告

var bSupport = ads_plugin.isAdTypeSupported(AdsType.AD_TYPE_BANNER);

一般用法:

if( ads_plugin.isAdTypeSupported(AdsType.AD_TYPE_BANNER) )
{
    ads_plugin.showAds(AdsType.AD_TYPE_BANNER)
}
if( ads_plugin.isAdTypeSupported(AdsType.AD_TYPE_FULLSCREEN) )
{
    ads_plugin.showAds(AdsType.AD_TYPE_FULLSCREEN)
}
if( ads_plugin.isAdTypeSupported(AdsType.AD_TYPE_MOREAPP) )
{
    ads_plugin.showAds(AdsType.AD_TYPE_MOREAPP)
}
if( ads_plugin.isAdTypeSupported(AdsType.AD_TYPE_OFFERWALL) )
{
    ads_plugin.showAds(AdsType.AD_TYPE_OFFERWALL)
}

展示和隐藏广告

广告类型

var AdsType = {
    AD_TYPE_BANNER:0,        /**< enum value is banner ads . */
    AD_TYPE_FULLSCREEN:1,    /**< enum value is fullscreen ads . */
    AD_TYPE_MOREAPP:2,       /**< enum value is moreapp ads . */
    AD_TYPE_OFFERWALL:3,     /**< enum value is offerwall ads . */
    AD_TYPE_REWARDEDVIDEO:4, /**< enum value is rewarded video ads . */
    AD_TYPE_NATIVEEXPRESS:5, /**< enum value is Native express  ads . */
    AD_TYPE_NATIVEADVANCED:6 /**< enum value is Native advanced  ads . */
};  //ads type

展示广告

显示 banner 广告(第二个参数 index 可以不填,会默认为 1)

ads_plugin.showAds(AdsType.AD_TYPE_BANNER)

备注:有一些广告支持多个 banner 和插屏广告,这时可以用第二个参数 index, 1 表示添加的第一个 banner 广告,2 表示添加的第二个 bannner 广告

ads_plugin.showAds(AdsType.AD_TYPE_BANNER, 1)

隐藏广告

隐藏 banner 广告(第二个参数 index 可以不填,会默认为 1)

ads_plugin.hideAds(AdsType.AD_TYPE_BANNER)

预加载广告

预加载插屏广告(第二个参数 index 可以不填,会默认为 1)

ads_plugin.preloadAds(AdsType.AD_TYPE_FULLSCREEN)

有积分广告

有积分广告一般有精品广告(AD_TYPE_MOREAPP)和积分墙广告(AD_TYPE_OFFERWALL)两种。

查询积分

var points = ads_plugin.queryPoints()

消费积分

ads_plugin.spendPoints(points)

怎么确认接入完成?

  1. 获取 ads_plugin 之后,可以打印一下 type(ads_plugin),不为空;
  2. 调用 showAds,执行 ads_plugin:showAds(AdsType.AD_TYPE_BANNER) 之后,显示一个广告框。

使用 AnySDK 客户端打包

  1. 打开 AnySDK 客户端并登录;
  2. SDK管理 界面选择广告类型里面的 SDK;
  3. 参数管理 里的 SDK参数 界面配置该 SDK 的参数(参数获取,需要到对应 SDK 的后台获取);
  4. 在打包界面,在渠道列表选择之前配置的渠道,并选择自己的游戏,点击开始打包。

【评论区】