J'aimerais savoir comment envoyer un message de notification push apple avec plusieurs lignes. Utiliser '\ n' ne semble pas fonctionner. P>
quelque chose comme: p>
première ligne p>
deuxième ligne p> blockQuote>
À l'heure actuelle, il semble simplement ignorer le message complètement. P>
10 Réponses :
Je l'ai compris: esacpae le \ n. Duh.
Utilisez: p> au lieu de p>
Cela ne devrait pas être voté à la fois. Il fonctionne en fait lorsque la chaîne de JSON finale contient \\ N. N'oubliez pas que votre langage de programmation peut déjà effectuer cette conversion pour vous, donc si vous avez également une logique qui échappe à nouveau à nouveau à nouveau la barre oblique inverse, cela entraînera des problèmes.
Voici une solution que vous voulez savoir! P>
première ligne \ r \ n Deuxième ligne p>
Apple Push va rejeter une chaîne pour diverses raisons. J'ai testé une variété de scénarios pour la livraison push, et c'était mon correctif de travail (en python):
# Apple rejects push payloads > 256 bytes (truncate msg to < 120 bytes to be safe) if len(push_str) > 120: push_str = push_str[0:120-3] + '...' # Apple push rejects all quotes, remove them import re push_str = re.sub("[\"']", '', push_str) # Apple push needs to newlines escaped import MySQLdb push_str = MySQLdb.escape_string(push_str) # send it import APNSWrapper wrapper = APNSWrapper.APNSNotificationWrapper(certificate=...) message = APNSWrapper.APNSNotification() message.token(...) message.badge(1) message.alert(push_str) message.sound("default") wrapper.append(message) wrapper.notify()
Ajoutez un fichier de chaînes localisable et ajoutez votre chaîne là-bas. Par exemple, vous pouvez avoir quelque chose comme: maintenant dans votre charge utile de notification, utilisez les propriétés LOC-KEY et LOC-ARGS, par exemple: P> "loc-key":"Push_String","loc-args":["My argument!"]
Vous ne pouvez pas envoyer une poussée multi-lignes avec une évasion, elle ne fonctionnera pas!
Essayé simplement d'envoyer des appuis avec parse: p>
charge utile sans évasion: p>
{ "alert": "Send me\\na push with escape", "sound": "default" }
Bonjour Johnny, j'essaie d'envoyer une notification push à l'aide d'Apnswrapper. Mais rien ne se passe sur le périphérique. d'importation APNSWrapper * # mylocal_DeviceToken = 'e0cf72eaaf87ef73be7a9687a5eb16caaae8da 63' mylocal_PushMagic = '9B6A010D-52C0-477C-9C67-59CCE8AB77A2' emballage = APNSNotificationWrapper ( 'PushCert.pem', faux) message = APNSNotification () message.tokenBase64 ( '5755bfa7297b765cd03fdc6f47a137ef1e9126e f ') # Message.Token (myLocal_DeviceStank) Message.badge (5) Message.AppendProperty (ApnsProperty (' MDM ', MyLocal_Pushmagic)) Wrapper.Append (Message) Wrapper.Notify () Veuillez vous aider
Utilisez Double citation pour chaîne comme:
Travaillé pour moi dans iOS 12. Je suppose que \ r est un retour en calèche.
J'ai utilisé Chr (10) dans PHP pour envoyer une nouvelle ligne dans le cadre d'un message PUSH, par exemple. P>
$ message = "hey {user_firstname}!". CHR (10). "Vous avez un nouveau message!" code> p>
Cela a fonctionné pour moi sur iOS en utilisant un signal pour la livraison finale.
Fonctionne aussi avec Firebase, même lorsque vous utilisez $ texte = str_replace ('\ n', chr (10), texte $ texte); code>
Vous pouvez essayer:
alert:"this is 1st line \\n"
Peut-être que ce que vous recherchez est l'attribut sous-titres code>. Voir Titre multi-lignes dans la notification push pour iOS P >
Analysez d'abord votre charge utile similaire à celle-ci p> La meilleure solution est Pour rendre votre charge utile "\ n" ou "\ r \ n" p> p> si votre charge utile a "\\ n" faire ceci: code>
IOS semble ignorer des messages codés à tort, tandis que Android les montre avec un code brisé.