2012-11-15 6 views
34

Google के लिए एंड्रॉइड एकाधिक उपयोगकर्ता समर्थन (4.2 में नया) के प्रभाव Google ने अभी एंड्रॉइड 4.2 जारी किया है, जिसमें एक ही डिवाइस पर एकाधिक उपयोगकर्ता प्रोफाइल के लिए समर्थन शामिल है: http://developer.android.com/about/versions/android-4.2.html#MultipleUsersसर्वर साइड डेटा मॉडल (उदाहरण के लिए android_id)

Google का कहना है कि यह ऐप्स के लिए पारदर्शी होगा, लेकिन मुझे लगता है कि इसका उपयोग डिवाइस, उपयोगकर्ताओं और प्रतिष्ठानों की पहचान के लिए किए गए डेटा मॉडल पर असर पड़ सकता है।

एक मुद्दा एंड्रॉइड_आईड का उपयोग है। उपरोक्त लिंक किए गए पृष्ठ पर सलाह एंड्रॉइड_आईडी के तरीकों में से एक द्वारा डिवाइस की पहचान करने का सुझाव देती है, लेकिन मेरा मानना ​​है कि इस उद्देश्य के लिए एंड्रॉइड_आईडी का व्यापक रूप से उपयोग किया जाता है।

मेरा मुख्य प्रश्न है - क्या प्रत्येक उपयोगकर्ता प्रोफ़ाइल का अपना एंड्रॉइड_आईडी होता है, और क्या प्रभाव हैं?

जब कोई नया ओएस स्थापित होता है या हार्ड रीसेट किया जाता है तो एक नया एंड्रॉइड_आईडी उत्पन्न होता है - शायद कोई नया उपयोगकर्ता उत्पन्न होता है जब कोई नया उपयोगकर्ता प्रोफ़ाइल बनाया जाता है (यह प्रश्न # 1 है)? मुझे लगता है कि शायद नहीं, तो एक ऐप को उसी एंड्रॉइड_आईडी के लिए कई बार इंस्टॉल किया जा सकता है - मुझे लगता है कि यह कुछ ऐप्स के लिए सर्वर-साइड डेटा मॉडल के साथ मिल सकता है।

किसी भी तरह से, किसी डिवाइस की पहचान करने के तरीके के आधार पर, अब आप पाएंगे कि एक विशेष ऐप में एक ही डिवाइस पर एकाधिक इंस्टॉलेशन हो सकते हैं।

एक और मुद्दा उपयोगकर्ता है। संभवतः प्रत्येक प्रोफ़ाइल में Google खाते की संख्या हो सकती है, लेकिन प्रत्येक प्रोफ़ाइल में एक ही Google खाता प्ले स्टोर से जुड़ा होना चाहिए। मुझे लगता है कि यह भी संभव है कि आपके ऐप में एक ही डिवाइस (android_id द्वारा) और एक ही उपयोगकर्ता के साथ एकाधिक एक साथ इंस्टॉलेशन हो सके। मुझे लगता है कि एकाधिक प्रोफाइल फीचर का एक आम उपयोग एक ही उपयोगकर्ता के लिए अपने फोन पर घर और काम प्रोफाइल रखने के लिए होगा - आम तौर पर अलग-अलग Google खातों का उपयोग करते हुए, लेकिन कुछ मामलों में उनके पास प्रत्येक प्रोफ़ाइल में एक ही Google खाता हो सकता है (उदाहरण के लिए उन्हें सामान के लिए दो बार भुगतान नहीं करना पड़ता है)।

साइड नोट
ANDROID_ID की Here is a similar discussion नई एआरसी मंच (क्रोम पर Android) पर। ख्याल रखना - एआरसी पर व्यवहार एंड्रॉइड जैसा नहीं है।

उत्तर

32

(कोई भी मेरे प्रश्न का उत्तर है, लेकिन मैं अब 4.2 के साथ अपने आप को परीक्षण करने के लिए एक मौका मिला है।)

जवाब प्रत्येक प्रोफ़ाइल के अपने android_id किया है।

इसके बारे में सोचने के लिए आओ, यह शायद सबसे अधिक समझ में आता है और कम से कम समस्याएं पैदा करेगा। इससे अधिकांश सिस्टम एक डिवाइस पर अलग-अलग प्रोफाइल को विभिन्न उपकरणों के रूप में देखना चाहिए - जो वास्तव में कोई समस्या नहीं होनी चाहिए। एकमात्र समस्या ऐसी प्रणाली होगी जो डिवाइस को सही तरीके से पहचाना जाए, उदाहरण के लिए। वाईफाई या बीटी मैक एड्रेस, या सीरियल नंबर या आईएमईआई के आधार पर, और फिर उम्मीद की गई कि उस डिवाइस पर एकाधिक एंड्रॉइड_आईड्स उस डिवाइस पर अनुक्रमिक ओएस इंस्टॉलेशन का प्रतिनिधित्व करता है। (बल्कि बदले में, यह गलत होना सुरक्षित होगा।)

+3

किसी ने इंगित किया है कि दस्तावेज़ एन 7 पर 4.2.1 के व्यवहार का खंडन करते हैं। उन्होंने एक [मुद्दा यहां] बनाया (http://code.google.com/p/android/issues/detail?can=2&start=0&num=100&q=Build.serial&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars&groupby= और प्रकार = & id = 42,523)। – Tom

+0

क्षमा करें क्या आप स्पष्ट कर सकते हैं कि प्रोफ़ाइल उपयोगकर्ता आधारित है? यदि हां, तो क्या आप जानते हैं कि किसी अन्य डिवाइस पर एक ही उपयोगकर्ता एक ही ANDROID_ID का उत्पादन करेगा? –

+0

यह उपयोगकर्ता आधारित नहीं है - प्रत्येक 'प्रोफ़ाइल' में एकाधिक उपयोगकर्ता खाते हो सकते हैं। और नहीं, आपको दो अलग-अलग उपकरणों पर एक ही ANDROID_ID नहीं मिलना चाहिए। – Tom

8

हां, प्रत्येक उपयोगकर्ता प्रोफ़ाइल का अपना ANDROID_ID होता है। यह अब here प्रलेखित है:

नोट: जब एक डिवाइस multiple users (एंड्रॉयड 4.2 या उसके बाद चल रहे कुछ उपकरणों पर उपलब्ध है), प्रत्येक उपयोगकर्ता एक पूरी तरह से अलग डिवाइस के रूप में प्रकट होता है, तो ANDROID_ID मूल्य प्रत्येक के लिए अद्वितीय है उपयोगकर्ता।

सावधान रहें कि निर्माता ANDROID_ID के कार्यान्वयन को बॉट करने के लिए जाने जाते हैं। उदाहरण के लिए, मोटोरोला Droid2 returned the same ANDROID_ID value for every device। इसी कारण से, ANDROID_ID पर निर्भर उपयोगकर्ता प्रोफ़ाइल या डिवाइस may be unreliable की विशिष्ट पहचान करने के लिए।

संबंधित मुद्दे