2011-10-09 7 views
5

मैं जानना चाहता हूं कि एकाधिक लाइनों के साथ एक सेब पुश अधिसूचना संदेश कैसे भेजना है। '\ N' का उपयोग करना प्रतीत नहीं होता है।मैं एक ' n' चरित्र के साथ कई लाइनों के साथ एक ऐप्पल पुश अधिसूचना कैसे भेज सकता हूं?

कुछ की तरह:

पहली पंक्ति

दूसरा रेखा

अभी यह सिर्फ संदेश पूरी तरह अनदेखी करने के लिए लगता है।

उत्तर

0

मैंने इसे समझ लिया: esacpae \ n। ओह।

इसलिए का उपयोग करें:

First line \\n 
Second Line 

बजाय

First line \n 
Second Line 
+8

काम नहीं करता है .. –

+0

यह नीचे मतदान नहीं होना चाहिए। यह वास्तव में काम करता है जब अंतिम JSON स्ट्रिंग \\ n है। ध्यान रखें कि आपकी प्रोग्रामिंग भाषा पहले से ही आपके लिए रूपांतरण कर रही है, इसलिए यदि आपके पास बैकस्लैश से बचने वाले तर्क भी हैं, तो इससे समस्याएं पैदा हो जाएंगी। – jk7

2

यहाँ एक समाधान आप जानना चाहते है!

पहली पंक्ति \ r \ n दूसरी पंक्ति

1

एप्पल धक्का कारणों की एक किस्म के लिए एक स्ट्रिंग को अस्वीकार कर देंगे। मैं धक्का प्रसव के लिए परिदृश्यों की एक किस्म का परीक्षण किया है, और यह मेरे कार्य को ठीक (अजगर में) था:

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

एक स्थानीयकृत किए जाने योग्य तार फ़ाइल जोड़ें और आपकी स्ट्रिंग जोड़ें। उदाहरण के लिए, आप की तरह कुछ हो सकता था:

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

अब अपनी अधिसूचना पेलोड में, उदाहरण के लिए, loc कुंजी और loc-आर्ग गुण का उपयोग करें:

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

अब आप एक लाइन ब्रेक होना चाहिए आपकी अधिसूचना में

3

आप भागने के साथ बहु लाइन पुश नहीं भेज सकते हैं, यह काम नहीं करेगा! बचने के बिना

पेलोड:

बस पार्स साथ धक्का भेजने की कोशिश की

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

परिणाम:

: पलायन

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

परिणाम के साथ enter image description here

पेलोड

enter image description here

+0

हाय जॉनी मैं एपीएनएसवापर का उपयोग करके पुश अधिसूचना भेजने की कोशिश कर रहा हूं। डिवाइस पर कुछ भी नहीं होता है। APNSWrapper आयात * # mylocal_DeviceToken = 'e0cf72eaaf87ef73be7a9687a5eb16caaae8da63' mylocal_PushMagic = '9B6A010D-52C0-477C-9C67-59CCE8AB77A2' आवरण = APNSNotificationWrapper ('PushCert.pem', झूठी) संदेश = APNSNotification() message.tokenBase64 ('से 5755bfa7297b765cd03fdc6f47a137ef1e9126ef ') # message.token (mylocal_DeviceToken) message.badge (5) message.appendProperty (APNSProperty (' एमडीएम ', mylocal_PushMagic)) wrapper.append (संदेश) wrapper.notify() कृपया नहीं मदद – sau

+0

मेरे लिए काम किया! –

1

तरह स्ट्रिंग के लिए उपयोग दोहरे उद्धरण:

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

मैं का इस्तेमाल किया है chr (10) PHP में एक धक्का संदेश का एक भाग है, जैसे के रूप में एक नई पंक्ति भेजने के लिए।

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

+0

यह अंत वितरण के लिए एक सिग्नल का उपयोग करके आईओएस पर मेरे लिए काम किया। – Mar

0

तुम कोशिश कर सकते हैं:

alert:"this is 1st line \\n" 
संबंधित मुद्दे