@ ken Мы поддерживаем и AppSecret, и Tokens в swagger (http://imfpush.ng.bluemix.net/imfpush/).). Для новых созданных экземпляров не будет никакого AppSecret, поскольку это экземпляры, основанные на IAM. И нет никакого другого пути, кроме способа аутентификации Token. ,
Эти экземпляры, созданные до июня 2018 года, будут работать с Appsecret. Но новые экземпляры будут работать только с токеном IAM. Это введено для лучшей безопасности. Пожалуйста, обратитесь к нашим примечаниям к выпуску для того же https://console.bluemix.net/docs/services/mobilepush/release-notes.html#release-notes.
Чтобы узнать больше о реализации IAM в службе push-уведомлений, обратитесь к https://console.bluemix.net/docs/services/mobilepush/push_iam.html#service-access-management
Обратитесь к вопросу 21 в нашем разделе часто задаваемых вопросов https://console.bluemix.net/docs/services/mobilepush/push_faq.html#faq, чтобы узнать, как извлечь токен и использовать.
Относительно Swagger введено новое поле авторизации для отправки токена IAM. Либо поле Авторизация, либо appSecret является обязательным.
Пожалуйста, обратитесь к файлу sdk сервера (https://github.com/ibm-bluemix-mobile-services/bms-pushnotifications-serversdk-java) readme, где клиент должен инициализировать Push с помощью ApiKey для нового экземпляра push, который IAM-токен автоматически генерирует методом инициализации ..
PushNotifications.initWithApiKey("YOUR_APPLICATION_ID", "YOUR-BLUEMIX-PUSH-APIKEY", PushNotifications.US_SOUTH_REGION);
Sample
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();
}
}
});
}
Надеюсь, это поможет.