《如何接入广告》

接入 AnySDK Lua 框架

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

初始化插件

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

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

获取广告插件对象

这是获取我们要使用的广告插件:

local ads_plugin = agent:getAdsPlugin()

设置监听函数

ads_plugin:setAdsListener(onAdsResult)
local function onAdsResult( code, msg )
    print("on ads action listener.")
end

是否支持该类型的广告

local bSupport = ads_plugin:isAdTypeSupported(AdsType.AD_TYPE_BANNER)

一般用法:

if( ads_plugin:isAdTypeSupported(AdsType.AD_TYPE_BANNER) )  then
    ads_plugin:showAds(AdsType.AD_TYPE_BANNER)
end
if( ads_plugin:isAdTypeSupported(AdsType.AD_TYPE_FULLSCREEN) )  then
    ads_plugin:showAds(AdsType.AD_TYPE_FULLSCREEN)
end
if( ads_plugin:isAdTypeSupported(AdsType.AD_TYPE_MOREAPP) )  then
    ads_plugin:showAds(AdsType.AD_TYPE_MOREAPP)
end
if( ads_plugin:isAdTypeSupported(AdsType.AD_TYPE_OFFERWALL) )  then
    ads_plugin:showAds(AdsType.AD_TYPE_OFFERWALL)
end

展示和隐藏广告

广告类型

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)两种。

查询积分

local 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. 在打包界面,在渠道列表选择之前配置的渠道,并选择自己的游戏,点击开始打包。

【评论区】