使用now.gg的Unity 激励广告(Rewarded Ads)模块,您可以在Unity游戏中实现应用内激励广告。
要实现激励广告:
now.gg激励广告Unity模块包含在Unity包文件(nowgg-rewarded-ads.unitypackage
)。
将模块添加到您的Unity工程:
nowgg-rewarded-ads.unitypackage
。当所有模块文件导入后,一个名为’NowGGSdk‘的文件夹会被添加到工程中。您可以在Assets文件夹的根目录找到该文件夹。
注意:请勿修改NowGGSdk文件夹,因为它包含了与now.gg激励广告相关的所有资源。
此操作将使用Unity 外部依赖管理器(External Dependency Manager)下载并将所有必要的依赖项添加到工程的 Assets/Plugins/Android
目录中。
添加依赖项的方法:
以下章节说明了可以从Unity应用或游戏中调用的now.gg激励广告函数的实现方法。
当now.gg激励广告模块导入并添加了必要的依赖项后,您可以将应用或游戏与now.gg激励广告模块集成。
在应用展示广告之前,必须先初始化模块。
首先,创建一个包含now.gg激励广告实现的类,并将其附加到一个可以用来初始化模块的游戏对象上,如下所示:
void Start() { NowGGAdsManager.Instance.OnInitSuccess += OnInitSuccess; NowGGAdsManager.Instance.OnInitFailed += OnInitFailed; NowGGAdsManager.Instance.OnNowGGRewardedAdDismissed += OnAdDismissed; NowGGAdsManager.Instance.OnNowGGRewardedAdFailedToLoad += OnAdFailedToLoad; NowGGAdsManager.Instance.OnNowGGRewardedAdShownToUser += OnAdShownToUser; NowGGAdsManager.Instance.OnUserEarnedReward += OnUserEarnedReward; NowGGAdsManager.Instance.Initialize(); }
注意:
Initialize()
函数是 NowGGAdsManager
类的一部分,用于初始化激励广告。一旦模块成功初始化后,您就可以展示应用内的激励广告了。
根据需求,您可以通过调用 NowGGAdsManager.Instance.ShowRewardedAd()
函数在应用中显示激励广告。
now.gg激励广告使用以下回调函数来告知激励广告请求的状态:
void OnAdShownToUser();
– 广告已在用户屏幕上显示。void OnAdFailedToLoad(String error);
– 广告加载失败。void OnAdDismissed(bool rewardEarned);
– 广告被关闭。继续应用的操作。
rewardEarned
将为False。rewardEarned
将为True。void OnUserEarnedReward();
用户赚取奖励。以下代码段演示了上述回调函数及其实现:
public class RewardsSDKDemo : MonoBehaviour { // 展示广告 public void ShowAd() { NowGGAdsManager.Instance.ShowRewardedAd(); } // 初始化成功 private void OnInitSuccess() { Debug.Log("OnInitSuccess"); } // 初始化失败 private void OnInitFailed(string error) { Debug.Log("OnInitFailed.. " + error); } // 广告展示在用户屏幕上 private void OnAdShownToUser() { Debug.Log("OnAdShownToUser"); } // 广告加载失败 private void OnAdFailedToLoad(string error) { Debug.Log("OnAdFailedToLoad.." + error); } // 广告被用户关闭;继续应用操作。 private void OnAdDismissed(bool rewardEarned) { Debug.Log("OnAdDismissed.." + rewardEarned); } // 用户赚取奖励 private void OnUserEarnedReward() { Debug.Log("OnUserEarnedReward"); } }