【问题标题】:Amazon Pinpoint and Ionic - Push notifications not working when app is in backgroundAmazon Pinpoint 和 Ionic - 当应用程序处于后台时,推送通知不起作用
【发布时间】:2018-07-04 18:19:34
【问题描述】:

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

起初,它似乎运行良好,但是当我将应用程序移至后台并返回主屏幕时,我无法再收到来自应用程序的推送通知。当应用程序打开并运行时,每次我发送推送通知时,都会出现一个带有标题“新通知”和按钮“忽略”/“查看”的弹出窗口。但是在后台时,我的系统托盘中什么都看不到!

另外,如果有人知道代码的哪一部分负责此通知,请警告我,我会在此处上传。

【问题讨论】:

  • 你找到怎么做了吗?遵循相同的教程并遇到相同的问题。
  • 确实做到了。今天晚些时候我会在这里上传答案!

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


【解决方案1】:

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

首先,将您应用中的 phonegap-plugin 替换为我发送给您的 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 }]}}"
            }
        }
    }
}

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

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

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

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

【讨论】:

  • 非常感谢您发布您的解决方案。这对我有用。 pinpoint 从测试消息中使用的 JSON 格式与此不同,因此不会触发通知。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-06
  • 2019-01-04
  • 1970-01-01
  • 2018-08-03
  • 2019-01-11
相关资源
最近更新 更多