コンテンツにスキップ

セグメントの登録

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

セグメントは任意の名前と値を登録できます。

利用できないセグメント名

次の単語はセグメント名に利用できません。
"device_id", "endpoint", "customer_id", "service_id", "subscription_arn", "created_at", "updated_at", "domain", "p256dh", "disabled", "ABtestReferenceValue"

// Class RFApp
static func registSegments(segments: [String: String], completion: @escaping (_ result: RFResult) -> Void)
// Class RFApp
+ registSegments:completion:
パラメータ 内容
segments セグメントの情報。セグメントと値のDictionaryセット
completion 処理完了時に呼び出されるハンドラ

実装例

Swift

// セグメント値を取得する
let segments : [String : String] = [ "country" : "japan" , "age" : "30-39" ];

// セグメントを登録する
RFApp.registSegments(segments: model.dictionary, completion: { (result: RFResult) in
    var message = ""
    if result.result {
        // 成功
        print("Segmentの登録に成功")
    } else {
        // 失敗
        print(result.message + "(code:\(result.code))")
    }
})

Objective-C

// セグメント値を取得する
NSMutableDictionary* segments = [NSMutableDictionary dictionary];
[segments setObject:@"japan" forKey:@"country"];
[segments setObject:@"30-39" forKey:@"age"];

// セグメントを登録する
[RFApp registSegments:[_model getDictionary] completion:^(RFResult* result) {
    if (result.result) {
        NSLog(@"Segmentの登録に成功");
    } else {
        NSLog(@"%@(code:%ld)", result.message, (long)result.code);
    }
}];


登録済みセグメントの取得

過去に登録したセグメントの情報を取得します。

取得するセグメントは、登録時に端末で記憶したものです。アプリがアンインストールされると端末内に記憶した情報は削除されます。

RFApp.getSegments()
[RFApp getSegments]
Swift

// セグメントを取得する
if let savedSegments = RFApp.getSegments() {
    for (key, value) in savedSegments {
    print("key:" + key + " value:" + value);
    }
}

Objective-C

// セグメントを取得する
NSDictionary* savedSegments = [RFApp getSegments];
for (NSString* key in [savedSegments keyEnumerator]) {
    NSString* value = [savedSegments objectForKey:key];
    NSLog(@"Key:%@ Value:%@", key, value);
}