You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity激励广告:观看2次后解锁全部游戏关卡的实现方法

实现观看2次激励广告解锁全关卡功能

核心思路

要实现需求,需要完成三个核心环节:

  • 持久化记录用户观看激励广告的次数
  • 广告观看完成后更新次数,达到2次时触发全关卡解锁逻辑
  • 修改原有关卡解锁判断逻辑,兼容全解锁状态

代码实现

1. 扩展广告完成回调逻辑

在你的广告管理类中,添加广告次数统计与全解锁触发逻辑:

// 定义存储广告观看次数的常量键
private const string AD_WATCH_COUNT_KEY = "RewardedAdWatchedCount";

public void OnUnityAdsShowComplete(string adUnitId, UnityAdsShowCompletionState showCompletionState)
{
    if (adUnitId.Equals(_adUnitId) && showCompletionState.Equals(UnityAdsShowCompletionState.COMPLETED))
    {
        Debug.Log("Unity Ads 激励广告观看完成");
        
        // 读取当前已观看次数,默认值为0
        int watchedCount = PlayerPrefs.GetInt(AD_WATCH_COUNT_KEY, 0);
        watchedCount++;
        // 持久化更新后的次数
        PlayerPrefs.SetInt(AD_WATCH_COUNT_KEY, watchedCount);
        PlayerPrefs.Save();

        // 检查是否达到2次观看要求,触发全关卡解锁
        if (watchedCount >= 2)
        {
            UnlockAllLevels();
            Debug.Log("已满足2次观看要求,所有关卡已解锁");
        }

        // 加载下一条广告
        Advertisement.Load(_adUnitId, this);
    }
}

// 全关卡解锁方法
private void UnlockAllLevels()
{
    // 示例逻辑:根据项目实际的关卡存储方式调整
    // 假设GameManager中存储了总关卡数TotalLevels
    for (int i = 1; i <= GameManager.Instance.TotalLevels; i++)
    {
        // 用PlayerPrefs标记关卡为已解锁,键名需与项目原有逻辑一致
        PlayerPrefs.SetInt($"Level_Unlocked_{i}", 1);
    }
    PlayerPrefs.Save();
    
    // 触发关卡选择UI刷新(如果有)
    // UIManager.Instance.RefreshLevelPanel();
}

2. 修改原有关卡解锁判断逻辑

找到项目中原有的关卡解锁检查代码,加入全解锁状态的判断分支:

public bool IsLevelAvailable(int levelIndex)
{
    // 优先判断是否已触发全关卡解锁
    int watchedCount = PlayerPrefs.GetInt(AD_WATCH_COUNT_KEY, 0);
    if (watchedCount >= 2)
    {
        return true;
    }

    // 保留原有的前序关卡解锁逻辑
    if (levelIndex == 1)
    {
        return true; // 第一关默认解锁
    }
    // 检查前序关卡是否已完成
    return PlayerPrefs.GetInt($"Level_Completed_{levelIndex - 1}", 0) == 1;
}

注意事项

  • 如果项目不用PlayerPrefs做持久化,可以替换为ScriptableObject、本地文件或云端存储方案
  • 关卡解锁的存储键名必须与项目原有逻辑保持一致,避免出现状态冲突
  • 全解锁后建议添加UI提示,让用户明确知晓所有关卡已开放

内容的提问来源于stack exchange,提问作者iSTAR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 21:15:44