Rewarded 광고

Rewarded ads를 사용하면 사용자가 광고에 참여하는 대가로 게임 계속하기, 가상 화폐 또는 기타 보상과 같은 인앱 아이템을 제공할 수 있습니다. Rewarded ads는 사용자가 자신의 시간에 대해 실질적인 혜택을 받기 때문에 참여도를 높입니다.

다음 섹션에서는 Rewarded ad를 로드하고 보여주는 방법을 보여줍니다.

Rewarded ad 로드하기

Rewarded ad를 로드하려면 Rewarded ad unit에 해당하는 MARewardedAd 객체의 인스턴스를 가져온 다음 해당 loadAd 메서드를 호출합니다. 광고가 준비되었을 때 알림을 받을 수 있도록 MARewardedAdDelegate를 구현합니다. 이것은 다른 광고 관련 이벤트에 대해서도 알려줍니다.

#import "ExampleViewController.h"
#import <AppLovinSDK/AppLovinSDK.h>

@interface ExampleViewController()<MARewardedAdDelegate>
@property (nonatomic, strong) MARewardedAd *rewardedAd;
@property (nonatomic, assign) NSInteger retryAttempt;
@end

@implementation ExampleViewController

- (void)createRewardedAd
{
  self.rewardedAd = [MARewardedAd sharedWithAdUnitIdentifier: @"«ad-unit-ID»"];
  self.rewardedAd.delegate = self;

  // Load the first ad
  [self.rewardedAd loadAd];
}

#pragma mark - MAAdDelegate Protocol

- (void)didLoadAd:(MAAd *)ad
{
  // Rewarded ad is ready to show. '[self.rewardedAd isReady]' now returns 'YES'

  // Reset retry attempt
  self.retryAttempt = 0;
}

- (void)didFailToLoadAdForAdUnitIdentifier:(NSString *)adUnitIdentifier withError:(MAError *)error
{
  // Rewarded ad failed to load
  // AppLovin recommends that you retry with exponentially higher delays up to a maximum delay (in this case 64 seconds)

  self.retryAttempt++;
  NSInteger delaySec = pow(2, MIN(6, self.retryAttempt));

  dispatch_after(dispatch_time(DISPATCH_TIME_NOW, delaySec * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
    [self.rewardedAd loadAd];
  });
}

- (void)didDisplayAd:(MAAd *)ad {}

- (void)didClickAd:(MAAd *)ad {}

- (void)didHideAd:(MAAd *)ad
{
  // Rewarded ad is hidden. Pre-load the next ad
  [self.rewardedAd loadAd];
}

- (void)didFailToDisplayAd:(MAAd *)ad withError:(MAError *)error
{
  // Rewarded ad failed to display. AppLovin recommends that you load the next ad.
  [self.rewardedAd loadAd];
}

#pragma mark - MARewardedAdDelegate Protocol

- (void)didRewardUserForAd:(MAAd *)ad withReward:(MAReward *)reward
{
  // Rewarded ad was displayed and user should receive the reward
}

@end

Rewarded ad 표시하기

Rewarded ad를 표시하려면 가져온 MARewardedAd 객체에서 showAd를 호출합니다.

if ( [self.rewardedAd isReady] )
{
  [self.rewardedAd showAd];
}

Rewarded ad 오디오가 앱의 배경 오디오를 방해하지 않도록 하려면, 광고를 표시하기 전에 앱의 배경 오디오를 중지하는 것을 AppLovin은 권장합니다. 그런 다음 광고를 숨긴 후에 앱의 배경 오디오를 다시 시작할 수 있습니다.

Rewarded ad의 보상 금액 및 통화에 액세스하기

보상 금액과 통화에 액세스하려면 -[MARewardedAdDelegate didRewardUserForAd:withReward:] 콜백을 오버라이드합니다:

- (void)didRewardUserForAd:(MAAd *)ad withReward:(MAReward *)reward
{
  NSLog(@"Rewarded user: %d %@", reward.amount, reward.label);
}

S2S rewarded 콜백

귀하의 통화 서버로 콜백을 받을 수 있습니다. 방법을 알아보려면 MAX S2S rewarded 콜백 API 가이드를 참조하십시오. 그런 다음 Edit Ad Unit 페이지에서 Server Side Callback URL을 업데이트합니다.

Rewarded ad의 보상 금액 및 통화 설정하기

보상 금액과 통화를 설정하려면:

  1. Edit Ad Unit 페이지에서 Add S2S Reward Callback을 클릭합니다: Ad Type: ☐App Open, ☐Banner, ☐Interstitial, ☐MRec, ☐Native, ☑Rewarded. Add S2S Reward Callback.
  2. Server Side Callback URL, Reward Amount, Rewarded Currency Name을 추가합니다: Ad Type: ☐App Open, ☐Banner, ☐Interstitial, ☐MRec, ☐Native, ☑Rewarded. Hide Callback Settings. Server Side Callback URL form field. Reward Amount form field. Rewarded Currency Name form field. AppLovin Event Key form field.

search