sdkinitialize loginbutton compile android facebook facebook-android-sdk deprecated

android - loginbutton - FacebookSdk.sdkInitialize(Context) está en desuso



facebook sdk android login (4)

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 de Inicio rápido para inicia sesión con tu 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 aplicaciones

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 el código pegado en el estudio de Android, parece que todos los métodos de 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 usar?


De la documentación sobre la actualización de SDK:

El SDK de Facebook ahora se inicializa automáticamente al iniciar la aplicación. Si está utilizando el SDK de Facebook en el proceso principal y no necesita una devolución de llamada al finalizar la inicialización del SDK, ahora puede eliminar llamadas a FacebookSDK.sdkInitialize. Si necesita una devolución de llamada, debe invocarla manualmente en su código.

Consulte: https://developers.facebook.com/docs/android/upgrading-4x

ACTUALIZAR

En SDK 4.22, el title , la description , el caption y el campo de image de FBSDKShareLinkContent están en desuso. Considere eliminarlos del uso.


Entonces, en lugar de llamar a los métodos obsoletos, puede llamar a AppEventsLogger.activateApp(Application) dentro de AppEventsLogger.activateApp(Application) su clase de aplicación

public class MyApplication extends Application{ @Override public void onCreate() { super.onCreate(); AppEventsLogger.activateApp(getApplication()); } }


Tuve el mismo problema y así es como lo resolví: ponga esta línea de código en su archivo de manifiesto

<application android:label="@string/app_name" ...> ... <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/> ... </application>

https://developers.facebook.com/docs/android/getting-started Gracias


FacebookSdk.sdkInitialize(getApplicationContext());

Este método está en desuso, así que simplemente elimine esta línea de código en su clase. porque de acuerdo con el último Facebook, ahora no necesitamos inicializar el SDK manualmente, se inicializa solo.