android फेसबुक एसडीके शुरू नहीं किया गया है FacebookSdk.sdk प्रारंभ करें()




react-native facebook-login (4)

अरे मुझे पता है कि इससे पहले पूछा गया था, लेकिन कोई भी समाधान मदद नहीं करता है। मैं अपने आवेदन में पहली बार फेसबुक एसडीके का उपयोग कर रहा हूँ।

मैंने क्या कोशिश की है:

मैंने इंटरनेट पर पाए गए अधिकांश चीजों की कोशिश की थी लेकिन इसके बारे में कुछ भी नहीं मिला।

यहां मेरी मुख्य गतिविधि है। जावा:

 public class MainActivity extends Activity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    FacebookSdk.sdkInitialize(getApplicationContext());
   } 
}

यहाँ My Activitymain.xml है:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:facebook="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

 <com.facebook.login.widget.LoginButton
    android:id="@+id/connectWithFbButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:layout_gravity="center_horizontal"
    android:text="  connect_with_facebook" /> 
</LinearLayout>

मेरा लॉगकैट देखें:

 05-13 16:30:39.332: E/AndroidRuntime(10264): Caused by: The SDK has not been initialized, make sure to call FacebookSdk.sdkInitialize() first.

documentation जांच करने के बाद मुझे पता चला कि वे आवेदन कक्षा में onCreate() विधि पर फेसबुक onCreate() शुरू करने के लिए कह रहे हैं।

फेसबुक दस्तावेज़ से स्नैप कोड:

  public class MyApplication extends Application {
 // Updated your class body:
 @Override
 public void onCreate() {
    super.onCreate();
    // Initialize the SDK before executing any other operations,
    FacebookSdk.sdkInitialize(getApplicationContext());
    AppEventsLogger.activateApp(this);
   }
 }

आपको FacebookSdk.sdkInitialize(getApplicationContext()); setContentView(R.layout.activity_main); से पहले setContentView(R.layout.activity_main); जैसा कि documentation बताता है। यदि आपको एक पूर्ण फेसबुक लॉगिन उदाहरण की आवश्यकता है, तो इसे यहां देखें


मुसीबत

एक प्रतिक्रिया-मूल परियोजना के लिए एंड्रॉइड एसडीके को एकीकृत करते समय, मैंने एंड्रॉइड को रिएक्ट नेटिव v0.30 + प्रोजेक्ट कॉन्फ़िगरेशन गाइड के साथ समाप्त कर दिया था, और react-native run-android और फिर यह स्क्रीन प्राप्त की:

मैंने सीखा कि FacebookSdk.sdkInitialize प्रारंभ करना बहिष्कृत है। यहाँ देखें

कुछ खोज के बाद, मुझे एहसास हुआ कि मार्गदर्शिका में मेरे ऐप के लिए फेसबुक ऐप आईडी जोड़ने के लिए कदम नहीं थे।

उपाय

  1. ओपन android/app/src/main/AndroidManifest.xml फ़ाइल खोलें और यह पुष्टि करने के लिए <application> टैग देखें कि यह meta-data टैग मौजूद है:

    <meta-data android:name="com.facebook.sdk.ApplicationId"
              android:value="@string/facebook_app_id"/>
    
  2. ओपन android/app/src/main/res/values/strings.xml फ़ाइल खोलें और पुष्टि करें कि यह आपके ऐप आईडी के साथ "facebook_app_id" स्ट्रिंग टैग है मान के रूप में:

    <string name="facebook_app_id">YOUR_APP_ID_HERE</string>
    
  3. react-native run-android

ये वे कदम हैं जो मेरे लिए काम करते थे।


प्रारंभिक कॉलबैक कन्स्ट्रक्टर का उपयोग इस तरह करें:

    Handler mHandler = new Handler();
            FacebookSdk.InitializeCallback initializeCallback = new FacebookSdk.InitializeCallback() {
                @Override
                public void onInitialized() {

                    mHandler.post(new Runnable() {
                        @Override
                        public void run() {
                            //UI Code Here
                        }
                    });
                }
            };
    //before setContentView()   
 FacebookSdk.sdkInitialize(getActivity().getApplicationContext(),initializeCallback);




fbsdk