次の方法で共有


Android SDK の設定

Xandr Mobile SDK には、アプリの開発に役立つさまざまな設定が用意されています。 この記事では、Android SDK 設定のメソッド、入力パラメーター、返される値、制限、ガイドライン、および例の詳細を確認します。

関数 説明
void init() OMID をアクティブ化し、デバイスのユーザー エージェントと AAID (Google Advertising 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) コンテンツの言語のコードを設定します。

詳細については、以下の 「コンテンツ言語の設定 」を参照してください。

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無効にします。 引数として、fetchAAIDenableWarmUpAdCall、および preFetchWebView のブール値をfetchUserAgent有効または無効にする必要があります。

通常の 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 マッピング

重要

  • このオファリングは現在アルファ版であり、予告なく変更または廃止される可能性があります。
  • 、、BannerAdViewおよび クラスでVideoAdNativeAdRequest使用できる メソッドと InterstitialAdViewgetExternalUid メソッドは非推奨です。setExternalUid 代わりに、クラスで以下をSDKSettings使用setPublisherUserIdしてgetPublisherUserId説明できます。 非推奨のメソッドは SDK v8.0 で削除されます。
  • setExternalUserIdsクラスとクラスでSDKSettings使用できる メソッドgetExternalUserIdsANExternalUserIdSource メソッドは非推奨になり、SDK v8.0 で削除されます。 代わりに、以下で説明するクラスとANUserIdクラスで SDKSettings および getUserIds メソッドを使用setUserIdsできます。
関数 説明
void setPublisherUserId(String publisherUserId) MobileSDK API のクラスで SDKSettings Publisher (First Party) ユーザー ID を設定するメソッド。
void setUserIds(List<ANUserId> userIdList) MobileSDK API のクラスで ANSDKSettings ユーザー ID を設定するメソッド。

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

Xandr では、次のソースからのユーザー ID がサポートされています。
-Criteo
- ザ トレード デスク
- NetID
- LiveRamp
- UID 2.0
- パブリッシャーが指定した ID/PPID (発行元は API を介して独自のソースを登録でき、ユーザー ID を渡すことができます)。

注:

  • パブリッシャー ID とユーザー ID はグローバル設定です。
  • これらの値は、同じセッション内のすべての連続する広告要求で使用されるため、アプリ セッションごとに 1 回ユーザー ID を設定するだけで十分です。
  • 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 では、レポート目的で標準フィード (ログ レベル データ) からの City/DMA/Country 情報が使用されます。 ただし、これらの値は、データのサニティをそのまま維持するために、逆ジオコーディングされた緯度と経度のデータから上書きする必要があります。 これらの値が上書きされない場合、ログ レベルのデータは 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 相関関係は次のとおりです。

Decimal の後の数字 解像度の精度
2 約1km
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 の設定で追跡をオプトアウトすることを示します。 ただし、発行元はユーザーの追跡のオプトイン/オプトアウトに関する情報を保持するため、ユーザーがプライバシー規制に準拠することをオプトアウトした場合は、その情報を渡す必要があります。 同じ機能を容易にするために、パブリッシャー側のユーザーオプトアウト機能が Mobile SDK で導入されています。

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

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

AAID の使用を設定する

デバイスの Google 広告 ID (AAID) は、Google Play ストアでアプリを持つパブリッシャーが広告目的で同意してユーザーを追跡するための Android 提供の ID です。 広告リクエストに AAID フィールドを含めたり除外したりすることで、AAID の使用を有効または無効にする API が Xandr Mobile SDK で導入されています。

関数 説明
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")