Android 当应用程序处于后台时,Amazon Pinpoint和Ionic-Push通知不起作用

Android 当应用程序处于后台时,Amazon Pinpoint和Ionic-Push通知不起作用,android,amazon-web-services,cordova,firebase,ionic-framework,Android,Amazon Web Services,Cordova,Firebase,Ionic Framework,我被要求开发一个与Amazon Pinpoint集成的示例应用程序。由于我不是开发应用程序的专家,我决定遵循这一点,按照其中描述的步骤开发应用程序。唯一的区别是,我没有使用模拟器,而是用自己的手机(小米红米4x)执行项目,而不是使用GCM,而是使用Firebase 起初,它似乎工作得很好,但当我将应用程序移到后台并返回主屏幕时,我再也无法从我的应用程序接收推送通知。当应用程序打开并运行时,每次我发送推送通知时,都会出现一个弹出窗口,标题为“新建通知”,按钮为“忽略”/“查看”。但在后台时,我的系

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

起初,它似乎工作得很好,但当我将应用程序移到后台并返回主屏幕时,我再也无法从我的应用程序接收推送通知。当应用程序打开并运行时,每次我发送推送通知时,都会出现一个弹出窗口,标题为“新建通知”,按钮为“忽略”/“查看”。但在后台时,我的系统托盘中看不到任何东西


另外,如果有人知道代码的哪一部分负责此通知,请警告我,然后我将其上载到此处。

好的,因此在一些测试之后,我使其工作(不是通过控制台,而是通过CLI)。为了做到这一点,我遵循了我发现问题的一些步骤,这将我带到了另外两个文档:和,我们的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 }]}}"
            }
        }
    }
}
如您所见,要更改推送通知M中的内容,您必须编辑它的“RawContent”。要做到这一点,请使用我发给您的phonegap插件教程,了解如何进行所需的更改

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

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

这应该能奏效!希望对你有用。如果有任何疑问,请告诉我

你发现怎么做了吗?遵循相同的教程,有相同的问题。实际上是这样的。今天晚些时候我会把答案上传到这里!非常感谢您发布您的解决方案。这对我有用。pinpoint从测试消息中使用的JSON格式与此不同,因此不会触发通知。