web-dev-qa-db-fra.com

FacebookSdk.sdkInitialize (Context) est obsolète

J'utilise facebook-Android-sdk-4.19.0 dans Android Studio et j'ai suivi le guide de démarrage rapide de Facebook à l'adresse https://developers.facebook.com/docs/Android/getting -started (Cliquez sur le bouton Démarrage rapide pour vous connecter avec votre propre compte facebook). Dans le guide, il est recommandé de copier et coller le code suivant dans l'extrait pour suivre les journaux d'applications.

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);
    }
}

Toutefois, lorsque je copie le code collé dans Android studio, il semble que toutes les méthodes FacebookSdk.sdkInitialize () soient obsolètes. La documentation ici https://developers.facebook.com/docs/reference/Android/current/class/FacebookSdk/ ne dit rien sur la méthode à utiliser pour initialiser le sdk au lieu de sdkInitialize (). Quelle méthode devrais-je utiliser?

91

Dans la documentation sur la mise à niveau du SDK:

Le SDK de Facebook est maintenant auto-initialisé au démarrage de l'application. Si vous utilisez le SDK Facebook dans le processus principal et que vous n'avez pas besoin d'un rappel à la fin de l'initialisation du SDK, vous pouvez maintenant supprimer les appels à FacebookSDK.sdkInitialize. Si vous avez besoin d'un rappel, vous devez l'invoquer manuellement dans votre code.

Voir: https://developers.facebook.com/docs/Android/upgrading-4x

UPDATE

Dans le SDK 4.22, les champs title, description, caption et image de FBSDKShareLinkContent sont obsolètes. Envisagez de les retirer de l'utilisation.

122
Yupi
FacebookSdk.sdkInitialize(getApplicationContext()); 

Cette méthode est obsolète, supprimez simplement cette ligne de code dans votre classe. Parce que selon la dernière version de Facebook, nous n'avons plus besoin d'initialiser manuellement le SDK, celui-ci est initialisé tout seul.

12
VaibhavBhosale

Donc, au lieu d'appeler les méthodes obsolètes, vous pouvez appeler AppEventsLogger.activateApp(Application) dans la classe onCreate () de votre classe d'application

public class MyApplication extends Application{

    @Override
    public void onCreate() {
        super.onCreate();
        AppEventsLogger.activateApp(getApplication());
    }
}
4
Rakesh Yadav