Dengan Facebook SDK untuk Android, orang dapat masuk ke aplikasi Anda dengan Facebook Login. Saat orang masuk ke aplikasi Anda dengan Facebook, mereka dapat memberi izin ke aplikasi Anda sehingga Anda dapat mengambil informasi atau melakukan tindakan di Facebook atas nama mereka.
Untuk contoh proyek yang menunjukkan cara mengintegrasikan Facebook Login ke aplikasi Android, lihat FBLoginSample di GitHub.
Ikuti langkah-langkah di bawah untuk menambahkan Facebook Login ke aplikasi Anda.
buildscript { repositories {}}
: dependencies{}
untuk membuat dependensi ke versi terbaru dari SDK Facebook Login: Jika Anda menggunakan 5.15 atau versi lebih baru Facebook SDK untuk Android, Anda tidak perlu menambahkan aktivitas atau filter niat untuk Tab Khusus Chrome. Fungsi ini disertakan dalam SDK.
Setelah Anda mengintegrasikan Facebook Login, Peristiwa Aplikasi tertentu dicatat dan dikumpulkan secara otomatis untuk Pengelola Peristiwa, kecuali Anda menonaktifkan Pencatatan Peristiwa Aplikasi Otomatis. Untuk detail tentang informasi apa saja yang dikumpulkan dan cara menonaktifkan pencatatan peristiwa aplikasi otomatis, lihat Pencatatan Peristiwa Aplikasi Otomatis.
FacebookActivity
ke manifes Android Anda. /app/res/values/strings.xml
Anda.string
dengan namafacebook_app_id
, fb_login_protocol_scheme
, dan facebook_client_token
, lalu atur nilai untuk ID Aplikasi dan Token Klien Anda. Contoh: jika ID aplikasi Anda adalah 1234
dan token klien Anda adalah 56789
, kode Anda terlihat seperti berikut ini: /app/manifest/AndroidManifest.xml
Anda. meta-data
ke elemen application
untuk ID aplikasi dan token klien Anda: application
Anda: <activity android:name="com.facebook.FacebookActivity" android:configChanges= "keyboard|keyboardHidden|screenLayout|screenSize|orientation" android:label="@string/app_name" /> <activity android:name="com.facebook.CustomTabActivity" android:exported="true"> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="@string/fb_login_protocol_scheme" /> </intent-filter> </activity>
uses-permission
ke manifes setelah elemen application
: uses-permission
ke manifes setelah elemen application
: Anda dapat langsung mengatur pencatatan otomatis Peristiwa Aplikasi ke “true” atau “false” dengan mengatur tanda AutoLogAppEventsEnabled
di file AndroidManifest.xml
.
LoginButton
dari SDK . LoginButton
adalah elemen UI yang membungkus fungsi yang tersedia di LoginManager
. Ketika seseorang mengeklik tombol, login dimulai dengan izin yang diatur di LoginManager
Facebook Login memerlukan izin public_profile lanjutan agar bisa digunakan oleh pengguna eksternal. Tombol mengikuti status login, dan menampilkan teks yang benar berdasarkan status autentikasi seseorang. CallbackManager.Factory.create
. Login button
dan mendaftarkan panggilan balik di metode onCreate()
atau onCreateView()
Anda. Properti yang dapat Anda sesuaikan meliputi LoginBehavior
, DefaultAudience
, ToolTipPopup.Style
, dan izin pada LoginButton
. Contoh: private static final String EMAIL = "email"; loginButton = (LoginButton) findViewById(R.id.login_button); loginButton.setReadPermissions(Arrays.asList(EMAIL)); // If you are using in a fragment, call loginButton.setFragment(this); // Callback registration loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() { @Override public void onSuccess(LoginResult loginResult) { // App code } @Override public void onCancel() { // App code } @Override public void onError(FacebookException exception) { // App code } });
LoginManager
atau LoginButton
. Jika Anda mendaftarkan panggilan balik dengan LoginButton
, tidak perlu mendaftarkan panggilan balik di pengelola Login. onCreate()
fragmen atau aktivitas Anda: callbackManager = CallbackManager.Factory.create(); LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>() { @Override public void onSuccess(LoginResult loginResult) { // App code } @Override public void onCancel() { // App code } @Override public void onError(FacebookException exception) { // App code } });
LoginResult
memiliki AccessToken
yang baru, dan izin terbaru yang diberikan atau ditolak. registerCallback
agar berhasil login, Anda dapat memilih untuk mengikuti perubahan token akses saat ini dengan kelas AccessTokenTracker
yang diuraikan di bawah. onActivityResult
Anda, panggil callbackManager.onActivityResult
untuk meneruskan hasil login ke LoginManager
melalui callbackManager
. Jika Anda menggunakan aktivitas atau fragmen AndroidX, Anda tidak perlu mengganti onActivityResult
.
onActivityResult
ke callbackManager
. LoginManager
mengatur AccessToken
dan Profile
terkini untuk orang tersebut. FacebookSDK menyimpan data ini dalam preferensi bersama dan mengaturnya pada awal sesi. Anda dapat melihat apakah seseorang sudah masuk dengan memeriksa AccessToken.getCurrentAccessToken()
dan Profile.getCurrentProfile()
. AccessToken.getCurrentAccessToken
dengan SDK dari cache atau dari bookmark aplikasi saat aplikasi Anda dibuka dari awal. Anda harus memeriksa validitasnya di metode onCreate
Activity
Anda:queries
di file /app/manifest/AndroidManifest.xml
Anda. Kode berikut ini menunjukkan cara mengaktifkan login ekspres. LoginManager.getInstance().retrieveLoginStatus(this, new LoginStatusCallback() { @Override public void onCompleted(AccessToken accessToken) { // User was previously logged in, can log them in directly here. // If this callback is called, a popup notification appears that says // "Logged in as <User Name>" } @Override public void onFailure() { // No access token could be retrieved for the user } @Override public void onError(Exception exception) { // An error occurred } });