Estoy usando facebook-android-sdk-4.19.0 en Android Studio y seguí la guía de inicio rápido de Facebook en https://developers.facebook.com/docs/android/getting-started (haga clic en el botón Inicio rápido para inicie sesión con su propia cuenta de Facebook). En la guía, se le dice que copie y pegue el siguiente código en el fragmento para rastrear los registros de la aplicación
import com.facebook.FacebookSdk;
import com.facebook.appevents.AppEventsLogger;
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
FacebookSdk.sdkInitialize(getApplicationContext());
AppEventsLogger.activateApp(this);
}
}
Sin embargo, cuando copio y pegué el código en Android Studio, parece que todos los métodos FacebookSdk.sdkInitialize () están en desuso. La documentación aquí https://developers.facebook.com/docs/reference/android/current/class/FacebookSdk/ no dice nada sobre qué método usar para inicializar el sdk en lugar de sdkInitialize (). ¿Qué método debo utilizar?
Respuestas:
De la documentación sobre la actualización del SDK:
Consulte: https://developers.facebook.com/docs/android/upgrading-4x
ACTUALIZAR
En el SDK 4.22
title
,description
,caption
y elimage
campo de losFBSDKShareLinkContent
están en desuso. Considere quitarlos del uso.fuente
"on Application start"
sin la necesidad de agregar nadaApplication.onCreate()
?Este método está en desuso, así que simplemente elimine esta línea de código en su clase. porque de acuerdo con la última versión de Facebook, ahora no necesitamos inicializar el SDK manualmente, se inicializa solo.
fuente
Entonces, en lugar de llamar a los métodos obsoletos, puede llamar
AppEventsLogger.activateApp(Application)
dentro de onCreate () de su clase de aplicaciónfuente
public static void activateApp(Context context)
está en desuso. Sugiere usar esto . Por eso reemplacéMainActivity.this
congetApplication()
.MyApplication.this
también es el mismoApplication
objeto. ¿Puedo preguntar cuál es la necesidad de reemplazarlogetApplication()
? Simplemente usothis
(que también es lo mismo queMyApplication.this
) y se recibe comoApplication
Mi requisito era deshabilitar autoInit al iniciar la aplicación e inicializarlo desde el método onCreate de Activity. AutoInit antes del lanzamiento de la aplicación hacía que mi aplicación Flutter tardara en iniciarse en conexiones de red lentas.
Deshabilitar AutoInit del manifiesto
Inicializar Fb sdk en el método onCreate de la actividad
fuente
FacebookSdk.sdkInitialize(getApplicationContext());
No es necesario este método, como dice el documento de Facebook: esta función inicializa el SDK de Facebook y se llama automáticamente al iniciar la aplicación si las entradas adecuadas se enumeran en el AndroidManifest, como el ID de la aplicación de Facebook. El registro automático de eventos desde 'enableApp' se puede controlar a través de la configuración de manifiesto 'com.facebook.sdk.AutoLogAppEventsEnabled'.
fuente