リワード広告
リワード広告は、ユーザーが広告にエンゲージすることで、ゲームプレイの継続、仮想通貨、その他のアプリ内報酬を受け取れる仕組みです。ユーザーが時間をかけて広告にエンゲージすることで具体的なメリットが得られるため、エンゲージメントの向上につながります。
次のセクションでは、リワード広告をロードおよび表示する方法について説明します。
リワード広告をロード
以下のコードは、リスナーを設定して最初のリワード広告をロードする方法を示しています。
// 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, &MyWidget::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}
リワード広告を表示
リワード広告を表示するには、ShowRewardedAd()
を呼び出します。
if (UAppLovinMAX::IsRewardedAdReady(RewardedAdUnitId)){ UAppLovinMAX::ShowRewardedAd(RewardedAdUnitId);}
S2S Rewarded Callbacks
通貨サーバーへのコールバックを受け取ることができます。 設定方法については、MAX S2S Rewarded CallbackAPIガイドをご覧ください。 次に、Edit Ad UnitページにてServer Side Callback URLをアップデートしてください。
リワード広告の金額と通貨の設定
リワードの金額と通貨を設定する方法:
- Edit Ad UnitページにてAdd S2S Reward Callbackをクリックします:
- Server Side Callback URL、Reward AmountおよびRewarded Currency Nameを追加します: