我正在使用最新的Bluemix Push Notification服务。我正在使用MFPPush API注册设备(Android)。
这是我的代码段:
var success = function(message)
{
console.log("Success: " + message);
alert("Reg Device: " + message);
};
var failure = function(message)
{
console.log("Error: " + message);
alert("Error: " + message);
};
MFPPush.registerDevice({}, success, failure);
var notification = function(notification)
{
// notification is a JSON object.
alert(notification.message);
};
MFPPush.registerNotificationsCallback(notification);
成功消息包含以下信息:
Token:APA91bFtkSr59Zxlr52HU****Uij
UserId: ""
DeviceId: g5c6d98f-0867-3fd1-a353-15bcdef675a2
当我发送通知时,我的设备会收到消息。
Swagger REST API显示我可以随意提供一些令牌,userId
和deviceId
:
{
"deviceId": "TestDeviceId",
"platform": "G",
"token": "************",
"userId": "Joe"
}
如何获取"TestDeviceId"
,如何获取"token"
?我没有看到任何API来获取该信息。
答案 0 :(得分:1)
注意:您应该只使用Client SDK进行注册,因为它会在后台处理所有这些内容 - 自动为每个设备分配一个唯一的ID。除非你知道自己在做什么,否则你不应该探索这个。尝试手动设置deviceID并不是一个真正的理由。
为Push Notifications服务注册设备时,请在POST请求的正文中设置这些值。成功调用后,它将在响应中返回这些值。我稍后会在帖子中做一个演示。
您可以使用deviceId
检索有关设备的详细信息,向该设备发送特定推送通知,订阅标签并向这些设备发送推送通知等。
Swagger Documentation is here.
关于这些值,您可以在注册时将任何内容放入其中。通常,当您进行注册调用时,Bluemix Mobile Android / iOS Client SDK会自动设置这些值。但是,您可以使用REST客户端手动执行此操作。
例如:
在这里,我正在注册一个设备:
如果我向推送通知服务询问有关我注册设备的信息("deviceId": "arandomdeviceid"
),这就是我所得到的:
Android BMS核心客户端SDK使用设备中的唯一UUID设置此deviceId
,并使用MD5对其进行哈希处理。
答案 1 :(得分:0)
@anamica(a)允许userId参数与MFPPush注册一起传递,如MFPPush.register({" userId":" AUniqueUserId"},成功,失败)(b) )向目标添加一个额外的参数" userIds" (阵列)。 此增强功能已完成,您可以尝试更新最新的SDK。