セグメントの登録¶
セグメントの登録¶
利用者の属性にあわせてグループ分けし、セグメントとして登録すると、特定のグループに対して通知を配信することができるようになります。
セグメントは任意の名前と値を登録できます。
値は、文字列、数値、日時を登録できます。
(RichFlyer SDK for Android v1.5.0未満をご利用の場合)
数値は文字列に、日時はUnixtime(10桁)を文字列に変換して登録してください。
利用できないセグメント名
次の単語はセグメント名に利用できません。
"device_id", "endpoint", "customer_id", "service_id", "subscription_arn", "created_at", "updated_at", "domain", "p256dh", "disabled", "ABtestReferenceValue"
//RichFlyerクラス
static void registerSegments(final Map<String, String> stringSegments,
final Map<String, Integer> integerSegments,
final Map<String, Boolean> booleanSegments,
final Map<String, Date> dateSegments,
final Context context,
final RichFlyerResultListener listener)
パラメータ | 内容 |
---|---|
stringSegments | 値が文字列のセグメントの情報。セグメントと値のMapオブジェクト。 |
integerSegments | 値が数値のセグメントの情報。セグメントと値のMapオブジェクト。 |
booleanSegments | 値が真偽値のセグメントの情報。セグメントと値のMapオブジェクト。※管理サイトには"true"/"false"の文字列として登録されます。 |
dateSegments | 値が日時のセグメントの情報。。セグメントと値のMapオブジェクト。※管理サイトにはUnixtimeが登録されます。 |
context | アプリケーションのContext |
listener | 処理完了時に呼び出されるリスナ |
Java
Map<String, String> stringSegments = new HashMap<>();
Map<String, Integer> intSegments = new HashMap<>();
Map<String, Boolean> boolSegments = new HashMap<>();
Map<String, Date> dateSegments = new HashMap<>();
stringSegments.put("country", "japan");
intSegments.put("age", 30);
boolSegments.put("registered", true);
dateSegments.put("registeredDate", new Date());
RichFlyer.registerSegments(stringSegments, intSegments, boolSegments, dateSegments,
getApplicationContext(), new RichFlyerResultListener() {
@Override
public void onCompleted(RFResult result) {
if (result.isResult()) {
Log.d("RichFlyer", "セグメント登録成功");
} else {
// エラー
Log.d("RichFlyer", result.getMessage() + "code:" + result.getErrorCode());
}
}
});
旧バージョンのSDKをご利用の場合(RichFlyer SDK for Android v1.5.0未満)¶
//RichFlyerクラス
static void registerSegments(final Map<String, String> segments, Context context, final RichFlyerResultListener listener)
パラメータ | 内容 |
---|---|
segments | セグメントの情報。セグメントと値のMapオブジェクト |
context | アプリケーションのContext |
listener | 処理完了時に呼び出されるリスナ |
Java
HashMap<String, String> segment = new HashMap<>();
segments.put("country", "japan");
segments.put("age", "30-39");
RichFlyer.registerSegments(param, getApplicationContext(), new RichFlyerResultListener() {
@Override
public void onCompleted(RFResult result) {
if (result.isResult()) {
Log.d("RichFlyer", "セグメント登録成功");
} else {
// エラー
Log.d("RichFlyer", result.getMessage() + "code:" + result.getErrorCode());
}
}
});
登録済みセグメントの取得¶
過去に登録したセグメントの情報を取得します。
取得するセグメントは、登録時に端末で記憶したものです。アプリがアンインストールされると端末内に記憶した情報は削除されます。
//RichFlyerクラス
static Map<String,String> getSegments(Context context)
Java
Map<String, String> segments = RichFlyer.getSegments(getApplicationContext());
for (String key : segments.keySet()) {
Log.d("Key:" + key + " Value:" + segments.get(key));
}