Chia sẻ với Messenger dành cho iOS và Android

Khi phát triển bằng Facebook SDK dành cho iOS hoặc Android phiên bản 4.29.0 trở lên, bạn có thể cho phép mọi người chia sẻ cả liên kết lẫn phương tiện từ ứng dụng với Messenger. Các nội dung chia sẻ này có thể được dùng để kích hoạt tiện ích chat qua liên kết ghi nhận. Đồng thời, các nội dung này cũng sẽ đặt tiện ích chat của bạn vào ngăn khác của người chia sẻ.

Để biết thêm thông tin, hãy xem các phần sau:

Để triển khai tính năng chia sẻ với Messenger dành cho web, hãy xem phần Chia sẻ với Messenger dành cho web.

Loại chia sẻ

Facebook SDK cung cấp 4 loại chia sẻ được ghi nhận và một loại chia sẻ không được ghi nhận:

Bảng sau đây liệt kê tất cả các loại chia sẻ được hỗ trợ trong tính năng chia sẻ với Messenger, cùng với thông tin cho biết có yêu cầu ID Trang hoặc ID ứng dụng hay không, cũng như những cách sử dụng mẫu.

Loại chia sẻ Yêu cầu ID Trang? Ứng dụng

Mẫu chung

Tùy chọn

  • Mẫu chung có nút
  • Mẫu chung có hành động mặc định
  • Mẫu chung có nút và hành động mặc định

Mẫu phương tiện

Bắt buộc

  • URI hình ảnh mẫu phương tiện
  • ID tệp đính kèm hình ảnh mẫu phương tiện
  • URL video mẫu phương tiện
  • ID tệp đính kèm video mẫu phương tiện

Nhạc trong Open Graph

Bắt buộc

  • Nhạc trong Open Graph

Chia sẻ liên kết

Tùy chọn

  • Liên kết không có ghi nhận
  • Liên kết có ghi nhận

Ảnh

Không hỗ trợ

  • Ảnh
  • Ảnh từ thư viện

Liên kết ID ứng dụng và ID Trang

Nhà phát triển có thể chỉ định ID Trang trong quy trình chia sẻ và khi mọi người chia sẻ nội dung từ một ứng dụng với Messenger bằng SDK chia sẻ, nội dung sẽ được ghi nhận cho Trang. Từ đó, quản trị viên Trang có thể ngăn chặn ghi nhận giả mạo bằng cách kiểm soát những ứng dụng nào có thể sử dụng quyền ghi nhận chia sẻ cho Trang của họ. Để cấp cho một ứng dụng quyền ghi nhận chia sẻ, quản trị viên sẽ liên kết ID ứng dụng với ID Trang.

Cách liên kết ID ứng dụng và ID Trang:

  1. Đi tới Cài đặt của Trang.
  2. Nhấp vào phần Nền tảng Messenger.
  3. Đi tới phần Liên kết ứng dụng trong Cài đặt chung”.
  4. Nhập ID ứng dụng và nhấp vào nút Liên kết.
  5. Nếu ứng dụng này KHÔNG có trong bảng Ứng dụng đã đăng ký, ứng dụng sẽ hiển thị trong bảng có vai trò “ghi nhận chia sẻ” được liên kết với ứng dụng đó. Nếu ứng dụng đã có trong bảng này, vai trò “ghi nhận chia sẻ” mới sẽ được thêm cho ứng dụng đó.

Quản trị viên Trang cũng có thể xóa quyền sử dụng ghi nhận chia sẻ của ứng dụng.

Cách xóa vai trò “ghi nhận chia sẻ” của một ứng dụng cụ thể:

  1. Trong bảng Ứng dụng đã đăng ký, hãy nhấp vào menu thả xuống trong cột “vai trò” của ứng dụng đó.
  2. Nhấp vào “ghi nhận chia sẻ” để bỏ chọn vai trò.
  3. Nếu “ghi nhận chia sẻ” là vai trò duy nhất của ứng dụng, thì hàng của ứng dụng đó sẽ bị xóa khỏi bảng. Nếu không, hàng đó vẫn giữ nguyên nhưng hàng “ghi nhận chia sẻ” bị bỏ chọn.

Đưa miền vào danh sách cho phép

Nếu bạn sử dụng một nút URL trong SDK chia sẻ và muốn bật Tiện ích Messenger cho URL đó khi mở trong Messenger, bạn phải đưa miền URL vào danh sách cho phép để nội dung chia sẻ hoạt động chính xác.

Cách đưa miền vào danh sách cho phép:

  1. Đi tới Cài đặt của Trang.
  2. Nhấp vào phần Nền tảng Messenger.
  3. Đi tới phần Liên kết ứng dụng trong Cài đặt chung”.
  4. Trong trường Miền được cho phép, hãy nhập miền của URL và nhấp vào Lưu.

Để biết thêm thông tin về cách đưa vào danh sách cho phép, hãy xem phần SDK tiện ích Messenger - Yêu cầu đưa miền vào danh sách cho phép.

IOS

Điều kiện tiên quyết

Trước khi bạn thêm tính năng chia sẻ với Messenger vào ứng dụng, hãy hoàn thành các bước sau:

Để biết thêm thông tin, hãy xem Bắt đầu với Facebook SDK dành cho iOS

Đồng thời đảm bảo rằng ứng dụng của bạn gọi canShow trên phiên bản FBSDKMessageDialog để xác định xem mọi người đã cài đặt phiên bản Messenger tương thích trên thiết bị của họ hay chưa.

Ví dụ về chia sẻ mẫu chung

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];
}

Ví dụ về chia sẻ mẫu phương tiện

// 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];
}

Ví dụ về chia sẻ nhạc trong Open Graph

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

Điều kiện tiên quyết

Làm theo hướng dẫn trong Chia sẻ trên Android, được tóm tắt bên dưới:

Đồng thời đảm bảo rằng ứng dụng của bạn gọi MessageDialog.canshow({template}) để xác định xem mọi người đã cài đặt phiên bản Messenger tương thích trên thiết bị của họ hay chưa.

Ví dụ về chia sẻ mẫu chung

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

Chia sẻ mẫu phương tiện

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

Ví dụ về chia sẻ nhạc trong Open Graph

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