Membagikan di Android

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.

Memulai Bagikan

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.

  1. Dalam proyek Anda, buka your_app | Gradle Scripts | build.gradle (Proyek) dan tambahkan repositori berikut ke bagian buildscript { repositories {}}:

    mavenCentral() 
    
  2. 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'
    
  3. Buat proyek Anda.

  4. ID Aplikasi Facebook Anda harus dikonfigurasi dengan benar dan ditautkan ke aplikasi Android Anda.

  5. 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.

  6. 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"/>
    
  7. 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>
  8. Tambahkan Facebook Activity ke proyek Anda dan sertakan di file AndroidManifest.xml Anda.

Konten Pemodelan

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).

Foto

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();

Video

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();

Multimedia

Orang dapat membagikan kombinasi foto dan video dari aplikasi Anda ke Facebook dengan Dialog Bagikan. Perhatikan hal berikut:

  • Orang perlu menginstal aplikasi Facebook untuk Android native, versi 71 ke atas.
  • Orang dapat membagikan maksimal 6 foto dan video dalam sekali waktu.

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);

Tambahkan Antarmuka Bagikan

Setelah Anda menangani konten dengan membangun model, picu antarmuka berbagi Facebook.

Tombol

Facebook menawarkan tombol native untuk Android guna memicu berbagi.


Tombol Bagikan

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

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

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);

Tagar

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();

Topik Lanjutan

Fallback Bagikan Bawaan

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.