Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/95.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如果字符限制超过80个字符,则不会传递推送通知_Ios_Amazon Web Services_Push Notification_Apple Push Notifications - Fatal编程技术网

Ios 如果字符限制超过80个字符,则不会传递推送通知

Ios 如果字符限制超过80个字符,则不会传递推送通知,ios,amazon-web-services,push-notification,apple-push-notifications,Ios,Amazon Web Services,Push Notification,Apple Push Notifications,对于发送推送通知,我们使用了亚马逊简单通知服务(Amazon SNS)。当我通过发送大约80个字符来测试推送通知时,我会收到推送通知,但当字符数超过80或85时,通知不会被发送 我们有256字节的有效负载限制,但我不认为如果我发送那么多字符,它可能会超过这个限制。至少应该截断消息 我发现: 在iOS 7之前,警报显示限制为107个字符。更大的 消息被截断,您将在结尾处得到一个“…” 显示的消息。iOS 7的限制似乎增加到235 人物。如果你超过8行,你的信息也会收到 截断的 但就我而言,我甚至没

对于发送推送通知,我们使用了亚马逊简单通知服务(Amazon SNS)。当我通过发送大约80个字符来测试推送通知时,我会收到推送通知,但当字符数超过80或85时,通知不会被发送

我们有256字节的有效负载限制,但我不认为如果我发送那么多字符,它可能会超过这个限制。至少应该截断消息

我发现:

在iOS 7之前,警报显示限制为107个字符。更大的 消息被截断,您将在结尾处得到一个“…” 显示的消息。iOS 7的限制似乎增加到235 人物。如果你超过8行,你的信息也会收到 截断的

但就我而言,我甚至没有收到通知。这与亚马逊SNS有关吗?我遗漏了什么要检查的吗

编辑1:

我没有附加图像或任何文字信息。我只是发短信

编辑2:

在iOS 8及更高版本中,通知允许的最大大小 有效载荷为2千字节;苹果推送通知服务拒绝任何 超过此限制的通知。(在iOS 8之前和在OS X中 最大有效负载大小为256字节。)

我正在使用安装了iOS 9的设备。因此,对于该设备,2000字节远远超过了80-85个字符(包括有效负载大小)的限制


我真的很担心我丢失了什么?

你应该记住,256字节的限制是针对整个负载的,所以不仅是你的消息,还有其他所有内容-负载是JSON格式的,所以键和所有特殊字符也会计算到限制

这是苹果认为正确所需的最小有效载荷:

{
    "aps" : {
        "alert" : "your text"
    }
}
所以我们已经“释放”了19个字节,来发送一个简单的通知。如果我们还想要自定义标题:

{
    "aps" : {
        "alert" : {
            "title" : "your title",
            "body" : "your text"
        }
    }
}
这将导致40个“丢失”字节(约15%)。添加自定义声音和徽章也会减少实际邮件的剩余数量

现在,这些字节只会由于所需的密钥而丢失,您对此无能为力。我没有使用Amazon SNS,但他们可能会出于自己的目的添加一些自定义字段,这样您就没有那么多空间来发布消息了。您可以通过检查
userInfo
字典,在您的
didReceiveMemotentification
方法中检查这一点。简单的
NSLog(@“userInfo->%@”,userInfo)
应该将所有内容转储到控制台。就额外字符而言,这种表示形式与JSON的比例不会是1:1,但会让您了解除了所需字段之外还发送了什么


另一件值得一提的事情是,非ASCII字符将占用超过一个字节的空间,因此您可以有效地在消息中使用更少的字符。

您应该记住,256字节的限制是针对整个负载的,因此,不仅是您的消息,还有其他所有内容-负载是JSON格式的,因此,而且所有的特殊角色也算到了极限。谢谢@Losiowaty,这增加了我的知识。现在除了JSON之外,还有什么东西在增加大小呢?事实上,我对服务器数据并不是很了解。。