0

Ich verwende Apns-Node.js zum Senden von Push-Benachrichtigungen an mein iOS-Gerät und GCM-Node.js für mein Android-Gerät.Versteht APNS UTF-8 codierte Payload

Derzeit habe ich eine Payload an APNS gesendet, die Sonderzeichen wie "ü" in der Payload enthält. Dies wird im selben Format angezeigt und wird von APNS aus irgendeinem Grund nicht abgeschnitten oder modifiziert.

Aber meine Android-App hat dieses Problem, bei dem GCM das Sonderzeichen in der Nutzlast abschneidet, sofern es nicht mithilfe der URL-Codierung codiert ist.

"türken" -> gets truncated to "trken" unless it is encoded like "t%C3%BCrken" in GCM only 

In dem Bemühen, beide Plattformen einheitlich zu halten, kann ich auch die verschlüsselte Nutzlast APNS schicken? Und wenn ich das tue, wird APNS das UTF-8-Format verstehen und die Nutzlast mit Sonderzeichen an das Gerät senden? Ich erwarte, dass APNS das verschlüsselte Format "t% C3% BCrken" verstehen und "türken" an das Gerät senden soll. Ob das funktioniert?

+0

Türken ist UTF-8. t% C3% BCrken ist [URL codiert] (https://www.urlencoder.org). Sie sollten [removingPercentEncoding] (https://developer.apple.com/documentation/swift/string/1642934-removingpercentencoding) sehen. –

Antwort

1

Aufgrund Ihrer Erklärung unterstützt APNS UTF-8 ordnungsgemäß. Dies bedeutet, dass es die Nutzlast unverändert liefert.

Das bedeutet, wenn Sie "t% C3% BCrken" senden, erhält der Client "t% C3% BCrken", aber Ihre iOS-Clientanwendungen können die prozentuale Codierung mithilfe von removingPercentEncoding problemlos entfernen.

Verwandte Themen