コンテンツにスキップ

セグメントの登録

セグメントの登録

利用者の属性にあわせてグループ分けし、セグメントとして登録すると、特定のグループに対して通知を配信することができるようになります。


セグメントは任意の名前と値を登録できます。
値は、文字列、数値、日時を登録できます。

(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));
    }