使用 Facebook iOS SDK 或 Facebook Android SDK 的 v4.29.0 或更新版本開發內容時,您可以讓用戶同時將連結和媒體從您的應用程式分享到 Messenger。當用戶將內容分享到 Messenger,您可透過歸因連結觸發聊天擴充套件。您的聊天擴充套件會在分享介面的更多部分顯示。
詳情請參閱下列各部分:
若要在網頁版 Messenger 中執行分享功能,請參閱分享到網頁版 Messenger。
Facebook SDK 提供以下分享類型:
pageID
)下表列出分享到 Messenger 時可使用的所有分享類型,當中指明是否為必須提供專頁編號或應用程式編號。
分享類型 | 是否需要專頁編號? | 適用情景 |
---|---|---|
連結分享 | 可選 |
|
相片 | 不支援 |
|
開發人員可在分享流程中指定專頁編號,而當用戶透過分享 SDK 的方式將內容從應用程式分享到 Messenger 時,內容便會歸因到專頁。接著,專頁管理員便可控制哪些應用程式能將分享歸因用於專頁,借此防止歸因不實的問題發生。為了將分享歸因權限授予應用程式,管理員會連結應用程式編號與專頁編號。
若要連結應用程式編號和專頁編號:
此外,專頁管理員也可以移除應用程式使用分享歸因的權限。
若要移除特定應用程式的「分享歸因」角色:
如果您在分享 SDK 中使用了網址按鈕,且希望為 Messenger 中開啟的網址啟用 Messenger 擴充功能,就必須註冊網址網域,分享才能正常運作。
若要註冊網域:
詳情請參閱 Messenger 擴充功能 SDK:必要網域允許清單。
在應用程式中加入分享到 Messenger 功能前,請完成下列步驟:
.plist
檔案的相片。FBSDKShareKit.framework
連結至您的專案。此外,您的應用程式必須對 MessageDialog
實例呼叫 canShow
或 validate
,以便判斷用戶是否已在裝置上安裝版本兼容的 Messenger。
不支援引文屬性。
guard let url = URL(string: "https://newsroom.fb.com/") else { preconditionFailure("URL is invalid") } let content = ShareLinkContent() content.contentURL = url let dialog = MessageDialog(content: content, delegate: self) do { try dialog.validate() } catch { print(error) } dialog.show()
// Assumes your assets contain an image named "puppy" guard let image = UIImage(named: "puppy") else { return } let photo = SharePhoto(image: image, userGenerated: true) let content = SharePhotoContent() content.photos = [photo] let dialog = MessageDialog(content: content, delegate: self) // Recommended to validate before trying to display the dialog do { try dialog.validate() } catch { print(error) } dialog.show()
// Assuming you have a URL for a PHAsset let video = ShareVideo(videoURL: assetURL) let content = ShareVideoContent() content.video = video let dialog = MessageDialog(content: content, delegate: self) // Recommended to validate before trying to display the dialog do { try dialog.validate() } catch { print(error) } dialog.show()
按照在 Android 分享中的指示操作,總結如下:
此外,您的應用程式必須呼叫 MessageDialog.canshow({template})
,以便判斷用戶是否已在裝置上安裝版本兼容的 Messenger。