Rewarded ads를 사용하면 사용자가 광고에 참여하는 대가로 게임 계속하기, 가상 화폐 또는 기타 보상과 같은 인앱 아이템을 제공할 수 있습니다. Rewarded ads는 사용자가 자신의 시간에 대해 실질적인 혜택을 받기 때문에 참여도를 높입니다.
다음 섹션에서는 rewarded ad를 로드하고 보여주는 방법을 보여줍니다.
다음 코드는 델리게이트에 바인딩하고 첫 번째 rewarded ad를 로드하는 방법을 보여줍니다:

// UMyWidget.cpp (UMyWidget inherits from UObject to access TimerManager)
#include "UMyWidget.h"
#include "AppLovinMAX.h"
// For retry timer logic
#include "Async/Async.h"
#include "Engine/World.h"
#include "TimerManager.h"
const FString RewardedAdUnitId = TEXT("«ad-unit-ID»");
int RetryAttempt = 0;
FTimerHandle LoadTimerHandle;
void UMyWidget::InitializeRewardedAds()
{
// Bind member functions to delegates
UAppLovinMAX::OnRewardedAdLoadedDelegate.AddUObject(this, &UMyWidget::OnRewardedAdLoaded);
UAppLovinMAX::OnRewardedAdLoadFailedDelegate.AddUObject(this, &UMyWidget::OnRewardedAdLoadFailed);
UAppLovinMAX::OnRewardedAdDisplayFailedDelegate.AddUObject(this, &UMyWidget::OnRewardedAdDisplayFailed);
UAppLovinMAX::OnRewardedAdHiddenDelegate.AddUObject(this, &UMyWidget::OnRewardedAdHidden);
UAppLovinMAX::OnRewardedAdReceivedRewardDelegate.AddUObject(this, &UMyWidget::OnRewardedAdReceivedReward);
// Load first rewarded ad
LoadRewardedAd();
}
void UMyWidget::LoadRewardedAd()
{
UAppLovinMAX::LoadRewardedAd(RewardedAdUnitId);
}
void UMyWidget::OnRewardedAdLoaded(const FAdInfo &AdInfo)
{
// Rewarded ad is ready to be shown. UAppLovinMAX::IsRewardedAdReady(RewardedAdUnitId) will now return 'true'
// Reset retry attempt
RetryAttempt = 0;
}
void UMyWidget::OnRewardedAdLoadFailed(const FAdInfo &AdInfo, const FAdError &AdError)
{
// 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++;
AsyncTask(ENamedThreads::GameThread, [this]() {
float RetryDelay = FMath::Pow(2.0f, FMath::Min(6, RetryAttempt));
GetWorld()->GetTimerManager().SetTimer(LoadTimerHandle, this, &UMyWidget::LoadRewardedAd, RetryDelay, false);
});
}
void UMyWidget::OnRewardedAdDisplayFailed(const FAdInfo &AdInfo, const FAdError &AdError)
{
// Rewarded ad failed to display. AppLovin recommends that you load the next ad.
LoadRewardedAd();
}
void UMyWidget::OnRewardedAdHidden(const FAdInfo &AdInfo)
{
// Rewarded ad is hidden. Pre-load the next ad.
LoadRewardedAd();
}
void UMyWidget::OnRewardedAdReceivedReward(const FAdInfo &AdInfo, const FAdReward &Reward)
{
// Rewarded ad was displayed and user should receive the reward
}
rewarded ad를 표시하려면 ShowRewardedAd()를 호출합니다:

if (UAppLovinMAX::IsRewardedAdReady(RewardedAdUnitId))
{
UAppLovinMAX::ShowRewardedAd(RewardedAdUnitId);
}
귀사의 통화 서버로 콜백을 받을 수 있습니다. 자세한 방법은 MAX S2S rewarded 콜백 API 가이드를 참조하세요. 그런 다음 Edit Ad Unit 페이지에서 Server Side Callback URL을 업데이트하십시오.
보상 금액 및 통화를 설정하려면:

