Dokumentasi ini menjelaskan cara mulai mengintegrasikan aplikasi Android Anda dengan Facebook dengan menggunakan Facebook SDK untuk Android. Versi Facebook SDK untuk Android saat ini adalah versi 12.0.0 dan memerlukan Android API 15. Untuk informasi selengkapnya tentang versi dan fitur, lihat Facebook SDK untuk Android.
Saat Anda menggunakan SDK Facebook, beberapa peristiwa di dalam aplikasi Anda secara otomatis akan dicatat dalam log dan dikumpulkan untuk Facebook Analytics, kecuali jika Anda menonaktifkan pencatatan peristiwa otomatis. Untuk informasi detail mengenai jenis informasi yang dikumpulkan dan cara menonaktifkan pencatatan log peristiwa otomatis, buka Pencatatan Log Peristiwa Aplikasi Otomatis.
Anda dapat menyiapkan aplikasi untuk menggunakan Facebook SDK untuk Android dengan cara berikut:
Untuk mendapatkan ID Aplikasi Facebook, konfigurasikan pengaturan aplikasi Anda, dan impor Facebook SDK untuk Android, klik tombol di bawah ini dan ikuti petunjuknya.
Mulai Cepat untuk AndroidMulai versi 13.0.0, setiap aplikasi yang Anda buat dengan menggunakan Facebook SDK untuk Android secara otomatis menambahkan Izin ID Iklan ke aplikasi Anda. Untuk informasi selengkapnya, lihat ID Iklan - Bantuan Konsol Putar.
Dalam beberapa kasus, Anda mungkin ingin menolak menyertakan izin ID Iklan di aplikasi Anda. Contoh: jika pelanggan untuk aplikasi Anda adalah anak-anak dan keluarga, Izin ID Iklan mungkin tidak relevan. Untuk mengecualikan Izin ID Iklan dari aplikasi Anda, ikuti petunjuk di dokumentasi ini.
Untuk menggunakan Facebook SDK dalam proyek Android Studio, tambahkan SDK sebagai dependensi build dan impor SDK.
Buka Android Studio | New Project | Minimum SDK.
Pilih API 15: Android 4.0.3 (IceCreamSandwich) atau lebih tinggi dan buat proyek baru Anda.
Buka file Gradle Scripts | build.gradle (Project: <your_project>)
dan tambahkan perintah berikut:
mavenCentral()
Simpan dan tutup file build.gradle (Project: <your_project>)
.
Buka file Gradle Scripts | build.gradle (Module: app)
dan tambahkan perintah berikut ke bagian dependencies
:
implementation 'com.facebook.android:facebook-android-sdk:latest.release'
Simpan dan tutup file build.gradle (Module: app)
.
Buat proyek Anda. Sekarang Anda dapat mengimpor com.facebook.FacebookSdk
ke aplikasi Anda.
Tambahkan ID Aplikasi dan Token Klien ke file string proyek Anda dan perbarui file manifes. Lakukan hal berikut:
Buka file /app/res/values/strings.xml
di proyek aplikasi Anda.
Tambahkan elemen string
dengan nama facebook_app_id
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:
<string name="facebook_app_id">1234</string><string name="facebook_client_token">56789</string>
Buka file /app/manifests/AndroidManifest.xml
di proyek aplikasi Anda.
Tambahkan elemen meta-data
ke elemen application
untuk ID aplikasi dan token klien Anda:
<application android:label="@string/app_name" ...>
...
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/><meta-data android:name="com.facebook.sdk.ClientToken" android:value="@string/facebook_client_token"/>
...
</application>
Tambahkan elemen uses-permission
ke manifes setelah elemen application
:
<uses-permission android:name="android.permission.INTERNET"/>
(Opsional) Untuk menolak Izin ID Iklan, tambahkan elemen uses-permission
ke manifes setelah elemen application
:
<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>
Buat proyek Anda.
Jika Anda membagikan tautan, gambar, atau video dari aplikasi Anda, nyatakan otoritas FacebookContentProvider
di dalam manifes. Lakukan hal berikut:
Buka file /app/manifests/AndroidManifest.xml
di proyek aplikasi Anda.
Tambahkan elemen provider
ke manifes untuk otoritas FacebookContentProvider
. Tambahkan ID aplikasi Anda di akhir nilai authorities
. Contoh: jika ID aplikasi Anda adalah 1234
, deklarasi terlihat seperti berikut:
<provider android:authorities="com.facebook.app.FacebookContentProvider1234"
android:name="com.facebook.FacebookContentProvider"
android:exported="true" />
Buat proyek Anda.
Contoh berikut hadir bersama Facebook SDK untuk Android:
Anda dapat bereksperimen menggunakan contoh dengan cara mengimpor Facebook SDK ke proyek Android Studio. Contoh memiliki dependensi proyek daripada ketergantungan repositori pusat melalui maven central atau jcenter. Ini agar ketika salinan lokal SDK mendapatkan pembaruan, contoh akan mencerminkan perubahan tersebut.
Untuk menjalankan contoh aplikasi dengan cepat, Anda dapat membuat hash kode untuk lingkungan pengembangan. Tambahkan ini ke profil developer Facebook Anda untuk contoh aplikasi. Keytool, untuk membuat hash kode, disertakan dengan Java SE Development Kit (JDK) yang sudah Anda instal sebagai bagian dari penyiapan lingkungan pengembangan Anda. OpenSSL tersedia untuk diunduh dari OpenSSL.
Di OS X, jalankan:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
Di Windows, Anda memerlukan hal berikut:
keytool
) dari Kit Pengembangan JavaJalankan perintah berikut di prompt perintah di folder Java SDK. Ini menghasilkan string 28 karakter.
keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl base64
Buka situs Developer Facebook. Login ke Facebook, gunakan menu pilihan di sisi kanan atas untuk membuka Pengaturan Developer:
Di pengaturan developer, pilih Contoh Aplikasi dari menu, dan tambahkan dan simpan hash kode ke profil Anda:
Anda dapat menambahkan beberapa hash kode jika Anda mengembangkan dengan beberapa mesin.
Anda sekarang dapat mengompilasi dan menjalankan semua contoh - termasuk yang menggunakan Facebook Login.
Facebook menggunakan kode hash untuk mengautentikasi interaksi antara aplikasi Anda dan aplikasi Facebook. Jika Anda menjalankan aplikasi yang menggunakan Facebook Login, Anda perlu menambahkan hash kode pengembangan Android ke profil developer Facebook Anda.
Untuk versi aplikasi yang Anda rilis, Anda juga perlu membuat dan mengatur Hash Kode Rilis.
Di OS X atau Windows Anda bisa mendapatkan hash kode dengan membuatnya atau dengan menggunakan nilai yang diberikan oleh Settings.getApplicationSignature(Context)
. Untuk petunjuknya, lihat Menjalankan Contoh Aplikasi.
Untuk mengautentikasi pertukaran informasi antara aplikasi Anda dan Facebook, Anda perlu membuat hash kode rilis dan menambahkannya ke pengaturan Android dalam ID Aplikasi Facebook Anda. Tanpa hash kode rilis, integrasi Facebook Anda mungkin tidak berfungsi dengan baik saat Anda merilis aplikasi ke toko.
Pada langkah sebelumnya, Anda harus memperbarui Pengaturan Developer Facebook dengan hash kode untuk lingkungan pengembangan Anda.
Saat menerbitkan aplikasi Anda, biasanya ditandatangani dengan tanda tangan yang berbeda dengan lingkungan pengembangan Anda. Oleh karena itu, Anda ingin memastikan bahwa Anda membuat Hash Kode Rilis dan menambahkan ini ke pengaturan Android untuk ID Aplikasi Facebook.
Untuk membuat hash kode rilis, jalankan perintah berikut di Mac atau Windows dengan mengganti alias kode rilis dan jalur ke penyimpanan kode Anda.
Di Mac OS, jalankan:
keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64
Di Windows, Anda memerlukan hal berikut:
keytool
) dari Kit Pengembangan JavaJalankan perintah berikut di prompt perintah di folder Java SDK:
keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | PATH_TO_OPENSSL_LIBRARY\bin\openssl sha1 -binary | PATH_TO_OPENSSL_LIBRARY\bin\openssl base64
Pastikan Anda menggunakan kata sandi yang Anda atur pada saat pertama kali membuat kode rilis.
Perintah ini harus menghasilkan string 28 karakter. Salin dan tempelkan Hash Kode Rilis ini ke pengaturan ID Aplikasi Facebook Android Anda.
Anda juga harus memeriksa apakah pengaturan Android ID Aplikasi Facebook Anda juga berisi nama paket yang benar dan kelas aktivitas utama untuk paket Android Anda.
Anda dapat mendeklarasikan dependensi Maven dengan versi terbaru dari Facebook SDK untuk Android.
<dependency> <groupId>com.facebook.android</groupId> <artifactId>facebook-android-sdk</artifactId> <version>PUT_LATEST_VERSION_HERE</version> </dependency>
Jika Anda memiliki masalah saat menjalankan contoh aplikasi, mungkin masalahnya terkait dengan hash kode. Anda mungkin melihat salah satu skenario berikut:
12-20 10:23:24.507: W/fb4a:fb:OrcaServiceQueue(504): com.facebook.orca.protocol.base.ApiException: remote_app_id does not match stored id
Periksa hash kode Anda dan pastikan Anda menggunakan hash kode yang tepat. I
Anda juga dapat memodifikasi contoh kode secara manual untuk menggunakan hash kode yang tepat. Contoh: di kelas HelloFacebookSampleActivity
, buatlah perubahan sementara ke onCreate()
:
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Add code to print out the key hash try { PackageInfo info = getPackageManager().getPackageInfo( "com.facebook.samples.hellofacebook", PackageManager.GET_SIGNATURES); for (Signature signature : info.signatures) { MessageDigest md = MessageDigest.getInstance("SHA"); md.update(signature.toByteArray()); Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT)); } } catch (NameNotFoundException e) { } catch (NoSuchAlgorithmException e) { } ...
Simpan perubahan Anda dan jalankan kembali contoh. Periksa output logcat Anda untuk pesan yang mirip dengan ini:
12-20 10:47:37.747: D/KeyHash:(936): 478uEnKQV+fMQT8Dy4AKvHkYibo=
Simpan hash kode di profil developer Anda. Jalankan kembali contoh dan verifikasikan bahwa Anda berhasil login.