如何接入广告(JS)

来自AnySDK 文档
跳转至: 导航搜索

接入anysdk-js框架

按照( http://docs.anysdk.com/JsTutorial )接入anysdk-js的框架。

初始化插件

//for anysdk
var agent = anysdk.AgentManager.getInstance()
//cc.log("agent is---"+typeof(agent))
//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()

是否支持该类型的广告

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)
}

设置监听函数

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

备注:广告监听函数,会返回两种不同情况,需要加以判断。

onAdsListener:function( code, msg )
   print("on ads action listener.")
   if( typeof(code) == "number" )
   {
        cc.log("show ads result code:"+code)
        cc.log("show ads result message:"+msg)   //msg可能为空
   }
   else
   {
        cc.log("get ads points:"+msg)    //此时code的类型 ProtocolAds
   }
end

展示和隐藏广告

广告类型

AdsType = {
	"AD_TYPE_BANNER",		/**< enum value is banner ads . */
	"AD_TYPE_FULLSCREEN",		/**< enum value is fullscreen ads . */
	"AD_TYPE_MOREAPP",		/**< enum value is moreapp ads . */
	"AD_TYPE_OFFERWALL"		/**< enum value is offerwall ads . */
};

展示广告

显示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的后台获取);
4:在打包界面,在渠道列表选择之前配置的渠道,并选择自己的游戏,点击开始打包。