请输入
菜单

激励视频广告

💡Tips

  • 🚀 采用预加载机制提升用户体验
  • 🔧 推荐使用标准化回调处理流程

1. 加载广告

csharp 复制代码
public void InitializeRewardedAd() 
{
    McSdkCallbacks.Rewarded.OnAdLoadedEvent += OnRewardedAdLoadedEvent;
    McSdkCallbacks.Rewarded.OnAdLoadFailedEvent += OnRewardedAdLoadFailedEvent;
    McSdkCallbacks.Rewarded.OnAdDisplayFailedEvent += OnRewardedAdDisplayFailedEvent;
    McSdkCallbacks.Rewarded.OnAdDisplayedEvent += OnRewardedAdDisplayedEvent;
    McSdkCallbacks.Rewarded.OnAdClickedEvent += OnRewardedAdClickedEvent;
    McSdkCallbacks.Rewarded.OnAdHiddenEvent += OnRewardedAdHiddenEvent;
    McSdkCallbacks.Rewarded.OnAdReceivedRewardEvent += OnRewardedAdReceivedRewardEvent;
    McSdkCallbacks.Rewarded.OnAdRevenuePaidEvent += OnRewardedAdRevenuePaidEvent;
    McSdkCallbacks.Rewarded.OnAdLoadFinishedEvent += OnRewardedAdLoadFinishedEvent;
    LoadRewardedAd();
}

private void LoadRewardedAd() 
{
    McSdk.LoadRewardedAd("your mediation unit id");
}

private void OnRewardedAdLoadedEvent(string adUnitId, McSdkBase.AdInfo adInfo)
{
    // 加载成功回调
    // 重置重试加载次数
    retryAttempt = 0;
}

private void OnRewardedAdLoadFailedEvent(string adUnitId, McSdkBase.ErrorInfo errorInfo)
{
    // 加载失败回调
    // 我们建议您按照指数递增的方式延长重试间隔,直到达到最大延迟时间(本例为 8 秒)或最大重试次数(本例为 3 次)
    if (retryAttempt >= 3) return;
    retryAttempt++;
    double retryDelay = Math.Pow(2, Math.Min(3, retryAttempt));
    Invoke("LoadRewardedAd", (float) retryDelay);
}

private void OnRewardedAdDisplayFailedEvent(string adUnitId, McSdkBase.ErrorInfo errorInfo, McSdkBase.AdInfo adInfo)
{
   // 展示失败回调
  LoadRewardedAd();
}

private void OnRewardedAdDisplayedEvent(string adUnitId, McSdkBase.AdInfo adInfo)
{
  // 展示成功回调
  LoadRewardedAd();
}

private void OnRewardedAdClickedEvent(string adUnitId, McSdkBase.AdInfo adInfo)
{
  // 点击回调
}

private void OnRewardedAdHiddenEvent(string adUnitId, McSdkBase.AdInfo adInfo)
{
  // 关闭回调
  LoadRewardedAd();
}

private void OnRewardedAdReceivedRewardEvent(string adUnitId, McSdk.Reward reward, McSdkBase.AdInfo adInfo)
{
  // 奖励回调
}

private void OnRewardedAdRevenuePaidEvent(string adUnitId, McSdkBase.AdInfo adInfo)
{
  // 收益回调
}

2. 展示广告

csharp 复制代码
if (McSdk.IsRewardedAdReady("your mediation unit id")) {
    McSdk.ShowRewardedAd("your mediation unit id");
} else {
    LoadRewardedAd();
}

3. 设置自定义参数

csharp 复制代码
McSdk.SetRewardedAdExtraParameter("your mediation unit id", "rv_test_extra_key", "rv_test_extra_value");
#if UNITY_ANDROID 
    McSdk.SetRewardedAdLocalExtraParameter("your mediation unit id", "rv_test_local_extra_key", new AndroidJavaObject("java.lang.String", "rv_test_local_extra_value"));
#elif UNITY_IOS
    McSdk.SetRewardedAdLocalExtraParameter("your mediation unit id", "rv_test_local_extra_key", "rv_test_local_extra_value");
#endif

McSdk.LoadRewardedAd("your mediation unit id");

上一个
广告样式
下一个
插屏广告
最近修改: 2025-08-06Powered by