2012-05-10 26 views
7

के साथ एंड्रॉइड सिंक एडाप्टर मैं अपने ऐप के लिए एक एपेंगेन बैकएंड के साथ सिंक करने के लिए एक सिंक एडाप्टर लागू कर रहा हूं। Appengine पर मैं प्रमाणीकरण के लिए निर्मित उपयोगकर्ता एपीआई का उपयोग कर रहा हूँ। एक पोस्ट HERE है जो बताता है कि इसे कैसे करें, हालांकि ऐप जीमेल खाते के तहत सूचीबद्ध है। आदर्श रूप से मेरा ऐप खातों में सूचीबद्ध होगा। मैं उपयोगकर्ता से उपयोगकर्ता नाम और पासवर्ड के लिए नहीं पूछना चाहता हूं, प्रमाणीकरण के लिए मौजूदा Google खाते का उपयोग करें। क्या किसी ने इसे पहले किया है??ऐपेंगिन Google उपयोगकर्ता खाते

अद्यतन: मैं इस पर काम कर रहा हूं और ऐसा लगता है कि मैं प्रमाणीकरण सेवा को कार्यान्वित कर सकता हूं और उपयोगकर्ता खाता नाम संग्रहीत कर सकता हूं और पासवर्ड को खाली स्ट्रिंग के रूप में छोड़ सकता हूं। GetAuthToken() विधियों में मुझे Google auth टोकन को सरल करने में सक्षम होना चाहिए। एक बार मैं आगे बढ़ने के बाद पोस्ट करूंगा ...

उत्तर

3

शायद आपने एंड्रॉइड खाता प्रणाली को गलत समझा है। जब आप सेटिंग्स पर जाते हैं -> खाते & सिंक करें और जो भी आप देखते हैं उसे एक नया खाता जोड़ें, तो प्रकार खाते की एक सूची है। अक्सर खाता प्रकारों और ऐप्स के बीच एक रिश्ता होता है, उदाहरण के लिए फेसबुक खातों का उपयोग फेसबुक के साथ किया जाता है। आम तौर पर यदि आप प्रमाणीकरण को संभालने के लिए एक अलग बैकएंड सिस्टम रखते हैं तो

यदि मैं आपको सही ढंग से समझता हूं, तो आप Google खाते का उपयोग करते हैं, लेकिन इसे अपने खाते के प्रकार के रूप में दिखाना चाहते हैं। यह मेरे लिए गलत लगता है। आप कम मूल्य के साथ Google खाता हैंडलिंग को फिर से कार्यान्वित कर देंगे। मेरा मानना ​​है कि यह उपयोगकर्ताओं के लिए आसान है यदि आप केवल Google द्वारा प्रदान किए जाने वाले कार्यों पर पिगबैक करते हैं। खाते पर क्लिक करते समय आपका ऐप/सेवा/सामग्री प्रदाता देखा जा सकता है। उदाहरण के लिए, installing "Tasks" by "Team Task" के बाद (अस्वीकरण: मैं उस कंपनी से संबद्ध नहीं हूं) वे डेटा & सिंक विकल्पों की सूची में "सिंक कार्य" जोड़ते हैं।

लेकिन यदि आप वास्तव में अपना खाता प्रकार बनाना चाहते हैं, तो नमूना Sample Sync Adapter का पालन करें। Authenticator कोड और संबंधित संसाधनों की तलाश करें (उदा।, प्रकट, गतिविधि लेआउट, आदि)।

+0

मैं समझता हूँ कि तुम क्या कह रहे हैं, हालांकि मैं डेटा है कि मेरे ऐप के लिए विशिष्ट है सिंक करना होगा और उपयोगकर्ता खाता । Google खाते के अंतर्गत "सिंक कार्य" को रखना समझदारी है क्योंकि यह Google डेटा है जिसे सिंक किया जा रहा है। मैं लॉगिन और खाता उपयोगकर्ता नाम उद्देश्यों के लिए Google खाते का उपयोग कर रहा हूं क्योंकि उपयोगकर्ता को एक और पासवर्ड याद नहीं रखना पड़ेगा और यह मेरे वर्कलोड को कम करता है – Patrick

+0

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

2

यह वास्तव में संभव है और मैंने इसे सफलतापूर्वक कार्यान्वित किया है लेकिन चेतावनी दी जाती है कि यह सिरदर्द का थोड़ा सा है।

वहाँ एक उत्कृष्ट ट्यूटोरियल उपलब्ध writing-an-android-sync-provider-part-1

कहा जाता है ... मत भूलना जाँच करने के लिए part 2

इसके अलावा में अनुवर्ती वहाँ भी एंड्रॉयड एसडीके नमूने जो था SampleSyncAdapter कहा जाता है में एक उदाहरण है मेरे विकास में अमूल्य।

एक छोटे से कड़ी मेहनत और आप इस काम के प्राप्त करने में सक्षम होना चाहिए कॉफी का एक बहुत साथ

;)

+0

मैंने इसे अपने बारे में समझ लिया है, लेकिन अभी भी कुछ चीजें लोहे से बाहर हैं।मेरे पास पहले से ही मेरे ऐप में Google खाता सेटअप के साथ प्रमाणीकरण था, इसलिए मुझे वास्तव में GetAuthToken और प्रमाणीकरण सेवा में अन्य विधियों को लागू करने की आवश्यकता नहीं है। मैं मूल रूप से सिंकैडाप्टर कार्यक्षमता का उपयोग करना चाहता हूं ... क्या कोई कोड है जिसे आप प्रमाणीकरण सेवा से साझा कर सकते हैं? आपने अपने ऐप में खातों को कैसे जोड़ा? – Patrick

+0

सभी कोड SampleSyncAdapter उदाहरण कोड में है जो मैंने उत्तर में लिंक किया था। मैंने इसे मूल बातें (और इसे कुछ बार तोड़ दिया) तो इसे मेरे कोड में बोल्ड कर दिया। एक उपयोगी संकेत हालांकि ... एक छोटी एक्सएमएल फ़ाइल है जो इस चीज की आवश्यकता है जो आपको नमूना प्रोजेक्ट में मिल जाएगी ... सुनिश्चित करें कि आप इसे अपने एक्सएमएल फ़ोल्डर में डाल दें ... neraly पागल हो गया है कि उसे हल करने की कोशिश कर रहा हो;) – Merlin

+0

यह आलेख भी उपयोग में हो सकता है [कनेक्टिंग-द-डॉट्स-साथ-एंड्रॉइड-सिंकडाप्टर] (http://ericmiles.wordpress.com/2010/09/22/connecting-the-dots-with-android-syncadapter/) – Merlin

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