Проблема с отправкой push-уведомления с помощью сообщения Spring Cloud Aws - PullRequest
0 голосов
/ 28 сентября 2018

Когда я отправляю сообщение через консоль aws, отлаживая приложение для Android, я получаю экземпляр класса android.os.Bundle, который содержит некоторое значение ключа, которое содержит ключ с именем «message» со значениеммоя полезная нагрузка, когда я отправляю то же сообщение из моего приложения Spring, класс Bundle андроида получает ту же карту, но со значением ключа с именем «default» и без «message», я читал оэто ведет себя, и я определил, что по умолчанию, когда служба не может прочитать содержимое атрибута "GCM", она отправляет содержимое атрибута "default".Кто-нибудь помогает мне, почему эта консоль с моим поведением отличается от моего проекта Spring?

Приложение My Spring:

@Component
public class AmazonSnsAdapter implements PushSender {

    private static Logger LOG = LoggerFactory.getLogger(AmazonSnsAdapter.class);

    @Autowired
    NotificationMessagingTemplate notificationMessagingTemplate;

    @Override
    public void send(Push push) {

        String payload = "{\"default\":\"show this atributte when have a problem\",\"GCM\":\"{\"data\":{\"message\":\"dont show this\"}}\"}";

        notificationMessagingTemplate.sendNotification("push-notification", payload, "test");

    }

}

Отладка Android при получении push-запроса через консоль aws:

I/System.out: google.delivered_priority :Valor normal
I/System.out: google.sent_time :Valor 1538166353259
              google.ttl :Valor 2419200
I/System.out: google.original_priority :Valor normal
I/System.out: google.message_id :Valor 0:1538166353270393%9aea4af7f9fd7ecd
I/System.out: message :dont show this

И когда приложение Spring получает push.

I/System.out: google.delivered_priority :Valor normal
I/System.out: google.sent_time :Valor 1538166580450
              google.ttl :Valor 2419200
I/System.out: google.original_priority :Valor normal
              google.message_id :Valor 0:1538166580460225%9aea4af7f9fd7ecd
I/System.out: default :show this atributte when have a problem

Я использую:

springBootVersion = '2.0.1.BUILD-SNAPSHOT'
springCloudVersion = 'Greenwich.BUILD-SNAPSHOT'
compile('org.springframework.cloud:spring-cloud-starter-aws-messaging')
...