我正在尝试使用 OneSignal 向所有注册用户发布通知。
我有几个用户注册进行测试,并已成功从 OneSignal 网站仪表板发送通知。
但是,当我尝试以下代码时,出现以下错误:
[OneSignal postNotification:@{
@"contents" : @{ @"en" : @"Test Message" },
@"object" : @{ @"en" : @"Test Title" },
@"app_id" : @"MY_SECRET_APP_ID",
}
onSuccess:^(NSDictionary *result) {
}
onFailure:^(NSError *error) {
NSLog(@"%@", error.localizedDescription);
}];
错误:
创建通知失败
并且操作无法完成。 (OneSignalError 错误 400。)
最佳答案
您必须使用定位参数,您的应用中只能使用 include_player_ids
。所有其他定位参数(例如标签或分段)必须通过 OneSignal create notification 从您的服务器使用REST API POST 调用。您可以通过调用 IdsAvailable 获取当前 OneSignal 用户/玩家 ID .
要从服务器向所有用户发送通知,您需要将以下内容添加到 JSON
"included_segments": ["All"],
另请注意,object
不是有效的键,因此它将被忽略。我相信您正在根据您拥有的值(value)寻找标题
。
关于ios - OneSignal 发布通知失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39099425/