Pertanyaan Umum & Pemecahan Masalah Facebook SDK untuk Android

Pertanyaan Umum

Untuk Android 11, Anda dapat menambahkan blok queries berikut ke dalam AndroidMainfest.xml proyek untuk memecahkan masalahnya:

<manifest package="com.example.app">
    <queries>
        <provider android:authorities="com.facebook.katana.provider.PlatformProvider" />
    </queries>
    ...
</manifest>

Anda dapat menggunakan satu ID aplikasi Facebook dalam beberapa aplikasi Android. Cukup gunakan ID aplikasi yang sama dalam aplikasi lain untuk masuk, berbagi, dan lain-lain.

Untuk tautan dalam dan membuka aplikasi melalui pemberitahuan dan cara lain, kami hanya mendukung satu paket nama/kombinasi nama kelas.

Jika Anda menginginkan dukungan multi aplikasi untuk tautan dalam, lihat Tautan Aplikasi.

Anda dapat menimpa string di SDK Facebook untuk Android dengan memberikan terjemahan file strings.xml sendiri untuk lokal yang diinginkan.

File strings.xml file di direktori facebook/res/values/ berisi semua string yang menggunakan SDK. Nama sumber informasi string harus mudah dipahami.

Untuk informasi selengkapnya, lihat Pedoman Pengembang Android: Melokalkan dengan Sumber Informasi.

Setiap rilis SDK Facebook untuk Android dengan dialog Bagikan native juga menyertakan APK untuk aplikasi Facebook.

APK ini berada di unduhan SDK hingga rilis 3.14.1. Setelah ini APK akan jadi unduhan terpisah. Anda dapat menemukan APK di [halaman Unduhan] kami (/docs/android/downloads).

Cukup pasang APK Facebook di emulator Android atau perangkat Anda dan uji dialog Bagikan native dari aplikasi.

Biasanya, pustaka Android dapat menggunakan BuildConfig.DEBUG untuk menentukan apakah aplikasi berada dalam mode debug. Namun, karena adanya bug di Gradle, Pustaka Android selalu dibuat dengan menetapkan DEBUG ke salah. Sebagai solusi, terdapat metode FacebookSdk.setIsDebugEnabled(boolean) sehingga Anda dapat menetapkan mode debug secara langsung dari aplikasi. Tindakan ini memungkinkan masuk debug dari SDK.

Anda juga dapat menetapkan perilaku masuk dengan FacebookSdk.addLoggingBehavior(LogginBehavior) untuk memungkinkan masuk dari berbagai kategori pesan. Lihat Referensi SDK Android, Perilaku Masuk.

Dialog Bagikan membuat callback ke dalam onSuccess dan onCancel berdasarkan tindakan pengguna.

  • onSuccess ketika pengguna berhasil membagikan. Selain itu, juga akan ada postId di kelas Sharer.Result jika pengguna memberikan izin publish_actions pada aplikasi. Apabila pengguna tidak masuk dengan Facebook Login, metode ini juga dibutuhkan jika pengguna mengeklik Cancel.
  • onCancel ketika seseorang mengeklik tombol X dialog bagikan atau jika mereka sudah masuk dengan Facebook Login dan mengeklik Cancel.

Pemecahan Masalah

Ketika Anda meminta izin menerbitkan, Anda mungkin mengalami kesalahan:

  • "Sesi: upaya sudah dilakukan untuk meminta izin baru sesi yang permintaannya menunggu persetujuan" atau
  • "Berupaya untuk mengizinkan ketika permintaan menunggu persetujuan"

Pesan kesalahan ini berarti bahwa aplikasi Anda mencoba meminta izin baru sebelum permintaan sebelumnya selesai. Semua permintaan izin bersifat tidak sinkron, dan Anda tidak dapat meminta izin baru hingga permintaan sebelumnya selesai.

Lihat aplikasi sampel kami yang diberikan bersama SDK seperti Scrumptious atau Hello Facebook untuk mengetahui cara meminta izin baru dalam beberapa langkah.

Jika tidak ada kesalahan dalam catatan, kemungkinan penyebabnya adalah permintaan tidak pernah dieksekusi. Untuk menjalankan GraphRequest, panggil metode executeAsync.

Untuk masuk atau menggunakan dialog Bagikan native, Anda harus memberi tahu Facebook tentang kunci yang Anda gunakan untuk masuk ke aplikasi.

Ini adalah hash kunci yaitu hash kunci SHA-1 yang digunakan untuk masuk ke aplikasi Anda. Biasanya minimal terdapat dua kunci berbeda yang digunakan, satu untuk pengembangan dan debug, dan satu untuk rilis. Verifikasi bahwa kedua nilai sudah ditambahkan di halaman pengaturan aplikasi Anda.

Untuk informasi selengkapnya, lihat Memulai SDK Android - Membuat Hash Kunci Pengembangan.

Penyebab paling umum adalah Anda tidak menyiapkan ContentProvider di AndroidManifest.xml. Pastikan Anda menambahkannya ke file AndroidManifest.xml dengan ID aplikasi. Lihat Membagikan di Android - Prasyarat.