Ad Quality SDK 実装ガイド
Ad Quality SDK を使用すると、アプリ内で Ad Quality を利用することができます。Ad Quality SDKは、使用中のアドネットワーク SDK から必要なすべての広告イベントと属性を自動的に収集するため、最小限のコーディングで簡単に実装が完了します。
ステップ1:Ad Quality SDK をアプリに追加する
- ダウンロードリンクから Unity3D パッケージをプロジェクトに追加します
- Unity プロジェクトが開いていることを確認し、Unity パッケージをインポートしてください
- 抽出したファイルをダブルクリック:以下に示すように、さまざまなファイルが自動的に入力されます
これにより、選択に応じて関連するすべてのアーティファクトがダウンロードされます。
手順:Assets → External Dependency Resolver → Android Resolver → Resolve
ステップ2:SDK を初期化する
- Unity LevelPlay プラットフォーム上の ironSource appKey を使用して Ad Quality SDK を初期化します。
- 次のコードをアプリのメイン スレッドに追加するか、他の広告ネットワーク SDK と同じスレッドに追加して、Ad Quality SDK を初期化します:
以下のコードを最初のシーンの Awake メソッド内に追加します:
void Awake ()
{
// Initialize
IronSourceAdQuality.Initialize(appKey);
}
ステップ3(任意):SDK の初期化(アドバンスト)
実装を特別な設定でカスタマイズする事で、さらに多くの機能を使用できます:
- ユーザー ID – Ad Quality のデフォルト ID ではなく、独自のユーザー ID を使用できます。
- テストモード – Ad Quality SDK 実装のテスト設定(デフォルトは false)
- ログレベル – コードにおける問題に対するデバッグ時に使用するログレベル設定(デフォルトはINFO)
以下のコードを使用して、ビルダーで config オブジェクトを作成します。
以下のコードを最初のシーンの Awake メソッド内に追加します:
ISAdQualityConfig adQualityConfig = new ISAdQualityConfig();
ユーザー 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.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 = true;
// The default is false - set to true only to test your Ad Quality integration
ログレベル
adQualityConfig.LogLevel = ISAdQualityLogLevel.INFO;
// There are 5 different log levels:
// ERROR, WARNING, INFO, DEBUG, VERBOSE
// The default is INFO
IronSourceAdQuality.Initialize(appKey, adQualityConfig);
ステップ4(任意):SDK コールバックイベントの設定
Unity3d のコールバックは、Ad Quality SDK が初期化される部分で別クラスへの実装を推奨しています。
public class AdQualitySdkInit: ISAdQualityInitCallback {
public void adQualitySdkInitSuccess() {
Debug.Log("unity: adQualitySdkInitSuccess");
}
public void adQualitySdkInitFailed(ISAdQualityInitError adQualitySdkInitError, string errorMessage) {
Debug.Log("unity: adQualitySdkInitFailed " + adQualitySdkInitError + " message: " + errorMessage);
}
}
AdQualitySdkInit adQualitySdkInit = new AdQualitySdkInit();
ISAdQualityConfig adQualityConfig = new ISAdQualityConfig {
AdQualityInitCallback = adQualitySdkInit
};
IronSourceAdQuality.Initialize(appKey, adQualityConfig);
ステップ5(任意):Ad Quality SDK へインプレッションレベルレベニューを送信する
インプレションレベルレベニューレポートは Ad Quality SDK 7.2.0 以降でサポートされています:
Ad Quality SDK でインプレッションレベルレベニューを送信するには、以下のコードを実装します。
ISAdQualityCustomMediationRevenue customMediationRevenue = new ISAdQualityCustomMediationRevenue();
customMediationRevenue.MediationNetwork = ISAdQualityMediationNetwork.SELF_MEDIATED;
customMediationRevenue.AdType = ISAdQualityAdType.REWARDED_VIDEO;
customMediationRevenue.Revenue = 1.2;
IronSourceAdQuality.SendCustomMediationRevenue(customMediationRevenue);
AdMob メディエーションを使用している場合は、次の手順に従ってください:
- AdMob のアカウントマネージャーに、AdMob インプレッションレベル LTV(iLTV)を有効にするよう依頼します。
- Android または iOS の GMA SDK 8.12.0 以降を使用していること、およびそのバージョンが iLTV をサポートしていることを確認します。
- 次のコードをAd Quality SDK の実装部分に追加します:
RewardedAd rewardedAd;
public void HandleRewardedAdLoaded(object sender, EventArgs args)
{
this.rewardedAd = args.rewardedAd;
}
private void HandleAdPaidEvent(object sender, AdValueEventArgs args)
{
AdValue impressionData = args.AdValue;
ISAdQualityCustomMediationRevenue customMediationRevenue = new ISAdQualityCustomMediationRevenue();
customMediationRevenue.MediationNetwork = ISAdQualityMediationNetwork.ADMOB;
customMediationRevenue.AdType = ISAdQualityAdType.REWARDED_VIDEO;
customMediationRevenue.Revenue = impressionData.Value/1000000f;
IronSourceAdQuality.SendCustomMediationRevenue(customMediationRevenue);
}