Setelah Anda mengintegrasikan Facebook Login, Facebook Sharing, atau Facebook Gaming, Peristiwa Aplikasi tertentu dicatat dan dikumpulkan secara otomatis untuk Pengelola Peristiwa, kecuali Anda menonaktifkan Pencatatan Peristiwa Aplikasi Otomatis. Kami menyarankan semua developer aplikasi menggunakan Facebook Login, Facebook Sharing, atau Facebook Gaming untuk memahami cara kerja fungsi ini. Untuk detail tentang informasi apa saja yang dikumpulkan dan cara menonaktifkan Pencatatan Peristiwa Aplikasi Otomatis, lihat Pencatatan Peristiwa Aplikasi Otomatis.
Detail tambahan untuk FB iOS SDK dapat ditemukan di sini.
Panduan ini menjelaskan secara rinci cara mengaktifkan bagikan dari aplikasi iOS Anda ke Facebook. Apabila seseorang membagikan dari aplikasi Anda, kontennya muncul di Linimasa dan Kabar teman mereka.
Sebelum menambahkan bagikan ke aplikasi, Anda harus:
.plist
aplikasi Anda.FBSDKShareKit.framework
ke proyek Anda.Aplikasi Anda tidak boleh terlebih dahulu mengisi konten yang akan dibagikan. Ini tidak konsisten dengan Kebijakan Platform Facebook, lihat Kebijakan Developer.
Memulai SDK iOSSetiap jenis konten memiliki antarmuka yang dapat Anda gunakan untuk mewakilinya yang sesuai dengan SharingContent
. Setelah Anda menetapkan model konten, tambahkan antarmuka bagikan ke aplikasi Anda yang sesuai dengan Sharing
atau gunakan kelas ShareDialog
yang disediakan.
Pada saat orang membagikan tautan dari aplikasi Anda ke Facebook, tindakan ini menyertakan contentURL
dengan tautan yang akan dibagikan. Buat konten bagikan Anda untuk tautan dengan model ShareLinkContent
.
Berikut ini contoh bagaimana Anda dapat memicu tindakan bagikan:
guard let url = URL(string: "https://developers.facebook.com") else { // handle and return } let content = ShareLinkContent() content.contentURL = url let dialog = ShareDialog( viewController: self, content: content, delegate: self ) dialog.show()
Catatan: Jika aplikasi Anda membagikan tautan ke toko iTunes atau Google Play, kami tidak mengirim gambar atau deskripsi yang Anda tentukan pada aplikasi yang dibagikan. Sebagai gantinya kami mengirimkan beberapa informasi aplikasi yang kami ambil dari toko aplikasi secara langsung dengan Webcrawler. Informasi ini mungkin tidak termasuk gambar. Untuk melihat pratinjau berbagi tautan ke iTunes atau Google Play, masukkan URL Anda ke dalam Sharing Debugger.
Orang dapat membagikan foto dari aplikasi Anda ke Facebook dengan Dialog Bagikan atau dengan antarmuka khusus:
Buat konten berbagi untuk foto dengan model SharePhotoContent
.
func imagePickerController( _ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any] ) { guard let image = info[.originalImage] as? UIImage else { // handle and return return } let photo = SharePhoto( image: image, userGenerated: true ) var content = SharePhotoContent() content.photos = [photo] // use the content }
Orang yang menggunakan aplikasi Anda dapat membagikan video ke Facebook dengan dialog Bagikan atau dengan antarmuka khusus:
Buat konten berbagi Anda untuk video dengan model FBSDKShareVideoContent
. Untuk daftar semua atribut, lihat referensi FBSDKShareVideoContent
.
func imagePickerController( _ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any] ) { let video: ShareVideo if #available(iOS 11, *) { guard let videoAsset = info[.phAsset] as? PHAsset else { return } video = ShareVideo(videoAsset: videoAsset) } else { guard let url = info[.referenceURL] as? URL else { return } video = ShareVideo(videoURL: url) } }
Orang yang menggunakan aplikasi Anda dapat membagikan kombinasi foto dan video ke Facebook dengan dialog Bagikan. Perhatikan hal berikut:
Buat konten bagikan multimedia Anda dengan model ShareMediaContent
.
let photo = SharePhoto(...) let video = ShareVideo(...) var content = ShareMediaContent() content.media = [photo, video]
Setelah menangani konten dengan membuat model, Anda dapat memicu dialog Bagikan atau Pesan.
Di iOS, Facebook memiliki tombol native untuk memicu bagikan.
Dengan Tombol Bagikan, Anda akan mengizinkan orang membagikan konten ke linimasa Facebook mereka ke linimasa teman atau di grup. Tombol bagikan akan memanggil dialog Bagikan. Untuk menambahkan tombol Bagikan ke tampilan, tambahkan snippet kode berikut ke tampilan Anda:
var button = FBShareButton() button.shareContent = content // Add button to view
Dengan Tombol Kirim, orang dapat mengirimkan foto, video, dan tautan secara pribadi kepada teman dan kontak mereka menggunakan aplikasi Facebook Messenger. Tombol Kirim akan memanggil dialog Pesan. Untuk menambahkan tombol Kirim ke tampilan, tambahkan snippet kode berikut ke tampilan Anda:
var button = SendButton() button.shareContent = content // Add button to view
Jika aplikasi Messenger tidak diinstal, tombol Kirim akan diredupkan. Untuk memeriksa apakah tombol Kirim dapat digunakan pada perangkat saat ini, gunakan properti SendButton
isImplicitlyDisabled
:
Untuk menggunakan pengalaman bagikan buatan Facebook, Anda perlu menentukan konten seperti di bagian pemodelan konten di atas, lalu panggil Dialog Bagikan. Misalnya, untuk membagikan tautan dengan Dialog Bagikan:
guard let url = URL(string: "https://developers.facebook.com") else { // handle and return } let content = ShareLinkContent() content.contentURL = url let dialog = ShareDialog( viewController: self, content: content, delegate: self ) dialog.show()
Pada versi SDK untuk iOS sebelumnya, aplikasi Anda harus memeriksa apakah ada aplikasi Facebook yang terinstal dan native sebelum dapat membuka Dialog Bagikan. Jika seseorang belum menginstal aplikasi, Anda harus menyediakan kode sendiri untuk memanggil dialog fallback.
Sekarang, SDK memeriksa karakteristik native aplikasi Facebook secara otomatis. Jika tidak diinstal, SDK mengalihkan orang ke browser default mereka dan membuka Dialog Beranda.
Jika aplikasi Facebook native terinstal, orang akan melihat Lembar Bagikan di iOS dan bukan beralih ke aplikasi native Facebook untuk iOS.
Dialog Pesan beralih ke aplikasi Messenger native untuk iOS, selanjutnya mengembalikan kontrol ke aplikasi Anda setelah postingan diterbitkan.
MessageDialog(content: content, delegate: delegate).show()
Catatan: Saat ini dialog pesan tidak didukung di iPad.
iOS memasukkan lembar berbagi native yang memungkinkan orang mengirim pembaruan status, foto, video, dan tautan ke Facebook dan menyertakan dukungan pengaturan pemirsa untuk postingan dan menandai postingan dengan lokasi. Facebook SDK mendukung penggunaan pengontrol native ini; pengalaman ini adalah yang dilihat orang di sebagian besar kasus ketika Anda memanggil Dialog Bagikan di Facebook.
Penggunaan lembar berbagi iOS harus mematuhi Kebijakan Developer, termasuk bab 2.3 yang menyatakan bahwa aplikasi tidak boleh diisi terlebih dahulu sebelumnya terkait dengan lembar bagikan. Artinya, aplikasi tidak boleh mengisi kolom Teks awal di lembar bagikan secara otomatis dengan konten yang tidak dimasukkan oleh pengguna aplikasi tersebut.
API ini juga menggunakan blok gaya yang sama seperti bagian lain dari Facebook SDK. Untuk menunjukkan dialog bagikan native di iOS, gunakan:
let dialog = ShareDialog( viewController: self, content: content, delegate: nil ) dialog.mode = .shareSheet dialog.show()
Perhatikan bahwa argumen viewController
diperlukan agar ada lembar bagikan.
Anda dapat menentukan tagar tunggal untuk ditampilkan bersama foto, tautan, atau video yang dibagikan. Tagar ini juga muncul di dialog Bagikan, dan orang dapat menghapusnya sebelum menerbitkan.
Berikut adalah contoh penambahan tagar ke pembagian tautan.
let content = ShareLinkContent() guard let url = URL(string: "https://developers.facebook.com") else { return } content.contentURL = url content.hashtag = Hashtag("#MadeWithHackbook")
Dengan Tautan Aplikasi Anda dapat menautkan kembali ke aplikasi dari postingan Facebook yang diterbitkan dari aplikasi Anda.
Ketika orang mengeklik postingan Facebook yang diterbitkan dari aplikasi Anda, tindakan ini membuka aplikasi, dan Anda bahkan dapat menautkan ke konten tertentu di dalam aplikasi.
Jika Anda menggunakan Simulator untuk menguji bagikan di aplikasi, Anda akan menemui kesalahan jika mencoba membagikan video atau Foto. Hal ini karena Anda harus menginstal Facebook untuk iOS yang menyediakan Dialog Bagikan. Kami tidak mendukung ini untuk Simulator.
Dalam kasus bagikan tautan, Anda tidak perlu menginstal Facebook untuk iOS sehingga kasus pengujian ini dapat dilakukan. Untuk menguji skenario Bagikan, siapkan perangkat pengujian aktual yang sudah terinstal Facebook untuk iOS.