Saya menggunakan facebook-android-sdk-4.19.0 di Android Studio dan saya mengikuti panduan mulai cepat Facebook di https://developers.facebook.com/docs/android/getting-started (Klik tombol Quick Start untuk masuk dengan akun facebook Anda sendiri). Dalam panduan, diperintahkan untuk menyalin & menempel kode berikut di cuplikan untuk melacak log aplikasi
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);
}
}
Namun, saat saya menyalin kode yang ditempelkan di android studio, tampaknya semua metode FacebookSdk.sdkInitialize () tidak digunakan lagi. Dokumentasi di sini https://developers.facebook.com/docs/reference/android/current/class/FacebookSdk/ tidak memberi tahu apa pun tentang metode yang akan digunakan untuk menginisialisasi sdk alih-alih sdkInitialize (). Metode apa yang harus saya gunakan?
Jawaban:
Dari dokumentasi tentang meningkatkan SDK:
Lihat: https://developers.facebook.com/docs/android/upgrading-4x
MEMPERBARUI
Dalam SDK 4.22
title
,description
,caption
danimage
bidangFBSDKShareLinkContent
yang usang. Pertimbangkan untuk menghapusnya dari penggunaan.sumber
"on Application start"
tanpa perlu menambahkan apapunApplication.onCreate()
??Metode ini sudah usang, jadi cukup hapus baris kode ini di kelas Anda. karena menurut Facebook terbaru kita sekarang tidak perlu menginisialisasi SDK secara manual, itu akan menginisialisasi dengan sendirinya.
sumber
Jadi, alih-alih memanggil metode yang tidak digunakan lagi, Anda bisa memanggil
AppEventsLogger.activateApp(Application)
di dalam onCreate () kelas aplikasi Anda.sumber
public static void activateApp(Context context)
sudah usang. Ini menyarankan untuk menggunakan ini . Untuk itu saya gantiMainActivity.this
dengangetApplication()
.MyApplication.this
jugaApplication
objek yang sama . Bolehkah saya bertanya apa perlunya menggantinyagetApplication()
? Saya hanya menggunakanthis
(yang juga sama denganMyApplication.this
) dan diterima sebagaiApplication
Persyaratan saya adalah menonaktifkan autoInit saat peluncuran aplikasi dan menginisialisasinya dari metode onCreate Aktivitas. AutoInit sebelum peluncuran aplikasi menyebabkan aplikasi flutter saya membutuhkan waktu untuk memulai koneksi jaringan yang lambat.
Nonaktifkan AutoInit dari manifes
Inisialisasi sdk Fb dalam metode onCreate aktivitas
sumber
FacebookSdk.sdkInitialize(getApplicationContext());
Tidak perlu metode ini karena dokumen Facebook mengatakan: Fungsi ini menginisialisasi Facebook SDK dipanggil secara otomatis saat aplikasi dimulai jika entri yang tepat terdaftar di AndroidManifest, seperti id aplikasi facebook. Pencatatan peristiwa otomatis dari 'ActivApp' dapat dikontrol melalui setelan manifes 'com.facebook.sdk.AutoLogAppEventsEnabled'.
sumber