首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWS定位/Ionic--在试图通过CLI发送推送时出现“资源未找到”错误

AWS定位/Ionic--在试图通过CLI发送推送时出现“资源未找到”错误
EN

Stack Overflow用户
提问于 2018-07-05 20:38:46
回答 1查看 3.8K关注 0票数 0

我刚开始用AWS服务编程,所以一些基本的事情对我来说是相当困难的。最近,我被要求开发一个应用程序,它使用Amazon定位发送推送通知,作为考虑未来实现的一个测试。

正如您在这里发布的另一个问题(当应用程序处于后台时,Amazon定位和Ionic推送通知不起作用)中所看到的,当我的应用程序在后台运行时,我在向用户发送推送通知时遇到了困难。该应用程序是通过跟踪这些步骤使用Ionic开发的。

当我几乎放弃的时候,我决定尝试通过Firebase直接发送推送,最终成功了。一些研究将我带到这个问题,其中另一个用户将问题描述为只发生在AWS控制台上,因此解决方案是使用CLI。在搜索了一下之后,我找到了本教程介绍如何使用CLI向用户发送精确的消息。,这似乎是我想要的。将它与这个关于phonegap插件的文档相结合,我能够生成一个我认为可能是解决方案的JSON:

代码语言:javascript
复制
{
    "ApplicationId":"io.ionic.starter",
    "MessageRequest":{
        "Addresses": {
            "": {
                "BodyOverride": "",
                "ChannelType": "GCM",
                "Context": {
                    "": ""
                },
                "RawContent": "",
                "Substitutions": {},
                "TitleOverride": ""
            }
        },
        "Context": {
            "": ""
        },
        "Endpoints": {"us-east-1": {
            "BodyOverride": "",
            "Context": {},
            "RawContent": "",
            "Substitutions": {},
            "TitleOverride": ""
          }
        },
        "MessageConfiguration": {

            "GCMMessage": {
                "Action": "OPEN_APP",
                "Body": "string",
                "CollapseKey": "",
                "Data": {
                    "": ""
                },
                "IconReference": "",
                "ImageIconUrl": "",
                "ImageUrl": "",
                "Priority": "High",
                "RawContent": "{\"data\":{\"title\":\"sometitle\",\"body\":\"somebody\",\"url\":\"insertyourlinkhere.com\"}}",
                "RestrictedPackageName": "",
                "SilentPush": false,
                "SmallImageIconUrl": "",
                "Sound": "string",
                "Substitutions": {},
                "TimeToLive": 123,
                "Title": "",
                "Url": ""
            }
        }
    }
}

但是当我用aws pinpoint send-messages --color on --region us-east-1 --cli-input-json file://test.json在cmd中执行它时,我得到了响应An error occurred (NotFoundException) when calling the SendMessages operation: Resource not found

我相信我没有正确地编写JSON文件,因为这是我第一次这样做。所以,如果你们中的任何人知道我做错了什么,不管我误解了哪一步,我都会感谢你们的帮助!

EN

回答 1

Stack Overflow用户

发布于 2018-07-17 17:06:15

消息请求中的“终结点”字段处理端点id (与终端用户设备相关联的标识符,同时注册为定位而不是区域)。

如果您还没有注册任何带有Pinpoint的端点,则可以使用"Addresses“字段。在Amazon中注册GCM通道之后,您可以从设备中获取GCM设备令牌,并在这里指定它。

下面是使用发送直接消息的示例:该示例处理发送SMS消息。您应该首先注册一个SMS通道,并创建一个端点id为“test- endpoint 1”的端点。否则,您可以使用"Addresses“字段而不是”Endpoint“字段。

代码语言:javascript
复制
 aws pinpoint send-messages --application-id $APP_ID --message-request '{"MessageConfiguration": {"SMSMessage":{"Body":"hi hello"}},"Endpoints": {"test-endpoint1": {}}}

还注意到:ApplicationId是由Pinpoint生成的。当您访问Pinpoint控制台并选择应用程序时,URL将是格式的

代码语言:javascript
复制
https://console.aws.amazon.com/pinpoint/home/?region=us-east-1#/apps/someverybigstringhere/

这里"someverybigstringhere“是ApplicationId,而不是您为项目指定的名称。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51199530

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档