8

मैंने https://developers.facebook.com/docs/getting-started/facebook-sdk-for-android/3.0/ पर "फेसबुक लॉगिन के साथ एक नया एंड्रॉइड प्रोजेक्ट बनाएं" अनुभाग के चरण का पालन किया है लॉगिन प्रक्रिया ठीक है। चूंकि मैं उपयोगकर्ता के लॉग इन करने के लिए मूल एंड्रॉइड बटन का उपयोग करना चाहता हूं, इसलिए मैं निम्न कोड को मूल एंड्रॉइड बटन के View.OnClickListener() में ले जाकर कोड को थोड़ा सा संशोधित करता हूं। निम्नलिखित श्रोता में कोड है:)एंड्रॉइड के लिए फेसबुक एसडीके 3 के साथ अतिरिक्त अनुमति के साथ लॉगिन करें

Session.openActiveSession(MainActivity.this, true, new Session.StatusCallback() { 
    // callback when session changes state 
    @Override 
    public void call(Session session,SessionState state, Exception exception) { 
     if (session.isOpened()) {       
      // make request to the /me API 
      Request.executeMeRequestAsync(session,new Request.GraphUserCallback() { 

       // callback after Graph API 
       // response with user object 
       @Override 
       public void onCompleted(GraphUser user,Response response) { 
        if (user != null) { 
         Toast.makeText(getApplicationContext(), "Hello " + user.getName() +" "+user.getId()+"!", Toast.LENGTH_LONG).show(); 
        } 
       } 
      }); 
     } 
    } 
}); 

onActivityResult (और AndroidManifest.xml ट्यूटोरियल रूप में ही है

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data); 
} 

हालांकि, मैं जब मिल "read_friendlists" अनुरोध करना चाहते हैं एक उपयोगकर्ता सफलतापूर्वक लॉग इन करता है। मैंने https://developers.facebook.com/docs/tutorials/androidsdk/3.0/scrumptious/authenticate/ पर ट्यूटोरियल पढ़ा लेकिन यह फेसबुक एसडीके अनुकूलित बटन का उपयोग करता है। मैं ऊपर दिखाए गए कोड जैसे देशी एंड्रॉइड बटन के साथ एक ही व्यवहार कैसे प्राप्त कर सकता हूं?

+0

[इस पोस्ट पर एक नज़र डालें] (https://developers.facebook.com/docs/ ट्यूटोरियल/androidsdk/3.0/शानदार/शो-मित्र /); –

+3

@Adil धन्यवाद! इसे पढ़ने के बाद, मुझे लगता है कि मेरे मामले में ट्यूटोरियल (या एसडीके?) का नकारात्मक पक्ष यह है कि यह हुड के नीचे बहुत अधिक जानकारी encapsulates। इसलिए, डेवलपर के लिए कस्टम प्रोग्राम प्रवाह और यूआई में एसडीके का लाभ उठाना आसान नहीं है। एक और उदाहरण के लिए https://developers.facebook.com/docs/tutorials/androidsdk/3.0/scrumptious/authenticate/ लें। एसडीके द्वारा प्रदान किया गया लॉगिन बटन उपयोग करना आसान है लेकिन मेरे लिए UI को कस्टमाइज़ करना और इसके कार्यान्वयन/फ़ंक्शन को बनाए रखना मुश्किल है। मुझे लगता है कि दृश्य और नियंत्रण अलग किया जाना चाहिए। – Greenhand

+0

हाँ, और मैं एक गेम इंजन का उपयोग कर रहा हूं और किसी भी एंड्रॉइड विचारों का उपयोग नहीं कर रहा हूं, केवल ओपनग्ल का उपयोग करके, मुझे नहीं पता कि इसे कैसे कार्यान्वित किया जाए। – Mustafa

उत्तर

3

मैंने अभी एक और पोस्ट पर एक समान प्रश्न का उत्तर दिया। मेरा समाधान आपको मूल बटन का उपयोग करने और उपयोगकर्ता को पहले लॉग इन करते समय अतिरिक्त पढ़ने की अनुमतियों का अनुरोध करने की अनुमति देता है। इसे यहां देखें Ask for more permissions with 3.0 SDK