8
votes

Comment puis-je envoyer une notification push apple avec plusieurs lignes, c'est-à-dire avec un caractère '\ n'?

J'aimerais savoir comment envoyer un message de notification push apple avec plusieurs lignes. Utiliser '\ n' ne semble pas fonctionner.

quelque chose comme:

première ligne

deuxième ligne

À l'heure actuelle, il semble simplement ignorer le message complètement.


1 commentaires

IOS semble ignorer des messages codés à tort, tandis que Android les montre avec un code brisé.


10 Réponses :


2
votes

Je l'ai compris: esacpae le \ n. Duh.

Utilisez: xxx

au lieu de xxx


1 commentaires

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.



2
votes

Voici une solution que vous voulez savoir!

première ligne \ r \ n Deuxième ligne


0 commentaires

1
votes

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()


0 commentaires

5
votes

Ajoutez un fichier de chaînes localisable et ajoutez votre chaîne là-bas. Par exemple, vous pouvez avoir quelque chose comme: xxx pré>

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!"]


0 commentaires

5
votes

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" }


1 commentaires

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



3
votes

Utilisez Double citation pour chaîne comme: xxx


1 commentaires

Travaillé pour moi dans iOS 12. Je suppose que \ r est un retour en calèche.



4
votes

J'ai utilisé Chr (10) dans PHP pour envoyer une nouvelle ligne dans le cadre d'un message PUSH, par exemple.

$ message = "hey {user_firstname}!". CHR (10). "Vous avez un nouveau message!"


2 commentaires

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);



0
votes

Vous pouvez essayer:

alert:"this is 1st line \\n"


0 commentaires

0
votes

Peut-être que ce que vous recherchez est l'attribut sous-titres . Voir Titre multi-lignes dans la notification push pour iOS


0 commentaires

0
votes

si votre charge utile a "\\ n" faire ceci:

Analysez d'abord votre charge utile similaire à celle-ci xxx

La meilleure solution est Pour rendre votre charge utile "\ n" ou "\ r \ n"


0 commentaires