MMPs용 Impression-Level User Revenue API

이 API는 게시자-구독자(publisher-subscriber) 아키텍처를 사용합니다. MAX SDK가 MAX 광고 매출 이벤트를 브로드캐스트하면 MMP가 max_revenue_events 토픽을 구독합니다. AppLovin은 앱이 실행된 직후에 해당 토픽을 구독할 것을 권장합니다. 그렇게 해야 이벤트를 놓치지 않습니다. 각 브로드캐스트 이벤트에는 다음 매개변수가 포함됩니다.

이름설명예시
ad_format광고의 광고 형식.BANNER, MREC, INTER, REWARDED
country_code매출이 발생한 국가 코드.US (미국의 경우)
id노출에 대한 고유한 내부 ID.19017d954ffcded6c42772b09ec36699efe0bfc2
max_ad_unit_idMAX Ad Unit ID.65d8d0195e50bda6
network_name광고를 게재한 network의 표시 이름.AppLovin
revenue매출 금액을 나타내는 double 값.0.002067201
third_party_ad_placement_id광고의 placement ID (비딩의 경우 없을 수 있음).inter_regular
user_segment광고가 노출된 사용자의 user segment.experiment5

이러한 브로드캐스트 이벤트에서 매개변수 값을 설정하는 책임은 MMP에 있습니다. 하나 이상의 매개변수에 대한 데이터를 받지 못하거나 해당 데이터가 신뢰할 수 없는 경우, MMP와 협력하여 관련 매개변수를 모두 지원하는지 확인하십시오.

다음 예시는 SDK가 브로드캐스트하는 이벤트를 구독하고 처리하는 방법을 보여줍니다.

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

@interface ExampleViewController()<ALCSubscriber>
@end

@implementation ExampleViewController

- (void)viewDidLoad
{
  [super viewDidLoad];

  [[ALCCommunicator defaultCommunicator] subscribe: self forTopic: @"max_revenue_events"];
}

- (void)viewWillDisappear:(BOOL)animated
{
  [super viewWillDisappear: animated];

  // 구독이 더 이상 필요하지 않을 때 구독 해제
  [[ALCCommunicator defaultCommunicator] unsubscribe: self forTopic: @"max_revenue_events"];
}

#pragma mark - AppLovin Communicator Subscriber Protocol

- (void)didReceiveMessage:(ALCMessage *)message
{
  // 여러 토픽을 구독 중인 경우, 원하는 토픽인지 확인
  if ( [@"max_revenue_events" isEqualToString: message.topic] )
  {
    double revenue = [message.data[@"revenue"] doubleValue];

    // MAX 매출 이벤트 메시지에는 MAX 광고 이벤트 메시지와 동일한 정보가 포함되지만, "type"은 포함되지 않습니다.
    NSString *countryCode = message.data[@"country_code"]; // 미국의 경우 "US" 등 - 참고: 통화 코드인 "USD"와 혼동하지 마십시오.
    NSString *networkName = message.data[@"network_name"]; // 광고를 게재한 network의 표시 이름
    NSString *adUnitIdentifier = message.data[@"max_ad_unit_id"]; // MAX Ad Unit ID
    NSString *thirdPartyAdPlacementIdentifier = message.data[@"third_party_ad_placement_id"]; // 광고의 placement ID (비딩의 경우 없을 수 있음)
    NSString *adFormat = message.data[@"ad_format"]; // 광고의 광고 형식 (예: "BANNER", "MREC", "INTER", "REWARDED")
  }
}

- (NSString *)communicatorIdentifier;
{
  return @"«your_company_name_in_snake_case»";
}

@end

"revenue"-1인 경우, 이는 오류를 나타냅니다.


search