Ad Quality SDK 実装ガイド
Ad Quality SDK を使用すると、アプリ内で Ad Quality を利用することができます。Ad Quality SDKは、使用中のアドネットワーク SDK から必要なすべての広告イベントと属性を自動的に収集するため、最小限のコーディングで簡単に実装が完了します。
Important!
Ad Quality SDK を実装する前に、ironSource 管理画面に少なくとも 1 つのアプリを登録していることを確認してください。
LevelPlay を使用中のパブリッシャーはメディエーション実装の一部として、一行のコードで Ad Quality SDK を追加・変更することが可能です。 詳細はこちら。
LevelPlay を使用中のパブリッシャーはメディエーション実装の一部として、一行のコードで Ad Quality SDK を追加・変更することが可能です。 詳細はこちら。
ステップ1:Ad Quality SDK をアプリに追加する
Gradle
1. 以下を build.gradle の repositories セクションに追加します:
repositories {
maven {
url 'https://android-sdk.is.com/'
}
}
2. 続いて、以下を dependencies セクションに追加します:
dependencies {
// ironSource Ad Quality SDK
implementation 'com.ironsource:adqualitysdk:7.22.2'
}
ステップ2:SDK を初期化する
- Unity LevelPlay プラットフォーム上の ironSource appKey を使用して Ad Quality SDK を初期化します。
- 次のコードをアプリのメイン スレッドに追加するか、他の広告ネットワーク SDK と同じスレッドに追加して、Ad Quality SDK を初期化します:
import com.ironsource.adqualitysdk.sdk.IronSourceAdQuality;
protected void onCreate(Bundle savedInstanceState) {
// Initialize
IronSourceAdQuality.getInstance().initialize(this, appKey);
}
ステップ3(任意):SDK の初期化(アドバンスト)
実装を特別な設定でカスタマイズする事で、さらに多くの機能を使用できます:
- ユーザー ID – Ad Quality のデフォルト ID ではなく、独自のユーザー ID を使用できます。
- テストモード – Ad Quality SDK 実装のテスト設定(デフォルトは false)
- ログレベル – コードにおける問題に対するデバッグ時に使用するログレベル設定(デフォルトはINFO)
以下のコードを使用して、ビルダーで config オブジェクトを作成します。
ISAdQualityConfig.Builder adQualityConfigBuilder = new ISAdQualityConfig.Builder();
ユーザー ID
Ad Quality SDK では以下二つの方法でユーザー ID を設定できます:
1. 初期化前または初期化中に独自のユーザー ID を設定する方法:
adQualityConfigBuilder.setUserId(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.
テストモード
adQualityConfigBuilder.setTestMode(true);
// The default is false - set to true only to test your Ad Quality integration
ログレベル
adQualityConfigBuilder.setLogLevel(ISAdQualityLogLevel.INFO);
// There are 5 different log levels:
// ERROR, WARNING, INFO, DEBUG, VERBOSE
// The default is INFO
ISAdQualityConfig adQualityConfig = adQualityConfigBuilder.build();
IronSourceAdQuality.getInstance().initialize(this, appKey, adQualityConfig);
ステップ4(任意):SDK コールバックイベントの設定
ISAdQualityInitListener:
ISAdQualityConfig.Builder builder = new ISAdQualityConfig.Builder().setAdQualityInitListener(new ISAdQualityInitListener() {
@Override
public void adQualitySdkInitSuccess() {
Log.d("AdQualityInitListener", "adQualitySdkInitSuccess");
}
@Override
public void adQualitySdkInitFailed(ISAdQualityInitError error, String message) {
Log.d("AdQualityInitListener", "adQualitySdkInitFailed " + error + " message: " + message);
}
});
ISAdQualityConfig adQualityConfig = builder.build();
IronSourceAdQuality.getInstance().initialize(this, appKey, adQualityConfig);
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.Builder builder = new ISAdQualityCustomMediationRevenue.Builder()
.setMediationNetwork(ISAdQualityMediationNetwork.SELF_MEDIATED)
.setAdType(ISAdQualityAdType.REWARDED_VIDEO)
.setPlacement("placement")
.setRevenue(0.12);
IronSourceAdQuality.getInstance().sendCustomMediationRevenue(builder.build());
AdMob メディエーションを使用している場合は、次の手順に従ってください:
- AdMob のアカウントマネージャーに、AdMob インプレッションレベル LTV(iLTV)を有効にするよう依頼します。
- Android または iOS の GMA SDK 8.12.0 以降を使用していること、およびそのバージョンが iLTV をサポートしていることを確認します。
- 次のコードをAd Quality SDK の実装部分に追加します:
RewardedAd mRewardedAd;
@Override
public void onAdLoaded(@NonNull RewardedAd rewardedAd) {
mRewardedAd = rewardedAd;
// Set paid event listener
mRewardedAd.setOnPaidEventListener(new OnPaidEventListener() {
@Override
public void onPaidEvent(AdValue adValue) {
ISAdQualityCustomMediationRevenue.Builder builder = new ISAdQualityCustomMediationRevenue.Builder()
.setMediationNetwork(ISAdQualityMediationNetwork.ADMOB)
.setAdType(ISAdQualityAdType.REWARDED_VIDEO)
.setPlacement(mRewardedAd.getAdUnitId())
.setRevenue(adValue.getValueMicros()/1000000.0);
IronSourceAdQuality.getInstance().sendCustomMediationRevenue(builder.build());
}
});
}