2016-11-28 2 views
0

я пытался интегрировать мое приложение с Facebook, как это:Мой крах приложение после того, как я нажимаю «Войти с использованием Facebook» Реагировать родной fbsdk

const FBSDK = require('react-native-fbsdk'); 
const { 
    GraphRequest, 
    GraphRequestManager, 
    AccessToken, 
    LoginButton, 
    LoginManager 
} = FBSDK; 

....

 <LoginButton 
      style={styles.facebookRegButton} 
      readPermissions={['public_profile']} 
      onLogoutFinished={() => alert("User logged out")} /> 

теперь, когда я нажимаю на кнопку входа в facebook, моя ошибка приложения с ошибкой: «appname остановлено».

я работаю с андроида

это мой mainActivity.java файл:

package com.students; 

import com.facebook.react.ReactActivity; 
import com.oblador.vectoricons.VectorIconsPackage; 
import com.github.yamill.orientation.OrientationPackage; 
import com.BV.LinearGradient.LinearGradientPackage; 
import android.content.Intent; 
import android.os.Bundle; 
import com.facebook.FacebookSdk; 
import com.facebook.CallbackManager; 
import com.facebook.react.ReactPackage; 

public class MainActivity extends ReactActivity { 
    CallbackManager mCallbackManager = MainApplication.getCallbackManager(); 
    /** 
    * Returns the name of the main component registered from JavaScript. 
    * This is used to schedule rendering of the component. 
    */ 
    @Override 
    protected String getMainComponentName() { 
     return "students"; 
    } 

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

и MainApplication.java файл:

package com.students; 

import android.app.Application; 
import android.util.Log; 

import com.facebook.react.ReactApplication; 
import com.facebook.reactnative.androidsdk.FBSDKPackage; 
import com.imagepicker.ImagePickerPackage; 
import com.facebook.react.ReactInstanceManager; 
import com.facebook.react.ReactNativeHost; 
import com.facebook.react.ReactPackage; 
import com.facebook.react.shell.MainReactPackage; 
import com.facebook.CallbackManager; 
import com.facebook.FacebookSdk; 
import com.facebook.reactnative.androidsdk.FBSDKPackage; 
import com.facebook.appevents.AppEventsLogger; 

import java.util.Arrays; 
import java.util.List; 

public class MainApplication extends Application implements ReactApplication { 

    private static CallbackManager mCallbackManager = 
    CallbackManager.Factory.create(); 

    protected static CallbackManager getCallbackManager() { 
    return mCallbackManager; 
    } 

    private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) { 
    @Override 
    protected boolean getUseDeveloperSupport() { 
     return BuildConfig.DEBUG; 
    } 

    @Override 
    protected List<ReactPackage> getPackages() { 
     return Arrays.<ReactPackage>asList(
      new MainReactPackage(), 
      new FBSDKPackage(mCallbackManager), 
      new ImagePickerPackage() 
    ); 
    } 
    }; 

    @Override 
    public void onCreate() { 
    super.onCreate(); 
    FacebookSdk.sdkInitialize(getApplicationContext()); 
    AppEventsLogger.activateApp(this); 
    } 

    @Override 
    public ReactNativeHost getReactNativeHost() { 
     return mReactNativeHost; 
    } 
} 

Мои реагировать родной версия: 0.36.1

tnx много

+0

Можете ли вы использовать Android Studio для просмотра журналов? вы можете получить более подробную трассировку стека ошибок. –

ответ

0

Вы не должны редактировать MainActivity.java только MainApplication.java.

Чтобы решить эту проблему:

  1. MainActivity.java по умолчанию

  2. Вы должны настроить strings.xml. Этот файл находится в android\app\src\main\res\values\strings.xml. Запишите эту строку внутри тега <resources>.

    <string name="facebook_app_id">IDFACEBOOKAPP</string>

    Поместите свой facebook идентификатор приложения внутри.

Смежные вопросы