Amazon Pinpoint и Ionic - push-уведомления не работают, когда приложение работает в фоновом режиме - PullRequest
0 голосов
/ 04 июля 2018

Меня попросили разработать пример приложения, интегрированного с Amazon Pinpoint. Поскольку я не профессионал в разработке приложений, я решил следовать этому простому учебнику и разработать приложение, следуя шагам, описанным в нем. Разница лишь в том, что вместо использования эмулятора я выполнил проект на своем мобильном телефоне (Xiaomi Redmi 4x) и вместо GCM я использовал Firebase .

Сначала казалось, что это работает отлично, но когда я переместил приложение в фоновый режим и вернулся на домашний экран, я больше не мог получать push-уведомления из своего приложения. Когда приложение открыто и запущено, каждый раз, когда я отправляю push-уведомление, появляется всплывающее окно с заголовком «Новое уведомление» и кнопками «Игнорировать» / «Просмотр». Но в фоновом режиме ничего не видно в моем системном трее!

Кроме того, если кто-то знает, какая часть кода отвечает за эти уведомления, просто предупредите меня, и я загрузлю его здесь.

1 Ответ

0 голосов
/ 16 июля 2018

Хорошо, поэтому после некоторых тестов я заставил его работать (не через консоль, а через CLI). Для этого я выполнил несколько шагов и нашел этот вопрос, который привел меня к двум другим документам: один от Amazon, в котором объясняется, как отправлять push-уведомления через CLI и простой но очень подробное руководство по phonegap-plugin , плагину, используемому в нашем приложении Ionic для обработки толчков.

Прежде всего, замените плагин phonegap в вашем приложении на мастер-версию, доступную по ссылке на github, которую я отправил вам .

Затем, собрав всю эту информацию, я понял, как написать файл .json, содержащий информацию, необходимую для отправки толчков. Вот пример кода, который я использовал:

{
    "MessageRequest": {
        "Addresses": {
            "YOUR_DEVICE_ADDRESS_HERE": {
                "ChannelType": "GCM"
            }
        },
        "MessageConfiguration": {
            "GCMMessage": {
                "RawContent": "{\"data\":{\"title\":\"StackOverflow rocks!\",\"body\":\"Am I right?\",\"actions\":[ { \"title\":\"Yes!\", \"callback\":\"app.yes\", \"foreground\":true }, { \"title\":\"No!\", \"callback\":\"app.no\", \"foreground\":false }]}}"
            }
        }
    }
}

Как видите, чтобы изменить содержимое push-уведомлений, вам нужно отредактировать его "RawContent" . Для этого воспользуйтесь учебным пособием по плагину phonegap, которое я вам отправил, и узнайте, как сделать необходимые изменения.

Последний шаг: как только вы обновили версию своего плагина И сохранили указанный выше код в файле .json (назовем это test.json), вы можете отправить его на противоположную командную строку телефона в папке содержащий ваш .json и запись:

aws pinpoint send-messages --color on --region YOUR_SERVICE_REGION --cli-input-json file:///test.json

Это должно сработать! Надеюсь, это работает для вас. Если есть сомнения, просто дайте мне знать!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...