(GCM ओवरव्यू से )
दो अलग-अलग उपकरणों में हमेशा एक अलग पंजीकरण आईडी होगी। यहां तक कि एक ही डिवाइस पर अलग-अलग ऐप्स के अलग-अलग पंजीकरण आईडी होते हैं।
कार्यात्मक रूप से पंजीकरण आईडी पर UNIQUE_KEY बाधा रखना सुरक्षित है, लेकिन चूंकि पंजीकरण आईडी लंबी हो सकती है (4096 बाइट्स तक, हालांकि व्यवहार में यह आमतौर पर बहुत छोटा होता है), कुछ डेटाबेस आपको इस तरह के सूचकांक या बाधा को परिभाषित करने से रोक सकते हैं। एक बड़ा स्तंभ। आप एक तरह से हैश फ़ंक्शन का उपयोग करना चाह सकते हैं जो पंजीकरण आईडी को एक छोटे मूल्य पर मैप करेगा, उस मान को एक छोटे कॉलम में संग्रहीत करेगा और उस कॉलम पर बाधा/सूचकांक होगा।
जब आप NotRegistered
get प्राप्त करते हैं त्रुटि, आपको वास्तव में उस पंजीकरण आईडी को अपने डीबी से हटा देना चाहिए (या कम से कम इसे उस स्थिति के साथ चिह्नित करें जो कहता है कि यह निष्क्रिय है, और इसे संदेश भेजना बंद कर दें)। लेकिन अगर ऐप को उस डिवाइस पर फिर से इंस्टॉल किया जाएगा जिससे इसे पहले अनइंस्टॉल किया गया था, तो ऐप को फिर से जीसीएम में पंजीकृत होने पर वही पंजीकरण आईडी मिल सकती है, इसलिए आपके सर्वर को पंजीकरण आईडी की अनुमति देनी चाहिए जो एक बिंदु पर NotRegistered
फिर से सक्रिय होने के लिए।
जब आप Google से प्रतिक्रिया में विहित पंजीकरण आईडी प्राप्त करते हैं, तो आपको पुरानी पंजीकरण आईडी को अपडेट करना चाहिए।