在IBM Bluemix Cloud上找不到用于推送通知服务的appSecret

时间:2019-01-18 11:31:29

标签: ibm-mobilefirst ibm-cloud

我想通过Java应用程序使用PushNotinfication服务,因此我需要该服务的appGuid和appSecret。 (此消息所附的图显示了应该显示appSecret的窗口,但没有显示。)enter image description here有些文档说,当应用程序绑定到服务时,appSecret是自动生成的,但我不了解绑定过程。 因此,我想知道尽可能详细地发布PushNotification Service的appSecret的过程。如果有人可以用每个过程的窗口的屏幕快照进行解释,我将不胜感激。

1 个答案:

答案 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是必填项。

Swagger

请参阅服务器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);

Initialize

样品

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();
            }
        }
    });
}

希望这会有所帮助。