Ad Quality SDK 実装ガイド

Ad Quality SDK を使用すると、アプリ内で Ad Quality を利用することができます。Ad Quality SDKは、使用中のアドネットワーク SDK から必要なすべての広告イベントと属性を自動的に収集するため、最小限のコーディングで簡単に実装が完了します。

Important! Ad Quality SDK を実装する前に、ironSource 管理画面に少なくとも 1 つのアプリを登録していることを確認してください。
LevelPlay を使用中のパブリッシャーはメディエーション実装の一部として、一行のコードで Ad Quality SDK を追加・変更することが可能です。 詳細はこちら

ステップ1:Ad Quality SDK をアプリに追加する

CocoaPods

CocoaPods は、Objective-C と Swift の依存関係マネージャーです。SDK 統合プロセスを自動化および簡素化します。詳細については、CocoaPods の使用開始使用に関する CocoaPods ガイドを参照してください。

SDK を CocoaPods で実装するには、Podfile に次の行を入力します:

pod 'IronSourceAdQualitySDK','7.19.1'

ステップ2:SDK を初期化する

  1. Unity LevelPlay プラットフォーム上の ironSource appKey を使用して Ad Quality SDK を初期化します。
  2. 次のコードをアプリのメイン スレッドに追加するか、他の広告ネットワーク SDK と同じスレッドに追加して、Ad Quality SDK を初期化します:

以下のコードをメイン ViewController の viewDidLoad メソッド内に追加します:

#import "IronSourceAdQuality.h"
 
@implementation ViewController 
- (void)viewDidLoad { 
    [super viewDidLoad]; 
    // Initialize 
    [[IronSourceAdQuality getInstance] initializeWithAppKey:appKey]; 
} 
@end

ステップ3(任意):SDK の初期化(アドバンスト)

実装を特別な設定でカスタマイズする事で、さらに多くの機能を使用できます:

  1. ユーザー ID – Ad Quality のデフォルト ID ではなく、独自のユーザー ID を使用できます。
  2. テストモード – Ad Quality SDK 実装のテスト設定(デフォルトは false)
  3. ログレベル – コードにおける問題に対するデバッグ時に使用するログレベル設定(デフォルトは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 only allowed characters for user id are: letters, numbers, @, -, :, =, _ and /.
// 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 only allowed characters for user id are: letters, numbers, @, -, :, =, _ and /. 
// 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

Note: Ad Quality SDK の初期化にかかる時間は、アプリに実装されたアドネットワーク SDK の数によって異なります。また、ネットワーク接続の問題も遅延の原因となる場合があります。初期化の平均時間は3〜4秒です。

ステップ5(任意):Ad Quality SDK へインプレッションレベルレベニューを送信する

Note: LevelPlay を使用していて次の機能を使用する場合には、最初に Ad Quality が初期化されていることを確認してください。
Note: この機能は、フルスクリーン広告のみをサポートしています。 LevelPlay、MAX、および DT FairBid の場合、このデータは自動的に収集されます。

インプレションレベルレベニューレポートは Ad Quality SDK 7.2.0 以降でサポートされています:

Ad Quality SDK でインプレッションレベルレベニューを送信するには、以下のコードを実装します。

Important! sendCustomMediationRevenue メソッドは広告が表示された際に呼んでください。広告のライフサイクル外で呼んだ場合は無効となります。

  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 メディエーションを使用している場合は、次の手順に従ってください:

  1. AdMob のアカウントマネージャーに、AdMob インプレッションレベル LTV(iLTV)を有効にするよう依頼します。
  2. Android または iOS の GMA SDK 8.12.0 以降を使用していること、およびそのバージョンが iLTV をサポートしていることを確認します。
  3. 次のコードを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];
  }
}];