मेरा ऐप gcm का उपयोग करता टोकन। प्रत्येक बार जब उपयोगकर्ता लॉग इन करता है, तो नया जीसीएम टोकन पंजीकृत होता है और मेरे तीसरे पक्ष सर्वर को भेजा जाता है। प्रत्येक बार उपयोगकर्ता लॉग आउट करता है, जीसीएम टोकन अनियंत्रित है। बिना किसी समस्या के यह woks।अमान्य सभी gcm
समस्या यह है कि जब यह परीक्षण करने के लिए आता है, परीक्षक loging बाहर के बिना एप्लिकेशन को अनइंस्टॉल कर सकते हैं, और फिर वापस फिर से स्थापित करने और अन्य खाते में लॉग है। फिर वह दो अलग-अलग खातों से दो जीसीएम प्राप्त करेगा। इसका मतलब है कि वह खाता जीएसीएस के लिए निजी जीसीएमएस प्राप्त करेगा जो वर्तमान में लॉग इन नहीं है। यह कभी-कभी लाइव उपयोगकर्ताओं के साथ भी हो सकता है।
जीसीएम दस्तावेज बताता है कि यदि एप्लिकेशन अनइंस्टॉल किया गया है तो जीसीएम टोकन कभी-कभी समाप्त कर सकते हैं। अभ्यास में, यह कभी नहीं होता है।
http://developer.android.com/google/gcm/gcm.html
GCM प्रलेखन यह भी कहा गया है कि आप
Intent unregIntent = new Intent("com.google.android.c2dm.intent.UNREGISTER");
unregIntent.putExtra("app", PendingIntent.getBroadcast(this, 0, new Intent(), 0));
startService(unregIntent);
को क्रियान्वित करते हुए GCM टोकन अपंजीकृत कर सकते हैं लेकिन यह विधि काम करने के लिए यदि आप इसे पुनः स्थापित करने के बाद की कोशिश प्रतीत नहीं होता। मुझे कॉलबैक प्राप्त होता है जो मुझे बताता है कि टोकन अनियंत्रित है, लेकिन जीसीएम टोकन अभी भी ठीक काम करता है।
मेरा प्रश्न है: क्या आप सुनिश्चित कर सकते हैं आपके आवेदन के लिए कोई वैध gcm टोकन देखते हैं कि? मैं वास्तव में एप्लिकेशन के दौरान सभी मौजूदा टोकन को अनियंत्रित करना चाहता हूं, या कम से कम उन्हें फोन सेटिंग्स से रीसेट कर दूंगा।
अरे एलेक्सी, क्या समाधान आप मैं क्या मोहम्मद हाफ़िज सुझाव किया –
के लिए चला गया। मेरे पास उपयोगकर्ता आईडी और जीसीएम टोकन के साथ एक टेबल है। दोनों फ़ील्ड अद्वितीय हैं। जब मैं नए जीसीएम टोकन के साथ मौजूदा उपयोगकर्ता आईडी प्राप्त करता हूं, तो मैं जीसीएम टोकन अपडेट करता हूं। जब मैं नए उपयोगकर्ता आईडी के साथ मौजूदा जीसीएम टोकन प्राप्त करता हूं, तो मैं उपयोगकर्ता आईडी अपडेट करता हूं। ऐसा लगता है कि सभी संभावित कोने के मामलों को कवर किया गया है। – Alexey
क्या होता है यदि कोई उपयोगकर्ता दो डिवाइसों में लॉग इन होता है। मुझे डर है कि दो उपकरणों को इस समाधान के साथ जीसीएम संदेश प्राप्त नहीं होंगे। या क्या मैं कुछ न कुछ भूल रहा हूं। –