Rewarded ads는 사용자가 광고에 참여하는 대가로 게임 계속하기, 가상 화폐 또는 기타 보상과 같은 인앱 아이템을 제공할 수 있도록 합니다. Rewarded ads는 사용자가 자신의 시간에 대해 실질적인 혜택을 받기 때문에 참여도를 높입니다.
다음 섹션에서는 rewarded ad를 로드하고 보여주는 방법을 설명합니다.
다음 코드는 리스너를 등록하고 첫 번째 rewarded ad를 로드하는 방법을 보여줍니다.
#if UNITY_IOS
string adUnitId = "«iOS-ad-unit-ID»";
#else // UNITY_ANDROID
string 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, MaxSdk.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, MaxSdk.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, MaxSdk.AdInfo adInfo) {}
private void OnRewardedAdFailedToDisplayEvent(string adUnitId, MaxSdk.ErrorInfo errorInfo, MaxSdk.AdInfo adInfo)
{
// Rewarded ad failed to display. AppLovin recommends that you load the next ad.
LoadRewardedAd();
}
private void OnRewardedAdClickedEvent(string adUnitId, MaxSdk.AdInfo adInfo) {}
private void OnRewardedAdHiddenEvent(string adUnitId, MaxSdk.AdInfo adInfo)
{
// Rewarded ad is hidden. Pre-load the next ad
LoadRewardedAd();
}
private void OnRewardedAdReceivedRewardEvent(string adUnitId, MaxSdk.Reward reward, MaxSdk.AdInfo adInfo)
{
// The rewarded ad displayed and the user should receive the reward.
}
private void OnRewardedAdRevenuePaidEvent(string adUnitId, MaxSdk.AdInfo adInfo)
{
// Ad revenue paid. Use this callback to track user revenue.
}
rewarded ad를 보여주려면 ShowRewardedAd()를 호출하세요.
if (MaxSdk.IsRewardedAdReady(adUnitId))
{
MaxSdk.ShowRewardedAd(adUnitId);
}
보상 수량 및 통화에 접근하려면 OnRewardedAdReceivedRewardEvent() 콜백을 오버라이드하세요.
private void OnRewardedAdReceivedRewardEvent(string adUnitId, MaxSdk.Reward reward, MaxSdk.AdInfo adInfo)
{
print("Rewarded user: " + reward.Amount + " " + reward.Label);
}
귀사의 통화 서버로 콜백을 받을 수 있습니다. 자세한 방법은 MAX S2S rewarded 콜백 API 가이드를 참조하세요. 그 다음 Edit Ad Unit 페이지에서 Server Side Callback URL을 업데이트하세요.
보상 수량 및 통화를 설정하려면 다음 단계를 따르세요.

