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.
Panduan ini menjelaskan cara mengaktifkan pengguna aplikasi Android Anda untuk membagikan konten dari aplikasi Anda ke Facebook. Saat seseorang membagikan konten dari aplikasi Anda, konten yang mereka bagikan akan muncul di Linimasa mereka. Konten yang dibagikan pengguna Anda ke Linimasa mereka juga dapat muncul di Kabar teman mereka. Pengguna juga dapat membagikan konten dari aplikasi Anda ke Facebook Messenger.
Apabila menerapkan bagikan, aplikasi Anda tidak boleh terlebih dahulu mengisi konten untuk dibagikan. Konten yang diisi terlebih dahulu tidak konsisten dengan Kebijakan Developer.
Contoh foto berikut menunjukkan dialog bagikan di aplikasi Anda di sebelah kiri dan postingan yang dihasilkan di aplikasi Facebook di sebelah kanan.
Sharing SDK untuk Android adalah komponen dari Facebook SDK untuk Android.
Untuk menggunakan Facebook Sharing SDK di proyek Anda, jadikan SDK tersebut sebagai dependensi di Maven.
Dalam proyek Anda, buka your_app | Gradle Scripts | build.gradle (Proyek) dan tambahkan repositori berikut ke bagian buildscript { repositories {}}
:
mavenCentral()
Dalam proyek Anda, buka your_app | Gradle Scripts | build.gradle (Module: app) dan tambahkan compile statement berikut ke bagian dependencies{}
:
compile 'com.facebook.android:facebook-share:latest.release'
Buat proyek Anda.
ID Aplikasi Facebook Anda harus dikonfigurasi dengan benar dan ditautkan ke aplikasi Android Anda.
Buatlah hash kunci pengembangan Android dan tambahkan ke halaman Contoh Aplikasi dari pengaturan developer Anda. Untuk detailnya, lihat Membuat Hash Kunci Pengembangan dan Menjalankan Contoh Aplikasi.
Tambahkan ContentProvider
ke file AndroidManifest.xml
Anda dan atur {APP_ID}
ke ID aplikasi Anda:
<provider android:authorities="com.facebook.app.FacebookContentProvider{APP_ID}"
android:name="com.facebook.FacebookContentProvider"
android:exported="true"/>
Jika aplikasi Anda menargetkan Android 11 atau yang lebih baru, tambahkan blok kueri berikut ke file AndroidManifest.xml
Anda agar Aplikasi Facebook terlihat oleh Aplikasi Anda:
<queries><provider android:authorities="com.facebook.katana.provider.PlatformProvider" /></queries>
Tambahkan Facebook Activity
ke proyek Anda dan sertakan di file AndroidManifest.xml
Anda.
Facebook SDK versi 4.0+ memiliki model baru untuk membagikan konten. Setiap jenis konten yang ingin dibagikan orang memiliki kelas yang dapat Anda gunakan untuk mewakilinya. Setelah Anda menetapkan model konten, tambahkan antarmuka berbagi ke aplikasi Anda.
Ketika orang-orang membagikan tautan dari aplikasi Anda ke Facebook, ini termasuk contentURL
berikut tautan yang akan dibagikan. Buat konten berbagi untuk tautan Anda dalam model ShareLinkContent
. Untuk daftar semua atribut, lihat referensi ShareLinkContent
.
Berikut ini contoh bagaimana Anda dapat memicu tindakan bagikan:
ShareLinkContent content = new ShareLinkContent.Builder() .setContentUrl(Uri.parse("https://developers.facebook.com")) .build();
Untuk melihat cuplikan pembagian tautan ke Google Play atau App Store, masukkan URL Anda ke dalam Debugger Bagikan.
Jika berbagi aplikasi Anda berisi tautan ke aplikasi di Google Play atau App Store, keterangan dan gambar yang disertakan dalam berbagi akan diabaikan. Sebaliknya, kami akan menelusuri store langsung untuk mendapatkan judul dan gambar aplikasi tersebut (dan jika tidak ada gambar, maka berbagi tidak akan menyertakannya).
Orang-orang dapat membagikan foto dari aplikasi Anda ke Facebook dengan Dialog Bagikan. Agar dapat berbagi, mereka harus menginstal aplikasi Facebook untuk Android, versi 7.0 atau lebih tinggi.
Buat konten berbagi untuk foto Anda dalam model SharePhotoContent
. Untuk daftar semua atribut, lihat referensi SharePhotoContent
.
Bitmap image = ... SharePhoto photo = new SharePhoto.Builder() .setBitmap(image) .build(); SharePhotoContent content = new SharePhotoContent.Builder() .addPhoto(photo) .build();
Orang-orang yang menggunakan aplikasi Anda dapat membagikan video ke Facebook dengan dialog Bagikan.
Buat konten berbagi untuk video Anda dalam ShareVideoContent
. Untuk daftar semua atribut, lihat referensi ShareVideoContent
.
Uri videoFileUri = ... ShareVideo = new ShareVideo.Builder() .setLocalUrl(videoUrl) .build(); ShareVideoContent content = new ShareVideoContent.Builder() .setVideo(video) .build();
Orang dapat membagikan kombinasi foto dan video dari aplikasi Anda ke Facebook dengan Dialog Bagikan. Perhatikan hal berikut:
Buat konten berbagi multimedia Anda dengan model ShareMediaContent
. Untuk daftar semua atribut, lihat referensi ShareMediaContent
.
SharePhoto sharePhoto1 = new SharePhoto.Builder() .setBitmap(...) .build(); SharePhoto sharePhoto2 = new SharePhoto.Builder() .setBitmap(...) .build(); ShareVideo shareVideo1 = new ShareVideo.Builder() .setLocalUrl(...) .build(); ShareVideo shareVideo2 = new ShareVideo.Builder() .setLocalUrl(...) .build(); ShareContent shareContent = new ShareMediaContent.Builder() .addMedium(sharePhoto1) .addMedium(sharePhoto2) .addMedium(shareVideo1) .addMedium(shareVideo2) .build(); ShareDialog shareDialog = new ShareDialog(...); shareDialog.show(shareContent, Mode.AUTOMATIC);
Setelah Anda menangani konten dengan membangun model, picu antarmuka berbagi Facebook.
Facebook menawarkan tombol native untuk Android guna memicu berbagi.
Tombol Bagikan akan memanggil dialog Bagikan. Untuk menambahkan tombol Bagikan, tambahkan snippet kode berikut ke tampilan Anda:
ShareButton shareButton = (ShareButton)findViewById(R.id.fb_share_button); shareButton.setShareContent(content);
Dialog Bagikan beralih ke Facebook native untuk aplikasi Android, selanjutnya mengembalikan kontrol ke aplikasi Anda setelah kiriman diterbitkan. Tergantung pada SDK yang Anda gunakan, orang-orang mungkin harus mengetuk ikon panah kembali untuk kembali ke aplikasi Anda. Jika aplikasi Facebook tidak diinstal, dialog Bagikan secara otomatis akan kembali ke dialog berbasis web.
ShareDialog.show(activityOrFragment, content);
Contoh: untuk menunjukkan ShareDialog
untuk tautan dalam aktivitas Anda, buat contoh ShareDialog
dalam metode onCreate
:
public class MainActivity extends FragmentActivity { CallbackManager callbackManager; ShareDialog shareDialog; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); callbackManager = CallbackManager.Factory.create(); shareDialog = new ShareDialog(this); // this part is optional shareDialog.registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() { ... }); }
Selanjutnya, tampilkan ShareDialog:
if (ShareDialog.canShow(ShareLinkContent.class)) { ShareLinkContent linkContent = new ShareLinkContent.Builder() .setContentUrl(Uri.parse("http://developers.facebook.com/android")) .build(); shareDialog.show(linkContent); }
Terakhir, panggil callbackManager
SDK di onActivityResult
untuk menangani tanggapan:
@Override protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) { super.onActivityResult(requestCode, resultCode, data); callbackManager.onActivityResult(requestCode, resultCode, data); }
Jika Anda menggunakan aktivitas atau fragmen AndroidX, Anda tidak perlu menimpa onActivityResult
.
Dialog Pesan beralih ke Messenger native untuk aplikasi Android, selanjutnya mengembalikan kontrol ke aplikasi Anda setelah kiriman diterbitkan. Tergantung pada SDK yang Anda gunakan, orang-orang mungkin harus mengetuk ikon panah kembali untuk kembali ke aplikasi Anda.
MessageDialog.show(activityOrFragment, content);
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.
ShareLinkContent content = new ShareLinkContent.Builder() .setContentUrl(Uri.parse("https://developers.facebook.com")) .setShareHashtag(new ShareHashtag.Builder() .setHashtag("#ConnectTheWorld") .build()); .build();
Pada versi SDK untuk Android sebelumnya, aplikasi Anda harus memeriksa karakteristik native aplikasi Facebook yang terinstal 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.
Dengan Tautan Aplikasi, Anda menautkan kembali ke aplikasi dari kiriman Facebook yang diterbitkan dari aplikasi Anda. Ketika orang mengeklik kiriman Facebook yang diterbitkan dari aplikasi Anda, tindakan ini membuka aplikasi, dan Anda bahkan dapat menautkan ke konten tertentu di dalam aplikasi.