Amazon Pinpoint和Ionic-当应用程序在后台运行时,推送通知不起作用

时间:2018-07-04 18:19:34

标签: android amazon-web-services cordova firebase ionic-framework

我被要求开发与Amazon Pinpoint集成的示例应用程序。由于我不是开发应用程序的专家,因此我决定遵循simple tutorial并按照其中描述的步骤来开发应用程序。唯一的区别是,我没有使用仿真器,而是在自己的手机(小米Redmi 4x)中执行了项目,并且使用了 Firebase 代替了 GCM

起初,它似乎运行良好,但是当我将应用程序移至后台并返回主屏幕时,我再也无法从应用程序接收推送通知。当应用程序打开并运行时,每次我发送推式通知时,都会出现一个弹出窗口,其中包含标题“ New Notification”和按钮“ Ignore” /“ View”。但是当在后台时,我的系统任务栏中看不到任何东西!

此外,如果有人知道代码的哪一部分负责此通知,请警告我,我将其上传到这里。

1 个答案:

答案 0 :(得分:2)

好吧,所以经过一些测试,我使它工作了(不是通过控制台,而是通过CLI)。为此,我遵循一些发现this问题的步骤,将我带到另外两个文档:one from Amazon teaching how to send push notifications through CLIa simple but very detailed tutorial of phonegap-plugin,这是我们在Ionic应用程序中用于处理推送的插件。 / p>

首先,用我发送给您的github链接中提供的主版本替换您应用中的phonegap-plugin

然后,将所有这些信息放在一起,我弄清楚了如何编写一个.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 }]}}"
            }
        }
    }
}

如您所见,要更改推送通知中的内容,您必须对其进行编辑“ RawContent” 。为此,请使用我发送给您的phonegap-plugin教程,了解如何进行所需的更改。

最后一步:一旦您更新了插件版本并将上面的代码保存在.json文件中(我们将其称为test.json),您可以将其发送到手机的命令行中包含您的.json和文字的文件夹:

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

这应该可以解决问题!希望对你有效。如有疑问,请告诉我!