Android SDK の設定

Xandr Mobile SDK には、アプリの開発に役立つさまざまな設定が用意されています。 この記事では、Android SDK 設定のメソッド、入力パラメーター、戻り値、制限、ガイドライン、例について詳しく説明します。

関数 説明
void init() OMID をアクティブ化し、デバイスのユーザー エージェントと AAID (Google 広告 ID) を取得します。

詳細については、以下の 「SDK 設定の初期化 」を参照してください。
void setPublisherUserId(String publisherUserId) 広告要求でサード パーティ ソースからのパブリッシャー ファースト パーティ ID とユーザー ID を送信します。

詳細については、以下の 「ユーザー ID マッピング 」を参照してください。
void setUserIds(List<ANUserId> userIdList) ANSDKSettings クラスのユーザー ID を設定します。

詳細については、以下の 「ユーザー ID マッピング 」を参照してください。
void setGeoOverrideCountryCode(String countryCode) 国コードを割り当てます。

詳細については、以下の「 国コードと郵便番号の上書きのサポート 」を参照してください。
void setGeoOverrideZipCode(String zipCode) 郵便番号を割り当てます。

詳細については、以下の「 国コードと郵便番号の上書きのサポート 」を参照してください。
void setLocationDecimalDigits(int digitsAfterDecimal) 広告サーバーに渡す位置データの精度を制御します。

詳細については、以下の 位置情報制御 を参照してください。
void setLocationEnabledForCreative(Boolean enabled) クリエイティブの位置情報へのアクセスを制御します。

詳細については、以下の 位置情報制御 を参照してください。
void enableBackgroundThreading(Boolean enable) バックグラウンド スレッド機能フラグを有効または無効にします。

詳細については、以下の 「バックグラウンド スレッド」 を参照してください。
void setDoNotTrack(Boolean dnt) パブリッシャー側のユーザー オプトアウト機能を有効にします。

詳細については、以下の 「パブリッシャー側のユーザー オプトアウト 」を参照してください。
void disableAAIDUsage(Boolean disable) disableAAIDUsage を有効または無効にします。

詳細については、以下の AAID の使用の設定 を参照してください。
void setAuctionTimeout(long auctionTimeout) タイムアウト期間をミリ秒単位で設定します。

詳細については、以下の「 オークション タイムアウトの設定 」を参照してください。
void enableTestMode(Boolean enabled) テスト モードで実行される AdRequests の true または false を設定します。

詳細については 、以下の「テスト モードの設定」 を参照してください。
void setContentLanguage(String contentLanguage) コンテンツの言語のコードを設定します。

詳細については、以下の 「コンテンツの言語の設定」 を参照してください。
void setOMIDOptimizationEnabled(boolean enabled) ネイティブ広告の OMID セッション ライフサイクル最適化を有効または無効にします。

詳細については、下記の OMID 最適化 を参照してください。
boolean isOMIDOptimizationEnabled() OMID セッション ライフサイクルの最適化が有効になっているかどうかを返します。

SDK 設定を初期化する

関数 説明
void init(Context context, final InitListener listener)

オーバーロードされたメソッド:
void init(final Context context, final InitListener listener, final boolean fetchUserAgent, final boolean fetchAAID, final boolean enableWarmUpAdCall, final boolean preFetchWebView)
OMID をアクティブ化し、ユーザー エージェント、AAID (Google Advertising ID) を取得するメソッドは、デバイスの WebView WarmUpAdCall およびプリフェッチを有効にします。

さらに、オーバーロードされた init() メソッドは、必要に応じて AAID、UserAgent、 enableWarmUpAdCall、および preFetchWebView のフェッチを無効にします。 引数として、 fetchUserAgent、 fetchAAID、 enableWarmUpAdCall、 preFetchWebView のブール値を有効/無効にする必要があります。

例

通常の Init メソッド
SDKSettings.init(this, new SDKSettings.InitListener() {
    @Override
    public void onInitFinished() {
        // Initialisation finished
    }
});
ユーザー エージェント、AAID、WarmUpAdCall、および Prefetch WebView のフェッチを有効または無効にする柔軟性を備えたオーバーロードされた Init メソッド
SDKSettings.init(this, new SDKSettings.InitListener() {
    @Override
    public void onInitFinished() {
        // Initialisation finished
    }
}, false, true, false, false);
//Boolean values false/true are optional and as per usage

ユーザー ID マッピング

重要

  • このオファリングは現在アルファ版であり、予告なしに変更または非推奨になる場合があります。
  • NativeAdRequest、VideoAd、BannerAdView、InterstitialAdView クラスで使用できる setExternalUid メソッドと getExternalUid メソッドは非推奨になりました。 代わりに、SDKSettings クラスで後述の setPublisherUserId と getPublisherUserId を使用できます。 非推奨のメソッドは、SDK v8.0 で削除されます。
  • SDKSettings クラスと ANExternalUserIdSource クラスで使用可能な setExternalUserIds メソッドと getExternalUserIds メソッドは非推奨になり、SDK v8.0 で削除される予定です。 代わりに、以下で説明する SDKSettings クラスおよび ANUserId クラスの setUserIds メソッドと getUserIds メソッドを使用できます。
関数 説明
void setPublisherUserId(String publisherUserId) MobileSDK API の SDKSettings クラスでパブリッシャー (ファースト パーティ) ユーザー ID を設定するメソッド。
void setUserIds(List<ANUserId> userIdList) MobileSDK API の ANSDKSettings クラスにユーザー ID を設定するメソッド。

ユーザー ID は次の方法で設定できます。
- ANUserId オブジェクトのリストの作成、
- ANSDKSettings の setUserIds() メソッドにリストを割り当てます。

Xandr は、以下のソースからのユーザー ID をサポートします。
- クリテオ
- トレードデスク
- NetID
- LiveRamp
- UID 2.0
- パブリッシャーが提供する ID/PPID (パブリッシャーは API 経由で独自のソースを登録し、ユーザー ID を渡すことができます)。

注:

  • パブリッシャー ID とユーザー ID はグローバル設定です。
  • ユーザー ID は、同じセッション内の連続するすべての広告要求で使用されるため、アプリ セッションごとに 1 回設定するだけで十分です。
  • Xandr は、これらの値を異なるアプリ セッションに保存しません。

例

List<ANUserId> userIds = new ArrayList<>();
ANUserId tradeDeskUserID = new ANUserId(ANUserId.Source.THE_TRADE_DESK, "userid-ttd-foobar");
userIds.add(tradeDeskUserID);
ANUserId criteoUserId = new ANUserId(ANUserId.Source.CRITEO, "userid-Criteo-foobar");
userIds.add(criteoUserId);
ANUserId netIdUserID = new ANUserId(ANUserId.Source.NETID, "userid-netid-foobar");
userIds.add(netIdUserID);
ANUserId liveRampUserID = new ANUserId(ANUserId.Source.LIVERAMP, "userid-liveramp-foobar");
userIds.add(liveRampUserID);
ANUserId UID2UserId = new ANUserId(ANUserId.Source.UID2, "userid-uid2-foobar");
userIds.add(UID2UserId);
ANUserId genericUserID = new ANUserId("Generic Source", "userid-generic-foobar");
userIds.add(genericUserID);
 
// Set User Id from External Sources
SDKSettings.setUserIds(userIds);
 
// Setting Publisher First Party Id
SDKSettings.setPublisherUserId("PublisherUserId-foobar");

国コードと郵便番号の上書きのサポート

SDK は、レポートの作成目的で、標準フィード (ログ レベルのデータ) からの市区町村/DMA/国情報を使用します。 ただし、これらの値は、データの健全性を維持するために、リバーサーのジオコーディングされた緯度と経度のデータから上書きする必要があります。 これらの値が上書きされない場合、ログ レベルのデータは IP アドレス ベースの場所を指し、最終的には特にモバイル データに関して間違ったデータ セットを投影します。

関数 説明
void setGeoOverrideCountryCode(String countryCode) 国コードを割り当てるメソッド。 メソッドの引数として国コード文字列を渡します。
void setGeoOverrideZipCode(String zipCode) 郵便番号を割り当てるメソッド。 このメソッドでは、郵便番号の文字列を引数として渡します。

例

//Setter
SDKSettings.setGeoOverrideCountryCode("US");
SDKSettings.setGeoOverrideZipCode("10010");
  
//Getter
SDKSettings.getGeoOverrideCountryCode();
SDKSettings.getGeoOverrideZipCode();

位置情報の制御

関数 説明
void setLocationDecimalDigits(int digitsAfterDecimal) 広告サーバーに渡す位置データの精度を制御する方法。 位置データが優れているほど、広告の収益化も向上する可能性があります。
void setLocationEnabledForCreative(boolean enabled) クリエイティブの位置情報アクセスを制御する方法。 既定値は true です。 False に設定すると、クリエイティブから場所ポップアップが無効になります。

WebView でレンダリングされるクリエイティブは、HTML5 位置情報 API を通じてユーザーの位置情報にアクセスできます。

注:
- デフォルトでは、クリエイティブが場所を尋ねると、その場所を使用するための明示的な許可を求めるポップアップがユーザーに表示されます。
- 位置情報へのアクセスを無効にすると、ポップアップはユーザーに表示されず、クリエイティブは HTML5 位置情報 API 呼び出しでPERMISSION_DENIEDエラーを受け取ります。

digitsAfterDecimal引数を指定すると、すべての位置情報が、広告サーバーに渡される前に、小数点以下の指定された桁数に内部的に丸められます。 digitsAfterDecimalの値と位置精度距離の相関関係は次のとおりです。

10 進数後の数字 解像度の精度
2 約1キロメートル
3 約100メートル
4 約10メートル
-1 完全な解決が渡されました

例

SDKSettings.setLocationDecimalDigits(2);
SDKSettings.setLocationEnabledForCreative(false);  

バックグラウンド スレッド

重要

このオファリングは現在アルファ版であり、変更される可能性があります。

関数 説明
void enableBackgroundThreading(boolean enable) バックグラウンド スレッド機能フラグを有効または無効にするために使用する方法。 この機能を有効にすると、MobileSDK は、バナー、インタースティシャル、ネイティブ、ビデオなどのさまざまな AdUnit の広告リクエストを UI スレッドではなくバックグラウンド スレッドとして実行できます。

既定では、メソッドのブール値は false に設定されます (Android の AsyncTask を使用)。

バックグラウンド スレッドの機能を有効にするには、メソッドで値を true として設定する必要があります。

注: このメソッドは、 init() メソッドより前に呼び出す必要があります。

例

// enable the Background threading
SDKSettings.enableBackgroundThreading(true);

パブリッシャー側のユーザーによるオプトアウト

すべての AdRequest については、Xandr Mobile SDK がデバイスまたは OS 環境レベルでチェックし、バックグラウンドで limitAdTracking (LMT) の値を自動的に入力します。 LMT=true の場合、ユーザーがデバイスまたは OS の設定でトラッキングをオプトアウトしたことを示します。 ただし、パブリッシャーはユーザーのトラッキングへのオプトイン/オプトアウトに関する情報を保持するため、ユーザーがプライバシー規制に準拠するためにオプトアウトした場合は、その情報を渡す必要があります。 同じことを容易にするために、モバイル SDK にパブリッシャー側のユーザー オプトアウト機能が導入されています。

関数 説明
void setDoNotTrack(boolean dnt) パブリッシャー側のユーザー オプトアウト機能を有効にする方法。

例

//Setter
SDKSettings.setDoNotTrack(true);
//Getter
SDKSettings.getDoNotTrack();

AAID の使用の設定

デバイスの Google 広告識別子 (AAID) は、Google Play ストアにアプリを持っている発行元による広告目的でのユーザーの同意を得た上で、ユーザーを追跡するために Android が提供する ID です。 Xandr モバイル SDK に API が導入され、広告要求に AAID フィールドを含めたり除外したりすることで、AAID の使用を有効または無効にできます。

関数 説明
void disableAAIDUsage(boolean disable) disableAAIDUsage を有効/無効にするメソッド。 既定値は False です。

例

// To Set the disableAAIDUsage
SDKSettings.disableAAIDUsage(false);
// To Get the disableAAIDUsage status
SDKSettings.isAAIDUsageDisabled()

オークション タイムアウトを設定する

関数 説明
void setAuctionTimeout(long auctionTimeout) 入札者が入札要求に応答するまで待機するタイムアウト期間をミリ秒単位で定義します。

入札者がタイムアウト期間 (例: 500 ミリ秒) に設定された値内に応答しない場合、入札要求は失敗します。

例

SDKSettings.setAuctionTimeout(500)

テスト モードの設定

関数 説明
void enableTestMode(Boolean enabled) デバッグまたはテストのためにテスト モードで実行される AdRequests の true または false を設定します。 既定値は False です。

注: AdRequest 実行のテスト モードを true として設定する範囲は、デバッグ/開発またはテスト目的のみに限定されており、運用環境では使用できません。 運用環境でテスト モードを有効にすると、意図しない結果が発生し、アプリの収益化に影響します。

例

SDKSettings.enableTestMode(true);

コンテンツの言語を設定する

関数 説明
void setContentLanguage(String contentLanguage) コンテンツの言語の 2 文字の ANSI コードを設定します。たとえば、 EN などです。

例

SDKSettings.setContentLanguage("EN")

OMID の最適化

SDKSettings では、次の方法を使用します。

メソッド 説明
public static void setOMIDOptimizationEnabled(boolean enabled) ネイティブ広告の OMID セッション ライフサイクル最適化を有効または無効にします。 既定値は false です。
public static boolean isOMIDOptimizationEnabled() OMID セッション ライフサイクルの最適化が有効になっているかどうかを返します。

動作、スコープ、例については、「 OMID 最適化を有効にする」を参照してください。