การแชร์ไปยัง Messenger สำหรับ iOS และ Android

เมื่อคุณพัฒนาด้วย Facebook SDK สำหรับ iOS หรือ Android เวอร์ชั่น 4.29.0 หรือใหม่กว่านั้น คุณสามารถเปิดให้ผู้คนแชร์ลิงก์และสื่อจากแอพของคุณไปยัง Messenger ได้ การแชร์เหล่านี้สามารถใช้เพื่อทริกเกอร์ส่วนขยายแชทผ่านลิงก์การระบุที่มาได้ การแชร์เหล่านี้จะทำให้ส่วนขยายแชทของคุณมีช่องเขียนข้อความที่มากขึ้นสำหรับผู้แชร์

สำหรับข้อมูลเพิ่มเติม โปรดดูที่หัวข้อต่อไปนี้:

สำหรับการใช้งานการแชร์ไปยัง Messenger สำหรับเว็บไซต์ โปรดดูที่การแชร์ไปยัง Messenger สำหรับเว็บไซต์

ประเภทการแชร์

มีประเภทการแชร์ที่เป็นผลมาจาก Facebook SDK ด้วยกันสี่ประเภทและประเภทการแชร์ที่ไม่ได้เป็นผลอีกหนึ่งประเภท

รายการตารางต่อไปนี้คือประเภทการแชร์ที่สนับสนุนการแชร์ไปยัง Messenger ควบคู่ไปกับรายละเอียดที่ว่าจำเป็นต้องมีเพจหรือ ID แอพหรือไม่ และวิธีในการใช้งานเทมเพลต

ประเภทการแชร์ จำเป็นต้องมี ID เพจหรือไม่ แอพพลิเคชั่น

เทมเพลตทั่วไป

ระบุหรือไม่ก็ได้

  • เทมเพลตทั่วไปที่มีปุ่ม
  • เทมเพลตทั่วไปที่มีการดำเนินการในค่าเริ่มต้น
  • เทมเพลตทั่วไปที่มีปุ่มและการดำเนินการในค่าเริ่มต้น

เทมเพลตสื่อ

ต้องระบุ

  • URI รูปภาพของเทมเพลตสื่อ
  • ID รูปภาพที่แนบมาของเทมเพลตสื่อ
  • URL รูปภาพของเทมเพลตสื่อ
  • ID วิดีโอที่แนบมาของเทมเพลตสื่อ

Open Graph Music

ต้องระบุ

  • Open Graph Music

การแชร์ลิงก์

ระบุหรือไม่ก็ได้

  • ลิงก์ที่ไม่มีการระบุที่มา
  • ลิงก์ที่มีการระบุที่มา

ภาพถ่าย

ไม่สนับสนุน

  • รูปภาพ
  • รูปภาพจากไลบรารี

การลิงก์แอพและ ID เพจ

ผู้พัฒนาสามารถระบุ ID เพจในขั้นตอนการแชร์ และเมื่อผู้คนแชร์เนื้อหานั้นจากแอพไปยัง Messenger โดยวิธี SDK การแชร์ เนื้อหานั้นจะได้รับการระบุที่มาไปยังเพจ ในทางกลับกัน ผู้ดูแลเพจสามารถป้องกันการระบุที่มาโดยผิดพลาดได้ โดยการควบคุมว่าแอพใดสามารถใช้การระบุที่มาการแชร์สำหรับเพจได้ และเพื่อตอบสนองการระบุที่มากการแชร์ไปยังแอพ ผู้ดูแลจะลิงก์ ID ของแอพเข้ากับ ID ของเพจ

วิธีการลิงก์ ID ของแอพและ ID ของเพจ:

  1. ไปที่ การตั้งค่าสำหรับเพจดังกล่าว
  2. คลิกที่ส่วน "แพลตฟอร์ม Messenger"
  3. ไปที่ส่วน ลิงก์แอพ ใน การตั้งค่าทั่วไป
  4. กรอก ID ของแอพและคลิกที่ปุ่ม "ลิงก์"
  5. หากแอพนี้ไม่ได้อยู่ในตาราง แอพที่ติดตาม อยู่แล้ว แอพจะปรากฏขึ้นในตารางโดยมีบทบาท “การระบุที่มาการแชร์” เกี่ยวข้องอยู่ด้วย หากแอพนั้นอยู่ในตารางอยู่แล้ว บทบาท“การระบุที่มาการแชร์” จะถูกเพิ่มเข้ามาสำหรับแอพนั้น

ผู้ดูแลเพจสามารถลบสิทธิ์การอนุญาตของแอพเพื่อใช้การระบุที่มาการแชร์ได้

วิธีการลบบทบาท “การระบุที่มาการแชร์” สำหรับแอพที่มีคือ:

  1. ในตาราง แอพที่ติดตาม คลิกที่เมนูดร็อปดาวน์ในคอลัมน์ “บทบาท” ของแอพ
  2. คลิกที ่“การระบุที่มาการแชร์” เพื่อยกเลิกการเลือกบทบาทนั้น
  3. หาก “การระบุที่มาการแชร์” เป็นบทบาทเดียวของแอพ แถวของแอพนั้นจะถูกลบออกจากตาราง มิเช่นนั้น แถวอาจคงอยู่แต่แถว “share attribution” จะไม่ถูกเลือก

รายการไวท์ลิสต์ของโดเมน

หากคุณใช้งานปุ่ม URL ใน SDK การแชร์และต้องการเปิดใช้งาน Messenger ที่ไม่ถูกต้องสำหรับ URL ของคุณเมื่อเปิดใช้ Messenger คุณต้องกำหนดไวท์ลิสต์ของโดเมน URL สำหรับการแชร์เพื่อให้ทำงานอย่างถูกต้อง

วิธีการกำหนดไวท์ลิสต์โดเมน:

  1. ไปที่ การตั้งค่าสำหรับเพจดังกล่าว
  2. คลิกที่ส่วน "แพลตฟอร์ม Messenger"
  3. ไปที่ส่วน ลิงก์แอพ ใน การตั้งค่าทั่วไป
  4. ในช่อง โดเมนที่ไวท์ลิสต์ ให้กรอกโดเมนของ URL และคลิก "บันทึก"

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดไวท์ลิสต์ โปรดดูที่ SDK Messenger ที่ไม่ถูกต้อง - การกำหนดไวท์ลิสต์โดเมนที่จำเป็น

iOS

ข้อกำหนดที่ต้องดำเนินการก่อน

ก่อนที่คุณจะเพิ่มการแชร์ไปยัง Messenger ให้กับแอพของคุณ โปรดเสร็จสิ้นขั้นตอนต่อไปนี้

  • เพิ่ม Facebook SDK สำหรับ iOS ลงในสภาพแวดล้อมการพัฒนาบนอุปกรณ์เคลื่อนที่ของคุณ
  • กำหนดค่าและลิงก์ID ของแอพ Facebook เข้ากับ ID ของเพจด้วย เครื่องมือแพลตฟอร์ม Messenger
  • เพิ่ม ID ของแอพ, ชื่อที่แสดง และเหตุผลที่มนุษย์สามารถอ่านได้สำหรับการเข้าถึงรูปภาพในไฟล์ .plist ของแอพของคุณ
  • เชื่อมโยง FBSDKShareKit.framework กับโปรเจ็กต์ของคุณ

สำหรับข้อมูลเพิ่มเติม โปรดดูที่การเริ่มต้นใช้งาน Facebook SDK สำหรับ iOS

อีกทั้งให้มั่นใจว่าแอพของคุณเรียกcanShowที่ตัวอย่างFBSDKMessageDialogเพื่อกำหนดว่าผู้คนมีเวอร์ชั่น Messenger ที่เข้ากันติดตั้งอยู่ในอุปกรณ์หรือไม่

การแชร์ตัวอย่างเทมเพลตทั่วไป

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

การแชร์ตัวอย่างเทมเพลตสื่อ

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

การแชร์ตัวอย่าง Open Graph Music

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

ข้อกำหนดที่ต้องดำเนินการก่อน

โปรดดำเนินการตามคำแนะนำ การแชร์บน Android ที่สรุปไว้ด้านล่าง:

อีกทั้งให้มั่นใจว่าแอพของคุณเรียกMessageDialog.canshow({template})เพื่อกำหนดว่าผู้คนมีเวอร์ชั่น Messenger ที่เข้ากันติดตั้งอยู่ในอุปกรณ์หรือไม่

การแชร์ตัวอย่างเทมเพลตทั่วไป

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

การแชร์เทมเพลตสื่อ

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

การแชร์ตัวอย่าง Open Graph Music

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