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 connectez-vous avec votre propre compte Facebook). Dans le guide, il est conseillé de copier et coller le code suivant dans l'extrait de code pour suivre les journaux d'application
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);
}
}
Cependant, lorsque je copie-collé le code dans Android Studio, il semble que toutes les méthodes FacebookSdk.sdkInitialize () sont 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 dois-je utiliser?
Réponses:
À partir de la documentation sur la mise à niveau du SDK:
Reportez-vous à: https://developers.facebook.com/docs/android/upgrading-4x
METTRE À JOUR
Dans le SDK 4.22
title
, les champsdescription
,caption
etimage
deFBSDKShareLinkContent
sont obsolètes. Envisagez de les supprimer de l'utilisation.la source
"on Application start"
sans avoir besoin d'ajouter quoi que ce soit dansApplication.onCreate()
??Cette méthode est obsolète, supprimez simplement cette ligne de code dans votre classe. car selon le dernier Facebook, nous n'avons plus besoin d'initialiser manuellement le SDK, il s'initialise par lui-même.
la source
Donc, au lieu d'appeler les méthodes obsolètes, vous pouvez appeler à l'
AppEventsLogger.activateApp(Application)
intérieur de onCreate () de votre classe d'applicationla source
public static void activateApp(Context context)
est déconseillé. Il suggère d'utiliser ceci . Pour cela, j'ai remplacéMainActivity.this
pargetApplication()
.MyApplication.this
est également le mêmeApplication
objet. Puis-je vous demander quel est le besoin de le remplacergetApplication()
? J'utilise simplementthis
(qui est aussi le même queMyApplication.this
) et il est reçu commeApplication
Mon exigence était de désactiver autoInit au lancement de l'application et de l'initialiser à partir de la méthode onCreate d'Activity. AutoInit avant le lancement de l'application faisait que mon application Flutter mettait du temps à démarrer sur des connexions réseau lentes.
Désactiver AutoInit du manifeste
Initialiser Fb sdk dans la méthode onCreate de l'activité
la source
FacebookSdk.sdkInitialize(getApplicationContext());
Pas besoin de cette méthode, comme le dit le document Facebook: cette fonction initialise le SDK Facebook est appelée automatiquement au démarrage de l'application si les entrées appropriées sont répertoriées dans le manifeste Android, telles que l'identifiant de l'application Facebook. La journalisation automatique des événements depuis 'activateApp' peut être contrôlée via le paramètre de manifeste 'com.facebook.sdk.AutoLogAppEventsEnabled'.
la source