2013-05-20 6 views
9

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

+0

उपयोगकर्ता के डेटा को आपके माध्यम से रूट नहीं करेगा वेब-ऐप फेसबुक की नीति का उल्लंघन करता है: "आपको ऐसी कार्यक्षमता शामिल नहीं करनी चाहिए जो प्रॉक्सी, अनुरोध या फेसबुक उपयोगकर्ता नाम या पासवर्ड एकत्र करे।" यदि ऐसा है तो सभी अन्य विचारों को मूल बिंदु होंगे। – Kai

+0

नहीं मुझे लगता है कि मैं पर्याप्त स्पष्ट नहीं था। मेरा मतलब है कि http: //myserver/friends.php पर अनुरोध करके और मूल एंड्रॉइड लाइब्रेरी का उपयोग करने के बजाय आउटपुट का उपयोग करके उपयोगकर्ता की मित्र सूची प्राप्त करने जैसी प्रॉक्सी चीजें। फेसबुक उदाहरणों के आधार पर प्रॉक्सीइंग की इस विधि की अनुमति है। –

+0

आपको पासवर्ड के लिए पूछने या सहेजने की अनुमति नहीं है। प्रॉक्सीइंग का मतलब उपयोगकर्ताओं को पासवर्ड लेना और इसे एफबी को भेजना है। आपको एफबी ऑथ संवाद का उपयोग करना होगा और एक टोकन प्राप्त करना होगा जो आपको उपयोगकर्ता की ओर से अनुरोध करने की अनुमति देता है, और आपको बाद में उपयोग के लिए उस टोकन को स्टोर करने की भी अनुमति है (हालांकि यह कुछ समय बाद समाप्त हो जाएगी) – joerx

उत्तर

2

मैं अपने दिमाग को पहले इसी तरह की समस्या में डाल रहा हूं। यह एक PHP ऐप था, लेकिन अनिवार्य रूप से डिजाइन विकल्प को एफबी-इंटरैक्शन को फ्रंटएंड (जेएस-एसडीके) में या बैकएंड में और प्रॉक्सी (पीएचपी-एसडीके) में रखना था। अफसोस की बात है कि बहुत मार्गदर्शन नहीं मिला है, इसलिए मुझे अपना मन बनाना पड़ा।

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

मैं इसे देखना रूप में, यह निम्न करने पर निर्भर करता:

अमेरिकन प्लान के साथ सीधा संचार के रूप में आप अपने अनुप्रयोग और अमेरिकन प्लान, यानी छद्म कोड, आदि के बीच एक अतिरिक्त परत के लिए नहीं होगा लागू करने के लिए बहुत आसान है इसलिए यदि एफबी बस कमजोर युग्मित है तो यह संभवतः 'अच्छा-पर्याप्त' विकल्प है।

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

आशा है कि कुछ मूल्य प्रदान करता है, अन्य राय भी देखने के लिए उत्सुक होगा।

2

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

2

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

हालांकि यह आपके द्वारा बनाए गए कोड के आकार को बढ़ाता है और एसडीके/एपीआई आपको प्लेटफार्मों की सूची में वृद्धि के रूप में सीखना चाहिए, इस दृष्टिकोण के लिए सबसे महत्वपूर्ण कारक उपयोगकर्ता अनुभव है।देशी पुस्तकालयों के साथ चिपके हुए, और उन पुस्तकालयों के विकास के रूप में आपके ऐप को बढ़ाना, आप अपने उपयोगकर्ताओं को एक अनुभव के साथ प्रदान करेंगे जो उन्हें उपयोग करने की सबसे अधिक संभावना है। उन्हें आपके ऐप का उपयोग करने का तरीका नहीं सीखना होगा, लेकिन वे पोस्ट करने, अपनी स्थिति अपडेट करने, और उन नियंत्रणों का उपयोग करके अपनी मित्र सूची को देखने में सक्षम होंगे, जिनका उपयोग करने के आदी हैं। इसके अतिरिक्त, आप विशिष्ट प्लेटफ़ॉर्म कार्यक्षमता का लाभ उठाने में सक्षम होंगे (मोबाइल मामले में, जैसे कि आपके ऐप को आपके ऐप को बढ़ावा देने के तरीके में फ़ीड करने के लिए: https://developers.facebook.com/docs/tutorials/androidsdk/3.0/games/feed/)

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

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