के साथ उपयोग के लिए पायथन में एपीएनएस-शैली जेएसओएन संदेश प्रारूपित करें, मैं एक आईओएस ऐप बना रहा हूं, और हमारी पुश अधिसूचनाओं के लिए, हम अमेज़ॅन की सरल अधिसूचना सेवा (एसएनएस) का उपयोग कर रहे हैं।अमेज़ॅन एसएनएस
एसएनएस अद्भुत है, लेकिन दस्तावेज़ीकरण बहुत दुर्लभ है। मैं boto, अमेज़न के अजगर पुस्तकालय का उपयोग कर रहा है, और मैं समझ गए होंगे कि कैसे सादे-पाठ पुश सूचनाएं भेजने के लिए:
device_arn = 'MY ENDPOINT ARN GOES HERE'
plain_text_message = 'a plaintext message'
sns.publish(message=plain_text_message,target_arn=device_arn)
हालांकि, स्पष्ट नहीं है प्रलेखन से एक एक Apple Push अधिसूचना सेवा बनाने का तरीका है (एपीएनएस) संदेश। मुझे पुश अधिसूचना के साथ एक ध्वनि और बैज भेजने की ज़रूरत है, लेकिन यह पता नहीं लगा सकता कि संदेश के लिए JSON को कैसे प्रारूपित किया जाए।
यहाँ मेरी सर्वोत्तम अनुमान अब तक बताया गया है:
message = {'default':'default message', 'message':{'APNS_SANDBOX':{'aps':{'alert':'inner message','sound':'mySound.caf'}}}}
messageJSON = json.dumps(message,ensure_ascii=False)
sns.publish(message=messageJSON,target_arn=device_arn,message_structure='json')
मुझे इस कोड को चलाने, हालांकि, सब मैं अधिसूचना पर देख "डिफ़ॉल्ट संदेश" है - जिसका अर्थ है कि अमेज़न एसएनएस मेरा संदेश के प्रारूप को अस्वीकार कर दिया, और प्रदर्शित इसके बजाय default
।
मैं इस JSON को सही ढंग से कैसे प्रारूपित करूं?
मैं सी # एसडीके और मेरे लिए महत्वपूर्ण गायब चीज का उपयोग कर रहा हूं, एपीएस सामग्री JSON'ing के अलावा संदेश संरचना = "जेसन" सेट करना था ... एक बार मैंने यह सब किया था। THX – kingdango
मैंने इसे जीसीएम में अनुकूलित किया, जिसमें मुझे परेशानी हो रही थी। एक जादू की तरह काम किया। संदर्भ के लिए मेरे कोड चिपका रहा है: –