激励广告
加载激励广告
以下代码展示了如何附加监听器以及加载第一则激励广告:
#if UNITY_IOSstring adUnitId = "«iOS-ad-unit-ID»";#else // UNITY_ANDROIDstring adUnitId = "«Android-ad-unit-ID»";#endif
int retryAttempt;
public void InitializeRewardedAds(){ // Attach callback MaxSdkCallbacks.Rewarded.OnAdLoadedEvent += OnRewardedAdLoadedEvent; MaxSdkCallbacks.Rewarded.OnAdLoadFailedEvent += OnRewardedAdLoadFailedEvent; MaxSdkCallbacks.Rewarded.OnAdDisplayedEvent += OnRewardedAdDisplayedEvent; MaxSdkCallbacks.Rewarded.OnAdClickedEvent += OnRewardedAdClickedEvent; MaxSdkCallbacks.Rewarded.OnAdRevenuePaidEvent += OnRewardedAdRevenuePaidEvent; MaxSdkCallbacks.Rewarded.OnAdHiddenEvent += OnRewardedAdHiddenEvent; MaxSdkCallbacks.Rewarded.OnAdDisplayFailedEvent += OnRewardedAdFailedToDisplayEvent; MaxSdkCallbacks.Rewarded.OnAdReceivedRewardEvent += OnRewardedAdReceivedRewardEvent;
// Load the first rewarded ad LoadRewardedAd();}
private void LoadRewardedAd(){ MaxSdk.LoadRewardedAd(adUnitId);}
private void OnRewardedAdLoadedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo){ // Rewarded ad is ready for you to show. MaxSdk.IsRewardedAdReady(adUnitId) now returns 'true'.
// Reset retry attempt retryAttempt = 0;}
private void OnRewardedAdLoadFailedEvent(string adUnitId, MaxSdkBase.ErrorInfo errorInfo){ // Rewarded ad failed to load // AppLovin recommends that you retry with exponentially higher delays, up to a maximum delay (in this case 64 seconds).
retryAttempt++; double retryDelay = Math.Pow(2, Math.Min(6, retryAttempt));
Invoke("LoadRewardedAd", (float) retryDelay);}
private void OnRewardedAdDisplayedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo) {}
private void OnRewardedAdFailedToDisplayEvent(string adUnitId, MaxSdkBase.ErrorInfo errorInfo, MaxSdkBase.AdInfo adInfo){ // Rewarded ad failed to display. AppLovin recommends that you load the next ad. LoadRewardedAd();}
private void OnRewardedAdClickedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo) {}
private void OnRewardedAdHiddenEvent(string adUnitId, MaxSdkBase.AdInfo adInfo){ // Rewarded ad is hidden. Pre-load the next ad LoadRewardedAd();}
private void OnRewardedAdReceivedRewardEvent(string adUnitId, MaxSdk.Reward reward, MaxSdkBase.AdInfo adInfo){ // The rewarded ad displayed and the user should receive the reward.}
private void OnRewardedAdRevenuePaidEvent(string adUnitId, MaxSdkBase.AdInfo adInfo){ // Ad revenue paid. Use this callback to track user revenue.}
显示激励广告
要显示激励广告,请调用 ShowRewardedAd()
:
if (MaxSdk.IsRewardedAdReady(adUnitId)){ MaxSdk.ShowRewardedAd(adUnitId);}
获取激励广告的金额和币种
要获取奖励金额和币种,请重写 OnRewardedAdReceivedRewardEvent()
回传:
private void OnRewardedAdReceivedRewardEvent(string adUnitId, MaxSdk.Reward reward, MaxSdkBase.AdInfo adInfo){ print("Rewarded user: " + reward.Amount + " " + reward.Label);}
S2S 激励回传
您可以通过货币服务器接收回传。 要了解操作方法,请参阅 MAX S2S Rewarded Callback API 指南。 随后,在Edit Ad Unit页面更新Server Side Callback URL。
设置激励广告的金额和币种
要设置激励广告的金额和币种,请按照下列步骤操作:
- 在 Edit Ad Unit 页面点击Add S2S Reward Callback:
- 添加 Server Side Callback URL、Reward Amount和 Rewarded Currency Name: