How can I send an Apple Push Notification with mul

2019-02-17 14:33发布

问题:

I would like to know how to send an apple push notification message with multiple lines. Using '\n' doesn't seem to work.

Something like:

First line

Second Line

Right now it seems to just ignore the message altogether.

回答1:

Add a localizable strings file and add your string there. For example, you could have something like:

"Push_String" = "My push string with a line break\n and argument: %@";

Now in your notification payload, use the loc-key and loc-args properties, for example:

"loc-key":"Push_String","loc-args":["My argument!"]

Now you should have a line break in your notification.



回答2:

You cannot send multi line push with a escape, it will not work!

simply tried to send push with Parse:

Payload without an escape:

{ "alert": "Send me\na push without escape", "sound": "default" }

Result:

Payload with an escape

{ "alert": "Send me\\na push with escape", "sound": "default" }

Result:



回答3:

Here's a solution you want to know!

First line \r\n Second line



回答4:

Apple push will reject a string for a variety of reasons. I tested a variety of scenarios for push delivery, and this was my working fix (in 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()


回答5:

use double quote for string like:

string = "first line  \r\n Second line ";


回答6:

I have used chr(10) in PHP to send a newline as part of a push message, eg.

$message = "Hey {user_firstname}! " . chr(10) . "you have a new message!"



回答7:

I figured it out: esacpae the \n. Duh.

so use:

First line \\n
Second Line

instead of

First line \n
Second Line


回答8:

you can try:

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


回答9:

Perhaps what you're looking for is the subtitle attribute. See Multi line title in push notification for iOS