supersdk

文档中心

文档中心

下载文档

广告变现模块


一、接入前准备

1、iOS

a. 第三方参数申请,请确认要接入的第三方广告变现渠道。

b. 接入对应 SuperSDK 广告变现接口。

注意:若游戏母包已经接入广告变现,需要将广告变现依赖的三方库从 Xcode 工程中移除后,再接入。

2、Android

a. 下载资源,SuperSDK 4.0+ 广告变现模块(Java 版)

b. 导入资源,将 module-adrealize-release.jar 导入到游戏工程的 libs 目录下(与 supersdk.jar 同目录)。

c. 第三方参数申请,请确认要接入的第三方广告变现渠道。

d. 接入对应 SuperSDK 广告变现接口。

二、国内

注意一:iOS 国内广告变现暂不支持。

注意二:Android 国内广告变现目前只有穿山甲,游戏研发只需要按照以下文档接入。

1. 显示广告接口

接口描述:弹出广告视频,在初始化完成后调用。

注意:此接口仅支持 Android。

接口调用:

Dictionary<string, object> configDic = new Dictionary<string, object>();
configDic.Add("code_id","901121593"); // 平台创建的代码位 ID 以 9 开头 9 位数字
configDic.Add("reward_name","金币"); // 媒体平台创建代码位时配置的名称
configDic.Add("reward_amount","3"); // 媒体平台创建代码位时配置的数值
configDic.Add("tag_id","tag123"); // tag_id
configDic.Add("media_extra",""); // 用户透传信息(选填)仅支持单个 json 对象格式,不可以嵌套 json 对象
configDic.Add("orientation","1"); // 期望视频的播放方向 与创建代码位勾选的方向保持一致 (必填)HORIZONTAL:2、VERTICAL:1
SuperSDK.getInstance().Invoke("ad_realize", "showAdRealize", configDic));

接口回调:

public void OnCallBack(string moduleName, string funcName, string result)
{
    Debug.Log("moduleName:" + moduleName);
    Debug.Log("funcName:" + funcName);
    Debug.Log("result:" + result);

    if (moduleName.Equals("ad_realize")) {
        // 判断这是广告变现模块("ad_realize")内的方法
        // Code 码以及返回内容 请看附录
    }
}

三、海外

注意一:iOS 海外广告变现目前支持 AdMob,游戏研发只需要按照以下文档接入。

注意二:Android 海外广告变现目前支持 AdMob、TradPlus,游戏研发只需要按照以下文档接入。

1. 显示 GDPR 弹窗接口

接口描述:显示 GDPR 欧盟协议弹窗。

注意一:此接口仅支持 iOS。

注意二:GDPR 是欧盟地区的政策需要,在弹出广告前,需要经过用户的授权同意,此接口为必须要接入。

注意三:在登录成功,进入游戏主界面后调用。

接口调用:

SuperSDK.getInstance().Invoke("ad_realize", "openGDPR", null));

2. 预加载广告接口

接口描述:预加载广告视频,在初始化完成后调用。

接口调用:

Dictionary<string, object> configDic = new Dictionary<string, object>();
configDic.Add("platformType","TradPlus"); // 平台类型(必填),目前支持:TradPlus、AdMob
configDic.Add("adUnitId","5605E59FC6D0074211DC650C862F9313"); // 广告单元 ID(必填)
configDic.Add("opgameId","2113"); // 混服组 ID,如不能直接获取,默认使用 server_id 前 4 位(必填)
configDic.Add("sceneId","373D9D74A274F3"); // 广告场景 ID(选填),没有则默认传空值
configDic.Add("clientIp","110.10.12.113"); // 客户端 IP(选填),没有则默认传空值
SuperSDK.getInstance().Invoke("ad_realize", "preLoadAd", configDic));

接口回调:

public void OnCallBack(string moduleName, string funcName, string result)
{
    Debug.Log("moduleName:" + moduleName);
    Debug.Log("funcName:" + funcName);
    Debug.Log("result:" + result);

    JsonData resultData = JsonMapper.ToObject(result);

    if (moduleName.Equals("ad_realize"))
    {
        if (funcName.Equals("preLoadAd"))
        {
            JsonData resultData = JsonMapper.ToObject(result);
            int code = (int)resultData["code"];
            if (code == 1009) {
                // string msg = JsonMapper.ToJson(resultData["data"]);
                // JsonData mData = JsonMapper.ToObject(msg);
                // string platformType = mData["platformType"].ToString();

                // 判断这是广告变现模块("ad_realize")内的方法
	    	    // Code 码以及返回内容 请看附录
            }
        }
    }
}

日志打印:

moduleName:ad_realize
funcName:preLoadAd
result:
{
    "code":1009,
    "data":{
        "platformType":"TradPlus", // 平台类型(TradPlus 或 AdMob)(必定返回)
        "os":"Android", // 系统(Android 或 iOS)(必定返回)
        "adEcpm":"0", // Ecpm(获得广告奖励返回)
        "adUnitId":"5605E59FC6D0074211DC650C862F9313", // 广告单元 ID(获得广告奖励、预加载广告视频成功返回)
        "adSourceId":"", // 三方广告位 ID(获得广告奖励返回)
        "adSourceName":"", // 三方广告网络名称(获得广告奖励返回)
        "adLoadTime":"", // 加载时长(毫秒)(获得广告奖励返回)
        "adResponseId":"", // 一次广告请求唯一标识(获得广告奖励返回)
        "adCurrencyCode":"USD", // 货币单位(获得广告奖励返回)
        "adCountryCode":"", // 国家码(获得广告奖励返回)
        "adSceneId":"", // 广告场景 ID(获得广告奖励返回)
        "adRewardName":"", // 后台配置的奖励项目(获得广告奖励返回)
        "adRewardNumber":"" // 后台配置的奖励数量(获得广告奖励返回)
    },
    "msg":"预加载视频广告已加载"
}

3. 显示广告接口

接口描述:弹出广告视频,在初始化完成后调用。

注意:该接口不强制依赖预加载,可直接调用。

接口调用:

Dictionary<string, object> configDic = new Dictionary<string, object>();
configDic.Add("platformType","TradPlus"); // 平台类型(必填),目前支持:TradPlus、AdMob
configDic.Add("adUnitId","5605E59FC6D0074211DC650C862F9313"); // 广告单元 ID(必填)
configDic.Add("opgameId","2113"); // 混服组 ID,如不能直接获取,默认使用 server_id 前 4 位(必填)
configDic.Add("sceneId","373D9D74A274F3"); // 广告场景 ID(选填),没有则默认传空值
configDic.Add("clientIp","110.10.12.113"); // 客户端 IP(选填),没有则默认传空值
SuperSDK.getInstance().Invoke("ad_realize", "showAdRealize", configDic));

接口回调:

public void OnCallBack(string moduleName, string funcName, string result)
{
    Debug.Log("moduleName:" + moduleName);
    Debug.Log("funcName:" + funcName);
    Debug.Log("result:" + result);

    JsonData resultData = JsonMapper.ToObject(result);

    if (moduleName.Equals("ad_realize"))
    {
        if (funcName.Equals("showAdRealize"))
        {
            JsonData resultData = JsonMapper.ToObject(result);
            int code = (int)resultData["code"];
            if (code == 1006) {
                // string msg = JsonMapper.ToJson(resultData["data"]);
                // JsonData mData = JsonMapper.ToObject(msg);
                // string platformType = mData["platformType"].ToString();

                // 判断这是广告变现模块("ad_realize")内的方法
	    	    // Code 码以及返回内容 请看附录
            }
        }
    }
}

日志打印:

moduleName:ad_realize
funcName:showAdRealize
result:
{
    "code":1006,
    "data":{
        "platformType":"TradPlus", // 平台类型(TradPlus 或 AdMob)(必定返回)
        "os":"Android", // 系统(Android 或 iOS)(必定返回)
        "adEcpm":"0.01", // Ecpm(获得广告奖励返回)
        "adUnitId":"5605E59FC6D0074211DC650C862F9313", // 广告单元 ID(获得广告奖励、预加载广告视频成功返回)
        "adSourceId":"959fe8b4696d175f", // 三方广告位 ID(获得广告奖励返回)
        "adSourceName":"applovin", // 三方广告网络名称(获得广告奖励返回)
        "adLoadTime":854, // 加载时长(毫秒)(获得广告奖励返回)
        "adResponseId":"a6da2fc6-1c31-4742-8c9a-757650e17aac", // 一次广告请求唯一标识(获得广告奖励返回)
        "adCurrencyCode":"USD", // 货币单位(获得广告奖励返回)
        "adCountryCode":"CN", // 国家码(获得广告奖励返回)
        "adSceneId":"", // 广告场景 ID(获得广告奖励返回)
        "adRewardName":"", // 后台配置的奖励项目(获得广告奖励返回)
        "adRewardNumber":0 // 后台配置的奖励数量(获得广告奖励返回)
    },
    "msg":"视频播放完成,获得广告奖励"
}

附录

常量字符串 Code码 描述
SUCCESS 1000 成功
AD_SHOW 1001 视频广告展示
AD_VIDEO_BAR_CLICK 1002 广告的下载 bar 点击
AD_CLOSE 1003 视频广告关闭
AD_VIDEO_COMPLETE 1004 视频播放完成
AD_VIDEO_ERROR 1005 视频广告播放错误
AD_REWARD_VERIFY 1006 视频播放完成后,奖励验证回调
AD_SKIP_VIDEO 1007 视频广告跳过
AD_VIDEO_START 1008 视频播放开始
AD_PRE_LOAD_SUCCESS 1009 预加载视频广告成功