激励广告

激励广告

激励广告是用户通过观看短视频,获取应用内奖励(游戏的复活,任务奖励,游戏金币)等,具体场景由开发者定义。

此章节将演示如何请求在Unity环境下请求与展示激励广告

插件的namespaceZJSDK,下文默认cs文件已经声明了using ZJSDK;

注意

激励广告需要传入正确的用户ID,错误或空的用户ID会影响收益

请求激励广告

调用ZJSDKUnity#LoadRewardedAd(string posId, IAdLoadListener loadListener, string userId, bool isVolumeOn = true, string ext = "")方法请求广告

public class ZJSDKUnity
{

    /// <summary>
    /// 请求激励广告
    /// </summary>
    /// <param name="posId">广告位ID,必传</param>
    /// <param name="userId">用户ID,必传</param>
    /// <param name="loadListener">加载回调</param>
    /// <param name="isVolumeOn">是否开启声音,默认开启</param>
    /// <param name="ext">透传信息</param>
    public static void LoadRewardedAd(string posId, IAdLoadListener loadListener, string userId, bool isVolumeOn = true, string ext = "");

}

IAdLoadListener 说明

方法说明
OnAdLoaded()广告加载成功
OnAdLoadFailed(int code, string msg)广告加载出错
code: 错误码
msg: 错误信息

检查激励广告有效性

如果激励广告为预加载,需要在展示前调用ZJSDKUnity#IsRewardedAdValid()方法判断当前缓存的广告对象是否有效,无效时需要重新请求广告

public class ZJSDKUnity
{

    /// <summary>
    /// 判断激励广告是否有效
    /// </summary>
    /// <returns>当前是否有可用的激励广告</returns>
    public static bool IsRewardedAdValid();

}

展示激励广告

调用ZJSDKUnity#ShowRewardedAd(RewardedAdInteractionListener interactionListener)方法,展示广告

public class ZJSDKUnity
{

    /// <summary>
    /// 展示激励广告
    /// </summary>
    public static void ShowRewardedAd(IRewardedAdInteractionListener interactionListener);
    
}

IRewardedAdInteractionListener 说明

方法描述
OnRewardedAdShow()广告展示
OnRewardedAdClick()广告点击
OnRewardVerify()广告播放达到要求会回调此方法
开发者需在此进行发奖
OnRewardedAdClose()广告关闭
OnRewardedAdShowError(int code, string msg)广告展示失败
code: 错误码
msg: 错误信息

激励广告接入示例

Resources/ZJDemoRes/Scripts/RewardedAdPopUI.cs
// 加载广告
public void LoadAndShowRewardAd()
{
    // 请求激励广告
    // 此处 userId 为必传参数(传入的格式可自行定义,也可以是MD5或加密后的,但必须保证是唯一值且不可过长),用于定位具体用户的广告观看情况
    ZJSDKUnity.LoadRewardedAd(RewardedAdPosId, new RewardedAdLoadListener(this), "userId");
}

// IAdLoadListener 回调监听
class RewardedAdLoadListener : ZJSDKUnity.IAdLoadListener
{
    public void OnAdLoaded()
    {
        ShowToast("广告加载成功");
        // 广告加载成功后展示广告
        ZJSDKUnity.ShowRewardedAd(new RewardedAdInteractionListener(this));
    }

    public void OnAdLoadFailed(int code, string msg)
    {
        ShowToast($"广告加载失败:\n\t\t错误码:{code}\t\t错误信息:{msg}");
    }
}

// IRewardedAdInteractionListener 回调监听
public class RewardedAdInteractionListener : ZJSDKUnity.IRewardedAdInteractionListener
{

    public void OnRewardedAdShowError(int code, string msg)
    {
        ShowToast($"激励广告展示失败\n\t\t错误码:{code}\t\t错误信息:{msg}");
    }

    public void OnRewardedAdShow()
    {
        ShowToast("激励广告展示");
    }

    public void OnRewardedAdClick()
    {
        ShowToast("激励广告点击")
    }

    public void OnRewardVerify()
    {
        ShowToast("激励广告发奖")
    }

    public void OnRewardedAdClose()
    {
        ShowToast("激励广告关闭")
    }

}