एफसीएम जीसीएम के साथ पिछड़ा संगत है। एडब्ल्यूएस पर एफसीएम स्थापित करने के लिए कदम GCM set up procedure के समान हैं (और कम से कम इस पल के लिए) एफसीएम सर्वर-साइड कॉन्फ़िगरेशन के संबंध में जीसीएम और एसएनएस के साथ पारदर्शी रूप से काम करता है।
हालांकि, अगर आप एंड्रॉयड डिवाइस वे जब तक आप एक client side service कि FirebaseMessagingService
फैली लागू संसाधित नहीं किया जाएगा करने के लिए data
पेलोड भेज रहे हैं। एडब्ल्यूएस कंसोल में डिफ़ॉल्ट JSON संदेश जनरेटर data
संदेश भेजता है, जिसे उपरोक्त सेवा लागू होने तक आपके ऐप द्वारा अनदेखा कर दिया जाएगा। इस के आसपास पाने के लिए आप (जब तक आपके एप्लिकेशन को अग्रभूमि में नहीं है) एक कस्टम notification
पेलोड जो आपके डिवाइस द्वारा प्राप्त किया जाएगा प्रदान कर सकते हैं प्रारंभिक परीक्षण के लिए
आप बनाने की जरूरत है GCM-FCM migration instructions गूगल द्वारा प्रदान की तथापि परिवर्तन नहीं हैं मुख्य रूप से ऐप पक्ष पर हैं।
चरणों आप एसएनएस के साथ अपने ऐप पर GCM/FCM परीक्षण करने के लिए पालन करने की आवश्यकता हैं:
- एक Platform Application in SNS बनाएँ, पुश अधिसूचना मंच के रूप में गूगल क्लाउड मैसेजिंग (GCM) का चयन करके और उपलब्ध कराने के अपने एपीआई कुंजी फ़ील्ड में।
- प्लेटफ़ॉर्म एप्लिकेशन का चयन करें और पर क्लिक करें प्लेटफ़ॉर्म एंडपॉइंट बटन बनाएं।
- अपने ऐप द्वारा जेनरेट किया गया इंस्टेंस आईडी (डिवाइस टोकन) प्रदान करें। आपको
FirebaseInstanceIDService
का विस्तार करना होगा और इसे अपने एंड्रॉइड ऐप में देखने के लिए onTokenRefresh
विधि को ओवरराइड करना होगा। एक बार जब आप have done this, अपने ऐप को अन-इंस्टॉल और पुन: इंस्टॉल करें और आपका टोकन पहले बूट पर एंड्रॉइड स्टूडियो में डीबग कंसोल पर मुद्रित किया जाना चाहिए।
- पर क्लिक करें एंडपॉइंट बटन जोड़ें।
- अपने प्लेटफ़ॉर्म एप्लिकेशन के लिए एआरएन लिंक पर क्लिक करें।
- अपने डिवाइस के लिए नव निर्मित एंडपॉइंट का चयन करें और पर क्लिक करें बटन पर एंडपॉइंट पर प्रकाशित करें।
- JSON संदेश प्रारूप का चयन करें, और JSON संदेश जनरेटर बटन पर क्लिक करें।
- एक परीक्षण संदेश दर्ज करें और JSON उत्पन्न बटन
- अब "पकड़ लिया हिस्सा आता है" पर क्लिक करें।
संदेश यह है कि एसएनएस द्वारा उत्पन्न होता है इस रूप में होने करेंगे:
{
"GCM": "{ \"data\": { \"message\": \"test message\" } }"
}
हम पहले उल्लेख किया है, data
पेलोड अगर कोई सेवा प्राप्त करने के लिए उन्हें लागू किया गया है नजरअंदाज कर दिया जाएगा। हम बहुत अधिक कोड लिखने के बिना परीक्षण करना चाहते हैं, इसलिए हमें notification
पेलोड भेजना चाहिए। ऐसा करने के लिए, बस JSON संदेश को बदल पढ़ने के लिए:
{
"GCM": "{ \"notification\": { \"text\": \"test message\" } }"
}
बार जब आप इस किया है, सुनिश्चित करें कि आपके एप्लिकेशन को उपकरण पर नहीं चल रहा है, और हिट संदेश बटन प्रकाशित करें। अब आपको अपने डिवाइस पर एक अधिसूचना पॉप अप देखना चाहिए।
आप निश्चित रूप से अमेज़ॅन एसएनएस एपीआई के माध्यम से यह सब प्रोग्राम कर सकते हैं, हालांकि सभी उदाहरण data
पेलोड का उपयोग करने लगते हैं, इसलिए आपको इसे ध्यान में रखना होगा और अपने उपयोग के मामले में उपयुक्त पेलोड उत्पन्न करना होगा।
स्रोत
2016-07-28 02:58:45
एसएनएस अभी तक FCM का समर्थन नहीं करता है, यह एक पदावनत उपयोग करता है:
हम Json करने के लिए डेटा जोड़ने के लिए (अधिसूचना के अंदर) की जरूरत है जीसीएम का संस्करण। आप एपीआई कुंजी कहां से प्राप्त कर रहे हैं? –
मैंने जो कोशिश की थी, मैंने एसएनएस में एफसीएम की एपीआई कुंजी डालने की कोशिश की और यह काम नहीं किया, एडब्ल्यूएस (एसएनएस) में दस्तावेज़ पढ़ने के बाद उन्होंने सर्वर कुंजी डालने का उल्लेख किया। मैंने कोशिश की कि यह अच्छी तरह से काम किया। मैं एफसीएम के लिए एसएनएस के माध्यम से पुश सूचनाएं भेजने में सक्षम हूं। कारण यह नहीं पता कि यह क्यों काम करता है। क्या आप वाकई एफएनएम का समर्थन नहीं करते हैं? – Naroju
यह सही है कि सर्वर कुंजी को जीसीएम (अब एफसीएम) संदेश भेजने की आवश्यकता है। क्लाइंट साइड (मोबाइल डिवाइस) जीसीएम और एफसीएम आम तौर पर समान होते हैं, इसलिए दोनों एक अपेक्षित फैशन में संदेश प्राप्त करेंगे। हालांकि कुछ एफसीएम विशेषताएं हैं जो काम नहीं करेंगे, उदाहरण के लिए: विषय संदेश। –