Berbagi ke Messenger untuk iOS and Android

Ketika Anda mengembangkan dengan SDK Facebook untuk iOS dan Android versi 4.29.0 atau yang lebih tinggi, Anda dapat mengizinkan orang-orang untuk membagikan tautan maupun media dari aplikasi Anda ke Messenger. Fitur berbagi ini dapat digunakan untuk memicu ekstensi obrolan Anda melalui tautan atribusi. Pembagian tersebut juga menempatkan ekstensi obrolan Anda di dalam laci yang lebih banyak untuk pihak yang membagikan.

Untuk informasi selengkapnya, lihat bagian berikut:

Untuk menerapkan berbagi ke Messenger untuk web, lihat Berbagi ke Messenger untuk Web.

Jenis Berbagi

SDK Facebook menyediakan empat jenis berbagi yang diatribusikan dan satu jenis berbagi yang tidak diatribusikan:

Tabel berikut mencantumkan semua jenis berbagi yang didukung dalam berbagi ke Messenger, beserta perlu tidaknya ID Halaman atau Aplikasi, dan cara-cara menggunakan templat.

Jenis Berbagi ID Halaman Diperlukan? Aplikasi

Templat Generik

Opsional

  • Templat generik dengan tombol
  • Templat generik dengan tindakan default
  • Templat generik dengan tombol dan tindakan default

Templat Media

Wajib

  • URI gambar templat media
  • AttachmentID gambar templat media
  • URL video templat media
  • ID lampiran video templat media

Musik Graf Terbuka

Wajib

  • Musik graf terbuka

Berbagi Tautan

Opsional

  • Tautan tanpa atribusi
  • Tautan dengan atribusi

Foto

Tidak didukung

  • Foto
  • Foto dari perpustakaan

Menautkan ID Aplikasi dan Halaman

Pengembang dapat menentukan ID Halaman di dalam alur berbagi, dan ketika orang membagikan konten dari sebuah aplikasi ke messenger dengan bantuan SDK Berbagi, konten tersebut diatribusikan ke Halaman. Pengurus Halaman kemudian dapat mencegah kesalahan atribusi dengan cara mengontrol aplikasi yang dapat menggunakan atribusi berbagi untuk Halamannya. Untuk memberikan atribusi berbagi ke sebuah aplikasi, pengurus menautkan ID aplikasi dengan ID Halaman.

Untuk menautkan ID aplikasi dan ID Halaman:

  1. Buka Pengaturan untuk Halaman.
  2. Klik bagian Platform Messenger.
  3. Buka bagian Tautkan Aplikasi di Pengaturan Umum”.
  4. Masukkan ID aplikasi dan klik tombol Tautkan.
  5. Jika aplikasi ini TIDAK ada di dalam tabel Aplikasi Langganan, maka aplikasi tersebut akan muncul di tabel dengan peran “atribusi bagikan” yang dikaitkan dengannya. Jika aplikasi telah berada di dalam tabel, maka peran “atribusi bagikan” akan ditambahkan untuk aplikasi tersebut.

Pengurus halaman juga dapat menghapus izin aplikasi untuk menggunakan atribusi bagikan.

Untuk menghapus peran “atribusi bagikan” untuk sebuah aplikasi:

  1. Di tabel Aplikasi Langganan, klik menu pilihan di kolom “peran” untuk aplikasi.
  2. Klik “atribusi bagikan” untuk membatalkan pilihan peran.
  3. Jika “atribusi bagikan” adalah satu-satunya peran untuk aplikasi, maka baris untuk aplikasi dihapus dari tabel. Jika tidak, maka baris tersebut akan tetap ada, namun baris “atribusi bagikan” tidak akan dipilih.

Memasukkan Domain ke Daftar Putih

Jika Anda menggunakan tombol URL di SDK Berbagi dan ingin menyalakan Ekstensi Messenger untuk URL Anda ketika dibuka di Messenger, maka Anda harus memasukkan domain URL ke dalam daftar putih agar fitur berbagi dapat berfungsi dengan benar.

Untuk memasukkan domain ke daftar putih:

  1. Buka Pengaturan untuk Halaman.
  2. Klik bagian Platform Messenger.
  3. Buka bagian Tautkan Aplikasi di Pengaturan Umum”.
  4. Di kolom Domain yang Dimasukkan ke Daftar Putih, masukkan domain URL dan klik Simpan.

Untuk informasi selengkapnya mengenai pemasukan ke daftar putih, lihat SDK Ekstensi Messenger - Pemasukan Domain Ke Daftar Putih yang Diwajibkan.

IOS

Prasyarat

Sebelum Anda menambahkan fitur berbagi ke Messenger ke aplikasi Anda, jalani langkah-langkah berikut:

  • Menambahkan SDK Facebook untuk iOS ke lingkungan pengembangan seluler Anda
  • Konfigurasikan dan tautkan ID aplikasi Facebook Anda ke ID Halaman Anda dengan menggunakan alat Platform Messenger.
  • Tambahkan ID aplikasi Anda, dan alasan yang mudah dibaca manusia untuk akses foto ke file .plist aplikasi Anda.
  • Menautkan FBSDKShareKit.framework ke proyek Anda.

Untuk informasi selengkapnya, lihat Memulai dengan SDK Facebook untuk iOS

Pastikan juga aplikasi Anda memanggil canShow di instansi FBSDKMessageDialog guna menentukan apakah orang-orang telah memasang Messenger dengan versi yang kompatibel di perangkat mereka.

Contoh Berbagi Templat Generik

FBSDKShareMessengerURLActionButton *urlButton = [[FBSDKShareMessengerURLActionButton alloc] init];
urlButton.title = @"Visit Facebook";
urlButton.url = [NSURL URLWithString:@"https://www.facebook.com"];
    
FBSDKShareMessengerGenericTemplateElement *element = [[FBSDKShareMessengerGenericTemplateElement alloc] init];
element.title = @"This is a Cat Picture";
element.subtitle = @"Look at this cat, wow! Amazing.";
element.imageURL = [NSURL URLWithString:@"https://static.pexels.com/photos/126407/pexels-photo-126407.jpeg"];
element.button = urlButton;
    
FBSDKShareMessengerGenericTemplateContent *content = [[FBSDKShareMessengerGenericTemplateContent alloc] init];
content.pageID = // Your page ID, required for attribution
content.element = element;

FBSDKMessageDialog *messageDialog = [[FBSDKMessageDialog alloc] init];
messageDialog.shareContent = content;

if ([messageDialog canShow]) {
    [messageDialog show];
}

Contoh Berbagi Templat Media

// Share with mediaURL
FBSDKShareMessengerURLActionButton *urlButton = [[FBSDKShareMessengerURLActionButton alloc] init];
urlButton.title = @"Visit Facebook";
urlButton.url = [NSURL URLWithString:@"https://www.facebook.com"];

NSURL *mediaURL = // Must be a Facebook URL, see media template documentation
FBSDKShareMessengerMediaTemplateContent *content = [[FBSDKShareMessengerMediaTemplateContent alloc] initWithMediaURL:mediaURL];
content.pageID = // Your page ID, required
content.mediaType = FBSDKShareMessengerMediaTemplateMediaTypeImage;
content.button = urlButton;

FBSDKMessageDialog *messageDialog = [[FBSDKMessageDialog alloc] init];
messageDialog.shareContent = content;

if ([messageDialog canShow]) {
    [messageDialog show];
}

------------------------------------------------------------------

// Share with attachmentID
FBSDKShareMessengerURLActionButton *urlButton = [[FBSDKShareMessengerURLActionButton alloc] init];
urlButton.title = @"Visit Facebook";
urlButton.url = [NSURL URLWithString:@"https://www.facebook.com"];

NSString *attachmentID = // attachmentID, see media template documentation for how to upload an attachment
FBSDKShareMessengerMediaTemplateContent *content = [[FBSDKShareMessengerMediaTemplateContent alloc] initWithAttachmentID:attachmentID];
content.pageID = // Your page ID, required
content.mediaType = FBSDKShareMessengerMediaTemplateMediaTypeImage;
content.button = urlButton;

FBSDKMessageDialog *messageDialog = [[FBSDKMessageDialog alloc] init];
messageDialog.shareContent = content;

if ([messageDialog canShow]) {
    [messageDialog show];
}

Contoh Berbagi Musik Graf Terbuka

FBSDKShareMessengerURLActionButton *urlButton = [[FBSDKShareMessengerURLActionButton alloc] init];
urlButton.title = @"Visit Facebook";
urlButton.url = [NSURL URLWithString:@"https://www.facebook.com"];

FBSDKShareMessengerOpenGraphMusicTemplateContent *content = [[FBSDKShareMessengerOpenGraphMusicTemplateContent alloc] init];
content.pageID = // Your page ID, required
content.url = // open graph music url, see open graph music documentation
content.button = urlButton;

FBSDKMessageDialog *messageDialog = [[FBSDKMessageDialog alloc] init];
messageDialog.shareContent = content;

if ([messageDialog canShow]) {
    [messageDialog show];
}

Android

Prasyarat

Ikuti petunjuk di Berbagi di Android yang rangkumannya ada di bawah ini:

Pastikan juga aplikasi Anda memanggil MessageDialog.canshow({template}) guna menentukan apakah orang-orang yang telah memasang Messenger dengan versi yang kompatibel di perangkat mereka.

Contoh Berbagi Templat Generik

ShareMessengerURLActionButton actionButton =
    new ShareMessengerURLActionButton.Builder()
           .setTitle("Visit Facebook")
           .setUrl(Uri.parse("https://www.facebook.com"))
           .build();
ShareMessengerGenericTemplateElement genericTemplateElement =
    new ShareMessengerGenericTemplateElement.Builder()
           .setTitle("Visit Facebook")
           .setSubtitle("Visit Messenger")
           .setImageUrl(Uri.parse("heeps://Your/Image/Url"))
           .setButton(actionButton)
           .build();
ShareMessengerGenericTemplateContent genericTemplateContent = 
    new ShareMessengerGenericTemplateContent.Builder()
           .setPageId("Your Page Id") // Your page ID, required
           .setGenericTemplateElement(genericTemplateElement)
           .build();  
                 
if (MessageDialog.canShow(genericTemplateContent)) {
    MessageDialog.show(activityOrFragment, genericTemplateContent);
}

Berbagi Templat Media

// Share with mediaURL
ShareMessengerMediaTemplateContent mediaTemplateContent =
    new ShareMessengerMediaTemplateContent.Builder()
            .setPageId("Your page ID") // Your page ID, required
            .setMediaType(MediaType.IMAGE)
            .setMediaUrl(Uri.parse("https://Facebook/Media/URL")) // Must be a Facebook URL, see media template documentation
            .setButton(actionButton)
            .build();
if (MessageDialog.canShow(mediaTemplateContent)) {
    MessageDialog.show(activityOrFragment, mediaTemplateContent);
}

// Share with attachmentID
ShareMessengerMediaTemplateContent mediaTemplateContent =
    new ShareMessengerMediaTemplateContent.Builder()
            .setPageId("Your page ID") // Your page ID, required
            .setMediaType(MediaType.IMAGE)
            .setAttachmentId("Attachment Id") // AttachmentID, see media template documentation for how to upload an attachment
            .setButton(actionButton)
            .build();
if (MessageDialog.canShow(mediaTemplateContent)) {
    MessageDialog.show(activityOrFragment, mediaTemplateContent);
}

Contoh Berbagi Musik Graf Terbuka

ShareMessengerOpenGraphMusicTemplateContent musicTemplateContent =
    new ShareMessengerOpenGraphMusicTemplateContent.Builder()
                .setPageId("Your page ID") // Your page ID, required
                .setUrl(Uri.parse("https://Open/Graph/Music/URL")) // Open graph music url, see open graph music documentation
                .setButton(actionButton)
                .build();

if (MessageDialog.canShow(musicTemplateContent)) {
    MessageDialog.show(activityOrFragment, musicTemplateContent);
}