セグメントの登録¶
利用者の属性にあわせてグループ分けし、セグメントとして登録すると、特定のグループに対して通知を配信することができるようになります。
セグメントは任意の名前と値を登録できます。
利用できないセグメント名
次の単語はセグメント名に利用できません。
"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);
}