Android でのユーザー ID マッピング
注:
このオファリングは現在アルファ版であり、予告なく変更または廃止される可能性があります。
概要
Xandr では、広告リクエストでサードパーティのソースから パブリッシャーファーストパーティ ID と ユーザー ID を 送信するオプションが提供されます。 これらはグローバル設定であり、これらの値は同じセッション内のすべての連続した広告要求で使用されるため、アプリ セッションごとに 1 回ユーザー ID を設定するだけで十分です。 Xandr は、異なるアプリ セッション間でこれらの値を格納しないことに注意してください。
Mobile SDK の構造
発行元のファースト パーティ ID
注:
非推奨のお知らせ:
NativeAdRequest、VideoAd、BannerAdView、および InterstitialAdView クラスで使用できる setExternalUid メソッドと getExternalUid メソッドは非推奨となりました。 代わりに、SDKSettings クラスで後述する setPublisherUserId と getPublisherUserId を使用できます。 非推奨のメソッドは SDK v8.0 で削除されます。
Mobile SDK API の SDKSettings クラスの メソッドをsetPublisherUserId
使用して、Publisher(First Party) ユーザー ID を設定できます。 getPublisherUserId は、現在のアプリケーション ユーザーの発行元ユーザー ID である値セットを返します。
/**
* Specifies a string that corresponds to the Publisher(First Party) User ID for the current application user.
* @param publisherUserId
*/
SDKSettings.setPublisherUserId(String publisherUserId);
/**
* Returns the Publisher User Id for the current application user, initially added using {@link #setPublisherUserId(String)}
* @@return publisherUserId as String.
*/
SDKSettings.getPublisherUserId();
ユーザー ID
注:
非推奨のお知らせ:
SDKSettings クラスと ANExternalUserIdSource クラスで使用できる setExternalUserIds メソッドと getExternalUserIds メソッドは非推奨となり、SDK v8.0 で削除されます。 代わりに、SDKSettings クラスと ANUserId クラスで setUserIds メソッドと getUserIds メソッドを使用できます。
Xandr では、次のソースからのユーザー ID がサポートされています。
- Criteo
- ザ トレード デスク
- NetID
- LiveRamp
- UID 2.0
- パブリッシャーが提供する ID/PPID (発行元は API を介して独自のソースを登録でき、ユーザー ID を渡すことができます)
ユーザー ID は、
ANUserId オブジェクトのリストの作成、
で List を setUserIds() メソッドに割り当てる
ANSDKSettings.
メソッドは
getUserIds()
、現在のユーザーの List として設定された値を返します。
/**
* A Map containing objects that hold External UserId parameters for the current application user.
* @param userIdList
*/
public static void setUserIds(List<ANUserId> userIdList){
Settings.getSettings().userIds = userIdList;
}
/**
* Returns the Map that hold External UserId parameters for the current application user, initially added using {@link #setExternalUserIds(Map<ANExternalUserIdSource,String>)}
* @@return externalUserIds as Map.
*/
public static List<ANUserId> getUserIds() {
return Settings.getSettings().userIds;
}
// In ANUserId.java
package com.appnexus.opensdk;
public class ANUserId {
public enum Source {
CRITEO,
THE_TRADE_DESK,
NETID,
LIVERAMP,
UID2
}
public ANUserId(String source, String userId){};
public ANUserId(ANUserId.Source source, String userId) {};
public String getUserId() {
return userId;
}
public String getSource() {
return source;
}
}
例
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import com.appnexus.opensdk.ANExtendedUserIdSource;
import com.appnexus.opensdk.BannerAdView;
import com.appnexus.opensdk.SDKSettings;
import java.util.HashMap;
import java.util.Map;
public class MyActivity extends Activity {
Context context;
BannerAdView bav;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
context = this;
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);
SDKSettings.setUserIds(userIds); // Set User Id from External Sources
// Setting Publisher First Party Id
SDKSettings.setPublisherUserId("PublisherUserId-foobar");
// Load Banner Ad
// Create the AdView and set its placement ID. Tweak a few other settings.
bav = new BannerAdView(context);
bav.setPlacementID("Placement");
bav.setAdSize(300, 50);
bav.setAdListener(adListener);
//If auto-refresh is enabled
bav.loadAd();
}
@Override
protected void onDestroy() {
super.onDestroy();
}
}