Android Push notification — показывать уведомление только пользователю

#javascript #android #cordova #push-notification #sapui5

#javascript #Android #кордова #push-уведомление #sapui5

Вопрос:

Я пытаюсь включить Push-уведомление в мое гибридное приложение. При этом я могу отправлять push-уведомление с rest-клиента, а также получать уведомления на моем устройстве Android. Теперь я хочу, чтобы пользователь устройства получал только предупреждающее сообщение, которое я отправляю с сервера.

Например: в теле моего метода Post я отправляю:

{ «alert»: «Привет, Android» }

Тогда ему должно быть видно только «Привет, Android», даже если я открою приложение.

В настоящее время, когда я тестирую приведенный выше пример, когда приложение пользователя открыто, он получает предупреждающее сообщение с подробной информацией, связанной с отправителем gcm, информацией collapse_key, помимо предупреждающего сообщения.

Я прилагаю скриншот здесь введите описание изображения здесьвведите описание изображения здесь

 function processNotification(notification) {
	console.log("Hi! You have received a notification: "   JSON.stringify(notification));
	alert("Hi! You have received a notification: "   JSON.parse(notification));
	if(sap.Push.isPlatformIOS()){
	        sap.Push.resetBadge(resetBadgeSuccess);
	}
}  

Любая помощь будет оценена

Комментарии:

1. Не могли бы вы предоставить дополнительную информацию — какую гибридную технологию вы используете? Это cordova, react-native, nativescript и т. Д. Также похоже, что вы используете определенный SDK / платформу. Пожалуйста, также включите это.

2. Привет @Vassildininski, он основан на Кордове.

3. и что это такое sap.Push.isPlatformIOS() — это из плагина или SDK какой-либо платформы? Вы общаетесь напрямую с GCM посредником?

4. Привет @VasilDininski, если (sap.Push.isPlatformIOS()){ sap.Push.resetBadge(resetBadgeSuccess); } Это не важно, поскольку моя платформа Android, мы фактически используем SAP HCPMS для определения серверной части и отправки данных, таких как ключ API и отправитель GCM, надеюсь, это поможет

5. Чтобы устранить проблему, с которой вы столкнулись, вам следует заменить строку alert("Hi! You have received a notification: " JSON.parse(notification)); на alert(notification.payload.alert); . Это должно сработать. В общем, при повторной публикации на SO, пожалуйста, укажите дополнительные сведения — например, что вы используете платформу SAP и создаете мобильное приложение на базе cordova