Ad Quality SDK 연동하기
Ad Quality는 사용자가 보는 광고 콘텐츠를 모니터링하고 제어하여 앱의 목표에 부합하고 사용자 경험을 향상할 수 있도록 돕습니다. 잠재 수익을 극대화하면서 사용자의 참여를 유도하는 관련성 높은 광고를 게재하세요.
레벨플레이에서 제공하는 단계별 가이드를 따라 레벨플레이 플랫폼에서 애플리케이션을 구성하세요
Before you start
1단계: 앱에 Ad Quality SDK 가져오기
CocoaPods
CocoaPods는 Objective-C 및 Swift용 종속성 관리자로, SDK 연동 과정을 자동화하고 단순화합니다. 자세한 내용은 CocoaPods 가이드의 시작하기 및 CocoaPods 사용하기를 참조하세요.
저희 SDK를 Cocoapods와 연동하려면 podfile에 다음 줄을 입력합니다:
pod 'IronSourceAdQualitySDK','7.26.1'
2단계: SDK 초기화
- Unity 레벨플레이 플랫폼에서 발급받은 레벨플레이(아이언소스) 앱 키를 사용하여 Ad Quality SDK를 초기화하세요.
- Ad Quality SDK를 초기화하려면 앱의 메인 스레드 또는 다른 광고 네트워크 SDK와 동일한 스레드에 다음 코드를 추가합니다:
메인 ViewController의 viewDidLoad 메서드에 다음 코드를 추가합니다:
#import "IronSourceAdQuality.h"
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Initialize
[[IronSourceAdQuality getInstance] initializeWithAppKey:appKey];
} @end
3단계(선택): 고급 SDK 초기화
- 사용자 ID – Ad Quality의 기본 ID 대신 자체 사용자 ID를 사용합니다.
- 테스트 모드 – Ad Quality SDK 연동을 테스트합니다(기본값은 false).
- 로그 레벨 – 코드 문제를 디버깅하기 위한 로그 레벨을 선택합니다(기본값은 INFO).
아래 코드를 사용하여 Builder를 사용해 구성 객체를 생성합니다.
ISAdQualityConfig *adQualityConfig = [ISAdQualityConfig config];
사용자 ID
Ad Quality SDK는 사용자 ID를 구성하는 두 가지 옵션을 제공합니다:
1. 자체 사용자 ID를 사용하고, 초기화 전이나 도중에 추가합니다:
adQualityConfig.userId = userId;
// The default user id is Ad Quality internal id.
// The user id cannot be null and must be between 2 and 100 characters, otherwise it will be blocked.
ID가 나중에 설정되는 경우를 위해, Ad Quality SDK를 초기화한 후 기본 사용자 ID를 변경합니다.
[[IronSourceAdQuality getInstance] changeUserId:userId];
// The default user id is Ad Quality internal id.
// The user id cannot be null and must be between 2 and 100 characters, otherwise it will be blocked.
테스트 모드
adQualityConfig.testMode = YES;
// The default is NO - set to true only to test your Ad Quality integration
로그 레벨
adQualityConfig.logLevel = IS_AD_QUALITY_LOG_LEVEL_INFO;
// There are 5 different log levels:
// IS_AD_QUALITY_LOG_LEVEL_ERROR,
// IS_AD_QUALITY_LOG_LEVEL_WARNING,
// IS_AD_QUALITY_LOG_LEVEL_INFO,
// IS_AD_QUALITY_LOG_LEVEL_DEBUG,
// IS_AD_QUALITY_LOG_LEVEL_VERBOSE
// The default is IS_AD_QUALITY_LOG_LEVEL_INFO
[[IronSourceAdQuality getInstance] initializeWithAppKey:appKey andConfig:adQualityConfig];
4단계(선택): SDK 콜백 이벤트 구성
Ad Quality SDK가 초기화된 동일한 위치에서, 별도의 클래스에 iOS 콜백을 구현합니다.
ISAdQualityInitDelegate:
#import "IronSourceAdQuality.h"
@interface ViewController () : NSObject<ISAdQualityInitDelegate>
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
ISAdQualityConfig *config = [ISAdQualityConfig config];
[config setAdQualityInitDelegate:self];
// Initialize
[[IronSourceAdQuality getInstance] initializeWithAppKey:appKey
andConfig:config];
}
- (void)adQualitySdkInitSuccess {
NSLog(@"adQualitySdkInitSuccess");
}
- (void)adQualitySdkInitFailed:(ISAdQualityInitError) error withMessage:(NSString *)message {
NSLog(@"adQualitySdkInitFailed %u message: %@", error, message);
}
@end
5단계(선택사항): 노출 수준 광고 수익을 Ad Quality SDK에 보고하기
Ad Quality SDK 7.2.0 이상 버전은 노출 수준 광고 수익 보고를 지원합니다:
Ad Quality SDK에서 노출 수준 광고 수익을 보고하려면 아래 코드 스니펫을 SDK 연동에 추가해 주세요.
ISAdQualityCustomMediationRevenue *customMediationRevenue = [[ISAdQualityCustomMediationRevenue alloc] init];
customMediationRevenue.mediationNetwork = IS_AD_QUALITY_MEDIATION_NETWORK_SELF_MEDIATED;
customMediationRevenue.adType = IS_AD_QUALITY_AD_TYPE_REWARDED;
customMediationRevenue.placement = "placement";
customMediationRevenue.revenue = 0.12;
[[IronSourceAdQuality getInstance] sendCustomMediationRevenue:customMediationRevenue];
AdMob 미디에이션을 사용하는 경우 다음 단계를 따라서 구현합니다:
- AdMob 계정 관리자에게 AdMob 노출 수준 LTV(iLTV)를 활성화하도록 요청하세요
- Android 또는 iOS용 GMA SDK 8.12.0 이상 버전을 사용하고 해당 버전이 iLTV를 지원하는지 확인하세요
- Ad Quality SDK 연동에 다음 코드 스니펫을 추가하세요:
GADRewardedAd* rewardedAd;
[GADRewardedAd loadWithAdUnitID:@"AD_UNIT_ID"
request:request
completionHandler:^(GADRewardedAd *ad, NSError *error) {
if (error) {
NSLog(@"Rewarded ad failed to load with error: %@", [error localizedDescription]);
return;
}
self.rewardedAd = ad;
self.rewardedAd.paidEventHandler = ^void(GADAdValue *_Nonnull adValue){
ISAdQualityCustomMediationRevenue *customMediationRevenue = [[ISAdQualityCustomMediationRevenue alloc] init];
customMediationRevenue.mediationNetwork = IS_AD_QUALITY_MEDIATION_NETWORK_ADMOB;
customMediationRevenue.adType = IS_AD_QUALITY_AD_TYPE_REWARDED;
customMediationRevenue.placement = [rewardedAd adUnitID];
customMediationRevenue.revenue = adValue.value.doubleValue;
[[IronSourceAdQuality getInstance] sendCustomMediationRevenue:customMediationRevenue];
}
}];