Jika Anda membutuhkan bantuan untuk Portal Facebook, buka Pusat Bantuan Portal.
Untuk memasukkan kode Facebook for Devices untuk login ke smart TV, kamera, printer, atau perangkat lain, kunjungi Halaman Facebook for Devices.
Terapkan Facebook Login untuk Perangkat untuk memungkinkan orang login ke aplikasi atau layanan Anda dengan akun Facebook. Fitur ini memungkinkan orang login ke perangkat dengan input atau kapabilitas tampilan yang terbatas, seperti smart TV, bingkai foto digital, atau perangkat Internet of Things.
Dengan login perangkat, perangkat Anda menampilkan kode alfanumerik dan meminta orang memasukkannya di halaman web di PC desktop atau smartphone-nya. Kemudian, orang yang menggunakan aplikasi atau layanan Anda dapat memberikan izin. Setelah aplikasi Anda mendapatkan izin, perangkat menerima token akses yang digunakan aplikasi untuk membuat permintaan API Graf guna mengidentifikasi orang terkait dan mendapatkan informasi untuk mempersonalisasi pengalamannya dengan perangkat.
Jika Anda membuat aplikasi TV di Apple TV, atau Android TV, atau Fire TV, Anda harus menggunakan SDK Facebook untuk tvOS atau SDK Facebook untuk Android.
Panduan ini menjelaskan integrasi manual Login Perangkat tanpa menggunakan SDK di atas.
Pedoman berikut menjelaskan cara merancang pengalaman login yang jelas, aman, dan konsisten di perangkat dan layanan.
Pertama, tentukan kapan Anda ingin meminta orang untuk login atau terhubung dengan Facebook dalam pengalaman pengguna Anda. Untuk beberapa perangkat Anda mungkin ingin melakukannya secepatnya sementara untuk perangkat lainnya mungkin agak nanti.
Untuk menjamin pengalaman pengguna yang paling mudah digunakan, konsisten, dan andal, rancanglah tombol agar terlihat semirip mungkin dengan tombol Facebook Login resmi.
Dari perspektif desain visual, ini artinya Anda harus
Jika perlu, jelaskan manfaat login. Misalnya, “cari tahu apa yang ditonton teman Anda” atau "lihat foto dari Album Facebook Anda”.
Saat seseorang mengklik ajakan-bertindak, perangkat Anda membuat panggilan ke API Facebook yang mengembalikan kode.
Di antarmuka Anda, beri tahu orang-orang bahwa mereka harus mengunjungi situs web dan memasukkan kode dengan pesan berikut, “Selanjutnya, kunjungi facebook.com/device (http://facebook.com/device) di desktop atau smartphone Anda dan masukkan kode ini”. Tampilkan kode lengkap yang Anda terima dari API Login Perangkat Facebook. Kode ini berisi 6 hingga 12 karakter.
Anda dapat menyertakan tombol Close
atau Cancel
agar orang-orang dapat membatalkan alur login perangkat. Ini akan mengembalikan mereka ke layar login awal.
Saat kode muncul di layar, perangkat Anda memeriksa API Login Perangkat untuk melihat apakah seseorang telah mengotorisasi aplikasi Anda. Setelah beberapa menit, jika mereka belum memasukkan kode, API Login Perangkat memunculkan kesalahan code_expired
. Saat perangkat Anda menerima kesalahan ini, Anda harus membatalkan alur login dan antarmuka harus menampilkan ajakan-bertindak.
Kode QR juga dapat dibuat dengan kode pengguna yang tersemat dalam URL. Caranya adalah dengan menambahkan parameter user_code
ke URL:
https://www.facebook.com/device?user_code=<USER_CODE>
Inilah alur yang dilihat orang-orang saat mereka membuka facebook.com/device di browser desktop atau seluler. Pertama, mereka melihat kolom teks untuk memasukkan kode:
Setelah memasukkan kode dan mengklik Continue
, mereka dapat memilih izin yang ingin diberikan:
Agar mengetahui bahwa proses login-nya berhasil, orang akan melihat pesan konfirmasi:
Di antarmuka perangkat Anda, pesan konfirmasi juga harus ditampilkan. Idealnya, pesan ini menunjukkan nama orang itu dan, jika memungkinkan, foto profil Facebook-nya.
Tampilkan konfirmasi ini di perangkat Anda hingga orang itu mengklik tombol Continue
. Seseorang mungkin harus memasukkan kode ke komputer atau lokasi lain, jadi dia butuh waktu untuk kembali ke perangkat Anda dan melihat konfirmasi sebelum melanjutkan.
Setelah orang itu mengklik Continue
, perangkat Anda pun dapat memberikan pengalaman hebat yang dipersonalisasi.
Orang-orang harus dapat logout dari perangkat Anda dan perangkat Anda tidak boleh menyimpan hubungannya dengan Facebook. Untuk melakukan ini, sediakan opsi Log out from Facebook
atau Disconnect from Facebook
di menu perangkat Anda.
Saat seseorang memiliki opsi ini, perangkat Anda harus menghapus token akses yang disimpan dari memorinya. Jika menyimpan token akses di database atau penyimpanan awan, Anda juga harus menghapusnya di sana. Anda tidak perlu melakukan panggilan API untuk membatalkan validasi token akses.
Setelah seseorang logout, perangkat Anda harus menampilkan ajakan-bertindak awal di Langkah 1.
Facebook Login untuk Perangkat adalah untuk perangkat yang langsung melakukan panggilan HTTP melalui internet. Berikut ini adalah panggilan API dan tanggapan yang dapat dilakukan perangkat Anda.
Muat dasbor aplikasi Anda dan ubah Produk > Facebook login > Pengaturan > Login dari Perangkat menjadi 'Ya'.
Saat seseorang mengklik ajakan-bertindak Connect to Facebook
atau Log in with Facebook
, perangkat Anda harus membuat HTTP POST ke:
POST https://graph.facebook.com/v2.6/device/login access_token=<YOUR_APP_ID|CLIENT_TOKEN> scope=<COMMA_SEPARATED_PERMISSION_NAMES> // e.g. public_profile,user_likes redirect_uri=<VALID_OAUTH_REDIRECT_URL>
Parameter scope
bersifat opsional dan harus berisi daftar yang dipisahkan koma berisi Izin Login yang disetujui untuk digunakan di Tinjauan Login.
CLIENT_TOKEN
berada di Pengaturan Aplikasi Anda -> Lanjutan, dan harus dipadukan dengan ID aplikasi Anda (dipisahkan dengan tanda pipa, |
) untuk membentuk access_token
yang lengkap.
redirect_uri
merupakan parameter opsional. Saat Anda menyediakan URL, orang itu akan dialihkan ke URL tersebut setelah berhasil menyelesaikan proses login. Ini memungkinkan Anda membuat orang itu login ke dalam situs web aplikasi Anda untuk melakukan pengelolaan akun lebih lanjut. URL tersebut haruslah URL pengalihan OAuth yang valid sebagaimana dikonfigurasi di Pengaturan Aplikasi -> Lanjutan. Tanggapannya dalam bentuk berikut:
{ "code": "92a2b2e351f2b0b3503b2de251132f47", "user_code": "A1NWZ9", "verification_uri": "https://www.facebook.com/device", "expires_in": 420, "interval": 5 }
Tanggapan ini berarti:
Perangkat Anda akan menampilkan user_code
dan meminta orang mengunjungi verification_uri
seperti facebook.com/device di PC atau smartphone-nya. Lihat Pengalaman Pengguna.
Perangkat Anda harus memeriksa API Login Perangkat untuk melihat apakah orang itu berhasil mengotorisasi aplikasi Anda. Anda harus melakukan ini pada interval
dalam tanggapan untuk panggilan Anda di Langkah 1, yaitu tiap 5 detik. Perangkat Anda akan memeriksa:
POST https://graph.facebook.com/v2.6/device/login_status access_token=<YOUR_APP_ID|CLIENT_TOKEN> code=<LONG_CODE_FROM_STEP_1> // e.g. "92a2b2e351f2b0b3503b2de251132f47"
Tanggapan terhadap panggilan API ini bergantung pada posisi seseorang dalam alur otorisasi. Anda akan menerima token akses atau objek kesalahan beserta subkode tertentu untuk parse:
Subkode kesalahan | Contoh Tanggapan | Artinya |
---|---|---|
|
| Pengguna berhasil mengotorisasi perangkat. Sekarang perangkat dapat menggunakan nilai |
|
| Pengguna belum mengotorisasi aplikasi Anda. Teruslah melakukan pemeriksaan dengan interval yang ditetapkan dalam tanggapan di Langkah 1. |
|
| Perangkat Anda terlalu sering memeriksa. Lambatkan pemeriksaan sesuai dengan interval yang ditetapkan di panggilan API pertama. |
|
| Kode perangkat sudah kedaluwarsa. Batalkan alur login perangkat dan bawa pengguna kembali ke layar awal. |
Saat Anda menerima token akses, berarti orang itu berhasil mengotorisasi permohonan Anda. Anda harus mempertahankan token akses ini di perangkat.
Agar orang mengetahui bahwa proses login-nya berhasil, perangkat Anda harus menampilkan namanya dan jika tersedia, foto profil hingga orang itu mengklik Continue
. Untuk mendapat nama dan foto profil orang itu, perangkat Anda harus melakukan panggilan API Graf standar:
GET https://graph.facebook.com/v2.3/me? fields=name,picture& access_token=<USER_ACCESS_TOKEN>
Anda mendapat tanggapan dalam bentuk:
{ "name": "John Doe", "picture": { "data": { "is_silhouette": false, "url": "https://fbcdn.akamaihd.net/hmac...ile.jpg" } }, "id": "2023462875238472" }
Tampilkan nama dan foto profil orang itu hingga dia mengklik Continue
di perangkat Anda.
Perangkat Anda harus mempertahankan token akses untuk membuat permintaan lain ke API Graf.
Token akses login perangkat berlaku hingga 60 hari tetapi dapat dibatalkan dalam beberapa kemungkinan. Misalnya, saat seseorang mengubah kata sandi Facebooknya, token aksesnya menjadi tidak valid.
Jika tokennya tidak valid, perangkat Anda harus menghapus token dari memorinya. Orang yang menggunakan perangkat Anda harus menjalankan alur login perangkat lagi dari Langkah 1 untuk mengambil token valid yang baru.
Dapatkah saya membuat permintaan alur perangkat melalui HTTP?
OAuth 2 memerlukan TLS/HTTPS.
Dapatkah saya membuat permintaan alur perangkat dengan metode GET?
Semua permintaan alur perangkat harus berupa permintaan POST
.
Bagaimana cara memuat ulang token akses login perangkat saya?
Token akses login perangkat berlaku hingga 60 hari.
Jika tokennya tidak valid, perangkat Anda harus menghapus token dari memorinya. Orang yang menggunakan perangkat Anda harus melakukan kembali alur Login Perangkat lagi yang dijelaskan di Langkah 1 untuk mengambil token valid yang baru.
Untuk mempelajari selengkapnya tentang memuat ulang token, baca Token Akses.
Saya menemui kesalahan Invalid API method
saat membuat permintaan POST, apa yang salah?
Jika Anda membuat permintaan POST dan mendapat kesalahan seperti ini:
{"error":{"message":"Invalid API method","type":"OAuthException","code":3}}
Anda mungkin harus mengaktifkan Login dari Perangkat di aplikasi Anda.
Muat dasbor aplikasi Anda dan tetapkan Produk > Facebook login > Pengaturan > Login dari Perangkat menjadi 'Ya'.
Token akses login perangkat saya tidak valid. Apa yang harus saya lakukan?
Jika token akses Anda tidak valid, perangkat Anda harus menghapus token dari memorinya dan mendapatkan token yang baru. Orang yang menggunakan perangkat Anda harus melakukan kembali alur Login Perangkat lagi yang dijelaskan di Langkah 1 untuk mengambil token valid yang baru.