Memulai SDK Android

SDK Facebook untuk Android merupakan cara termudah untuk mengintegrasikan aplikasi Android Anda dengan Facebook. SDK Facebook untuk Android mengaktifkan:

Anda memiliki dua cara untuk menyiapkan aplikasi Anda untuk menggunakan SDK Facebook:

  • Dengan menggunakan Mulai Cepat.
  • Dengan menyiapkan proyek Anda dengan SDK Facebook.

Tutorial Singkat

Untuk mendapatkan ID Aplikasi Facebook, konfigurasikan pengaturan aplikasi Anda, dan impor SDK Facebook, klik tombol di bawah dan ikut petunjuk online.

Mulai Cepat untuk Android

 

Panduan terkait:

Penyiapan Android Studio

Untuk menggunakan SDK Facebook dalam sebuah proyek, tambahkan SDK Facebook sebagai build dependency dan lakukan impor.

1. Buka Android Studio | Proyek Baru | SDK Minimum

2. Pilih API 15: Android 4.0.3 atau yang lebih baru dan buat proyek baru Anda.

3. Setelah membuat proyek baru, buka your_app | build.gradle

4. Tambahkan hal berikut ke bagian buildscript { repositories {}} dari file build.gradle (Project):

mavenCentral() 

5. Tambahkan hal berikut ke bagian dependencies {} dari file build.gradle (module: app) Anda untuk mengompilasi SDK Facebook versi terbaru:

Objek ini harus dihapus. Hubungi Arsenio Locsin untuk informasi selengkapnya.

Saat Anda menggunakan SDK Facebook, peristiwa dalam aplikasi Anda secara otomatis dibuat catatan log dan dikumpulkan untuk Facebook Analytics kecuali Anda menonaktifkan pembuatan log peristiwa otomatis. Untuk detail mengenai informasi apa yang dikumpulkan dan cara menonaktifkan pembuatan log peristiwa otomatis, lihat Pencatatan Log Peristiwa Aplikasi Otomatis.

6. Buat proyek Anda. Sekarang Anda dapat mengimpor com.facebook.FacebookSdk ke dalam aplikasi.

Tambahkan ID Aplikasi Facebook

Selanjutnya tambahkan ID Aplikasi Facebook ke file string proyek dan perbarui manifest Anda:

1. Buka file strings.xml Anda. Path contoh: /app/src/main/res/values/strings.xml.

2. Tambah string baru dengan nama facebook_app_id dan nilai seperti ID Aplikasi Facebook Anda

3. Buka AndroidManifest.xml

4. Tambahkan elemen uses-permission ke manifest:

<uses-permission android:name="android.permission.INTERNET"/>

5. Tambahkan elemen meta-data ke elemen application:

<application android:label="@string/app_name" ...>
    ...
    <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
    ...
</application>

Mengirim Gambar atau Video

Jika Anda membagikan tautan, gambar, atau video melalui Facebook untuk aplikasi Android, Anda juga harus menyatakan FacebookContentProvider di manifest.

Tambahkan ID aplikasi Anda di akhir nilai authorities. Misalnya jika ID aplikasi Facebook Anda adalah 1234, pernyataannya seperti:

<provider android:authorities="com.facebook.app.FacebookContentProvider1234"
          android:name="com.facebook.FacebookContentProvider"
          android:exported="true" />

Menggunakan SDK dengan ProGuard

Anda tidak harus melakukan langkah tambahan menggunakan ProGuard untuk SDK Android Facebook. Untuk petunjuk tentang Proguard, lihat Situs Pengembang Android, Shrink Your Code and Resources.

Menjalankan Aplikasi Sampel

Sampel berikut disertakan di dalam SDK:

  • HelloFacebookSample - Tampilkan akses profil, pembaruan status, dan foto yang diunggah
  • RPSSample - Gunakan Dialog Bagikan Native, penerbitan Graf Terbuka, picker, undangan, dan tautan dalam.
  • Scrumptious - Masuk, permintaan, picker, unggahan gambar, dan penerbitan Graf Terbuka.

Anda dapat bereksperimen dengan sampel, dengan cara mengimpor SDK ke dalam proyek Android Studio.

Sampel memiliki ketergantungan proyek tetapi tidak memiliki ketergantungan penyimpanan terpusat melalui maven central atau jcenter. Hal ini berarti bahwa ketika salinan lokal SDK mendapatkan pemberitahuan, sampel akan mencerminkan perubahannya.

Untuk menjalankan sampel secara cepat, Anda dapat membuat hash kunci untuk lingkungan pengembangan. Tambahkan hash kunci ini ke profil pengembang Facebook untuk aplikasi sampel. Keytool, untuk membuat hash kunci, disertakan dengan Java SE Development Kit (JDK) yang sudah Anda pasang sebagai bagian dari penyiapan lingkungan pengembangan Anda. OpenSSL siap diunduh dari OpenSSL.

Di OS X, jalankan:

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

Di Windows, jalankan:

keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl
base64

Operasi ini menghasilkan 28 string karakter.

Buka situs Pengembang Facebook. Masuk ke Facebook dan, dengan menggunakan menu pilihan di kanan atas, buka Pengaturan Pengembang:

Di pengaturan pengembang, pilih Aplikasi Sampel dari menu, dan tambah serta simpan hash kunci ke dalam profil Anda:

Anda dapat menambahkan beberapa hash kunci jika Anda mengembangkan dengan beberapa mesin.

Sekarang Anda dapat mengompilasi dan menjalankan semua sampel - termasuk sampel yang menggunakan Facebook Login.

Buat Hash Kunci Pengembangan

Facebook menggunakan hash kunci untuk mengautentikasi interaksi antara aplikasi Anda dan aplikasi Facebook. Jika Anda menjalankan aplikasi yang menggunakan Facebook Login, maka Anda harus menambahkan hash kunci pengembangan Android Anda ke profil pengembang Facebook Anda.

Untuk versi aplikasi yang Anda rilis, Anda juga harus membuat dan menetapkan Hash Kunci Rilis.

Pada OS X atau Windows Anda dapat memperoleh hash kunci dengan membuatnya atau dengan menggunakan nilai yang dihasilkan oleh Settings.getApplicationSignature(Context). Untuk petunjuk, baca Menjalankan Aplikasi Sampel .


Langkah Berikutnya

Setelah Anda memasang SDK Facebook untuk Android dan mengonfigurasi ID Aplikasi Facebook, Anda dapat melihat:


Mengatur Hash Kunci Rilis

Untuk mengautentikasi pertukaran informasi antara aplikasi Anda dan Facebook, Anda harus membuat hash kunci rilis dan menambahkan hash kunci rilis ini ke pengaturan Android di dalam ID Aplikasi Anda. Tanpa hash kunci rilis ini, integrasi Facebook Anda tidak dapat berfungsi dengan benar ketika Anda merilis aplikasi ke toko.

Pada langkah sebelumnya, Anda harus memperbarui Pengaturan Pengembang Facebook dengan hash kunci untuk lingkungan pengembangan.

Pada saat menerbitkan aplikasi, hash kunci biasanya ditandai dengan tanda tangan berbeda untuk lingkungan pengembangan Anda. Oleh karena itu, Anda ingin memastikan membuat Hash Kunci Rilis dan menambahkannya ke pengaturan Android untuk ID Aplikasi Facebook.

Untuk membuat hash kunci rilis, jalankan perintah berikut di Mac atau Windows yang menggantikan alias kunci rilis dan path ke penyimpanan kunci Anda. Di OS X, jalankan:

keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64

Di Windows, gunakan:

keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64

Pastikan Anda menggunakan kata sandi yang Anda atur pada saat pertama kali membuat kunci rilis.

Perintah ini harus menghasilkan 28 string karakter. Salin dan tempelkan Hash Kunci Rilis ini ke dalam pengaturan ID Aplikasi Facebook Android Anda.

Anda juga harus memastikan bahwa pengaturan ID Aplikasi Facebook Android berisi nama paket yang benar dan kelas aktivitas utama untuk paket Android Anda.


Menggunakan SDK Facebook dengan Maven

Anda dapat menyatakan dependency Maven dengan SDK Android versi terbaru:

<dependency>
  <groupId>com.facebook.android</groupId>
  <artifactId>facebook-android-sdk</artifactId>
  <version>PUT_LATEST_VERSION_HERE</version>
</dependency> 

Pemecahan Masalah Aplikasi Sampel

Jika Anda mengalami kesulitan menjalankan aplikasi sampel, masalah tersebut mungkin terkait dengan hash kunci. Anda mungkin melihat salah satu skenario berikut:

  • Dialog Masuk native muncul, tetapi setelah menerima izin, Anda masih dalam status keluar. Logcat juga berisi pengecualian:
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
  • Dialog Masuk non-native muncul dengan pesan kesalahan: “..Konfigurasi Aplikasi salah untuk facebook login...”.

Periksa hash kunci dan Anda dapat memastikan telah menggunakan hash kunci yang benar. I

Anda juga dapat memodifikasi kode sampel secara manual untuk menggunakan hash kunci yang benar. Misalnya di kelas HelloFacebookSampleActivity buat perubahan sementara untuk 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 ulang sampel. Periksa output logcat untuk pesan yang serupa dengan sampel ini:

12-20 10:47:37.747: D/KeyHash:(936): 478uEnKQV+fMQT8Dy4AKvHkYibo=

Simpan hash kunci di profil pengembang. Jalankan ulang sampel dan pastikan Anda berhasil masuk.