APNS 是否理解 UTF-8 编码的有效负载
Does APNS understand UTF-8 encoded payload
我正在使用 Apns-Node.js 向我的 iOS 设备发送推送通知,并使用 GCM-Node.js 向我的 Android 设备发送推送通知。
目前我有一个有效负载发送到 APNS,它在有效负载中包含特殊字符,如“ü”。这将以相同的格式显示,并且不会因任何原因被 APNS 截断或修改。
但是我的 Android 应用程序存在这个问题,即 GCM 会截断有效负载中的特殊字符,除非它使用 URL 编码进行编码。
"türken" -> gets truncated to "trken" unless it is encoded like "t%C3%BCrken" in GCM only
为了保持两个平台的统一,我可以将加密的负载也发送到 APNS 吗?如果我这样做,APNS 会理解 UTF-8 格式并将具有特殊字符的有效负载发送到设备吗?我的期望是 APNS 应该理解编码格式 "t%C3%BCrken" 并将 "türken" 发送到设备。这行得通吗?
根据您的解释,APNS 正确支持 UTF-8。这意味着它将按原样传送有效负载。
这意味着如果您发送 "t%C3%BCrken",那么客户端将收到 "t%C3%BCrken",但是您的 iOS 客户端应用程序可以使用 removingPercentEncoding
轻松删除百分比编码。
我正在使用 Apns-Node.js 向我的 iOS 设备发送推送通知,并使用 GCM-Node.js 向我的 Android 设备发送推送通知。
目前我有一个有效负载发送到 APNS,它在有效负载中包含特殊字符,如“ü”。这将以相同的格式显示,并且不会因任何原因被 APNS 截断或修改。
但是我的 Android 应用程序存在这个问题,即 GCM 会截断有效负载中的特殊字符,除非它使用 URL 编码进行编码。
"türken" -> gets truncated to "trken" unless it is encoded like "t%C3%BCrken" in GCM only
为了保持两个平台的统一,我可以将加密的负载也发送到 APNS 吗?如果我这样做,APNS 会理解 UTF-8 格式并将具有特殊字符的有效负载发送到设备吗?我的期望是 APNS 应该理解编码格式 "t%C3%BCrken" 并将 "türken" 发送到设备。这行得通吗?
根据您的解释,APNS 正确支持 UTF-8。这意味着它将按原样传送有效负载。
这意味着如果您发送 "t%C3%BCrken",那么客户端将收到 "t%C3%BCrken",但是您的 iOS 客户端应用程序可以使用 removingPercentEncoding
轻松删除百分比编码。