当前位置: 首页 > 知识库问答 >
问题:

使用iOS SDK发送SNS通知的消息格式是什么?

太叔弘壮
2023-03-14

我正在尝试使用亚马逊 SNS 发送推送通知。以下是我创建消息正文的方式:

NSDictionary *message = @{
    @"APNS_SANDBOX" : @{@"aps" : @{@"alert": @"foo"}},
    @"default" : @"bar"
};
NSData *JSONData = [NSJSONSerialization dataWithJSONObject:message options:0 error:NULL];
NSString messageBody = [[NSString alloc] initWithData:JSONData encoding:NSUTF8StringEncoding];

通知到达目标设备,但消息是“bar”,而不是“foo”。换句话说,使用的是默认传输,而不是特定于APNS的传输。我做错了什么?

共有1个答案

贺玉石
2023-03-14

问题是给定传输键的值应该是已经序列化的JSON字符串:

NSDictionary *message = @{
    @"APNS_SANDBOX" : @"{\"aps\":{\"alert\":\"foo\"}}",
    @"default" : @"bar"
};

这很好。

 类似资料:
  • 我需要使用< code>aws-sdk-go lib通过设备令牌数组向多个设备发送SNS推送通知。 目前我正在使用以下步骤向SNS发送推送消息: 创建endpoint: 将消息发送到endpoint: 我还没有见过一种方法,只使用一个请求就可以将一个推送消息发送到多个设备。可能吗? 像这个例子来说明:

  • 说明 此接口用于向排队的微信用户发送消息,如到号时的叫号信息 请求地址 http://api.dc78.cn/Api/wwnotify 请求方式 GET 请求参数 URL参数 参数名称 必填 描述 范例 id 排队号id msg 要发送的信息 POST参数 参数名称 必填 描述 范例 无 GET参数 参数名称 必填 描述 范例 id 排队号id 是 排队列表协议中的id 223729 msg 通知

  • 线下取的号不能发送通知 请求参数说明 参数 描述 必填 示例值 类型 最大长度 action 接口参数组 是 object └action 需要调用的接口名称 是 wwget string get GET参数组,本组参数需要参与签名 是 object └id 排队号id 否 47302320 number └msg 通知消息 否 38号客人请返回用餐啦 string 请求示例 { "action

  • 试图从JavaScript SDK发送SNS消息。从亚马逊sns控制台发送的消息显示得很好, 下面是亚马逊 SNS 控制台 JSON 生成器输出,这对我来说工作正常。 但当SNS通过代码发送时,它会抛出消息错误;我正在使用Cordova推送通知插件,它需要包含一个消息标签。 1)如何为GCM(Android平台)格式化消息并将其发送?2)如何包含消息属性?

  • 我设置了亚马逊SNS和iOS应用程序,通过SNS控制台发送推送通知,并在iOS中接收。工作正常。 现在,我尝试从一台设备向另一台设备发送推送通知,但收到以下错误: -[AWSServiceInfo initWithInfoDictionary:checkRegion:|无法从读取提供程序配置的凭据。请检查您的<code>信息。plist如果您通过<code>Info.plist 这是我发送推送通知