Ad Quality SDK 実装ガイド
Ad Quality SDK を使用すると、アプリ内で Ad Quality を実行できるようになり、アプリ内の広告コンテンツの監視と制御に役立ちます – 概要ビデオはこちら。
Ad Quality SDKは、使用中のアドネットワーク SDK から必要なすべての広告イベントと属性を自動的に収集するため、最小限のコーディングで簡単に実装が完了します。
LevelPlay を使用中のパブリッシャーはメディエーション実装の一部として、一行のコードで Ad Quality SDK を追加・変更することが可能です。 詳細はこちら。
ステップ1:Ad Quality SDK をアプリに追加する
CocoaPods
CocoaPods は、Objective-C と Swift の依存関係マネージャーです。SDK 統合プロセスを自動化および簡素化します。詳細については、CocoaPods の使用開始と使用に関する CocoaPods ガイドを参照してください。
SDK を CocoaPods で実装するには、Podfile に次の行を入力します:
pod 'IronSourceAdQualitySDK','7.23.3'
ステップ2:SDK を初期化する
- Unity LevelPlay プラットフォーム上の ironSource appKey を使用して Ad Quality SDK を初期化します。
- 次のコードをアプリのメイン スレッドに追加するか、他の広告ネットワーク SDK と同じスレッドに追加して、Ad Quality 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)
以下のコードを使用して、ビルダーで config オブジェクトを作成します。
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.
2. 初期化時までにユーザー ID を取得できない場合、初期化後にデフォルトのユーザー 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 コールバックイベントの設定
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 でインプレッションレベルレベニューを送信するには、以下のコードを実装します。
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];
}
}];