我想通过Java应用程序使用PushNotinfication服务,因此我需要该服务的appGuid和appSecret。 (此消息所附的图显示了应该显示appSecret的窗口,但没有显示。)enter image description here有些文档说,当应用程序绑定到服务时,appSecret是自动生成的,但我不了解绑定过程。 因此,我想知道尽可能详细地发布PushNotification Service的appSecret的过程。如果有人可以用每个过程的窗口的屏幕快照进行解释,我将不胜感激。
答案 0 :(得分:0)
@ken我们在swagger(http://imfpush.ng.bluemix.net/imfpush/)中同时支持AppSecret和Token。对于创建的新实例,将没有任何AppSecret,因为它们是基于IAM的实例。除令牌认证方式外,别无其他方法。 在2018年6月之前创建的那些实例将与Appsecret一起使用。但是新实例仅适用于IAM令牌。引入此方法是为了提高安全性。请参考我们的发行说明以获取相同的https://console.bluemix.net/docs/services/mobilepush/release-notes.html#release-notes。 要了解有关推送通知服务的IAM实施的更多信息,请参阅https://console.bluemix.net/docs/services/mobilepush/push_iam.html#service-access-management 请参阅我们的常见问题解答部分https://console.bluemix.net/docs/services/mobilepush/push_faq.html#faq中的问题21,以了解如何检索令牌和使用令牌。
关于Swagger,引入了一个新的Authorization字段来提交IAM令牌。授权字段或appSecret是必填项。
请参阅服务器sdk(https://github.com/ibm-bluemix-mobile-services/bms-pushnotifications-serversdk-java)自述文件,其中客户必须使用ApiKey初始化通过初始化方法自动生成IAM令牌的新推送实例的推送。.
PushNotifications.initWithApiKey("YOUR_APPLICATION_ID", "YOUR-BLUEMIX-PUSH-APIKEY", PushNotifications.US_SOUTH_REGION);
样品
public static void main(String[] args) {
PushNotifications.initWithApiKey("appId", "APIKey", PushNotifications.US_SOUTH_REGION);
Message message = new Message.Builder().alert("20% Off Offer for you").url("www.ibm.com").build();
String [] deviceIds = {"deviceIds"};
Target target = new Target.Builder().deviceIds(deviceIds).build();
Notification notification = new Notification.Builder().message(message).target(target).build();
PushNotifications.send(notification, new PushNotificationsResponseListener(){
public void onSuccess(int statusCode, String responseBody) {
System.out.println(responseBody);
System.out.println("Successfully sent push notification! Status code: " + statusCode + " Response body: " + responseBody);
}
public void onFailure(Integer statusCode, String responseBody, Throwable t) {
System.out.println("Failed sent push notification. Status code: " + statusCode + " Response body: " + responseBody);
if(t != null){
t.printStackTrace();
}
}
});
}
希望这会有所帮助。