iOS 및 Android용 Messenger에 공유

iOS 또는 Android용 Facebook SDK 버전 4.29.0 이상을 사용하여 개발하는 경우 사용자가 앱의 링크와 미디어를 모두 Messenger에 공유하도록 설정할 수 있습니다. 사용자가 Messenger로 공유하면 작성자 표시 링크를 통해 채팅 확장 기능을 트리거할 수 있습니다. 채팅 확장 기능은 공유 인터페이스의 더 보기 섹션에 표시됩니다.

자세한 내용은 다음 섹션을 참조하세요.

웹용 Messenger에 공유 기능을 구현하려면 웹용 Messenger에 공유를 참조하세요.

공유 유형

Facebook SDK는 다음과 같은 공유 유형을 제공합니다.

  • 링크 공유(기존 링크 공유와 같지만 작성자 표시를 위한 pageID 있음)
  • 사진(작성자 표시 안 함)

다음 테이블에는 Messenger에 공유 기능에서 지원되는 모든 공유 유형이 페이지 또는 앱 ID가 필요한지 여부와 함께 표시됩니다.

공유 유형 페이지 ID가 필요한가요?

링크 공유

선택 사항

  • 작성자 표시가 없는 링크
  • 작성자 표시가 있는 링크

사진

지원되지 않음

  • 사진
  • 라이브러리의 사진

앱과 페이지 ID 연결

개발자는 공유 플로에서 페이지 ID를 지정할 수 있으며, 사용자가 공유 SDK를 사용하여 앱의 콘텐츠를 Messenger에 공유할 때 콘텐츠 작성자가 페이지에 표시됩니다. 따라서 페이지 관리자는 페이지에 작성자 표시 공유 기능을 사용할 수 있는 앱을 관리하여 작성자가 잘못 표시되지 않도록 할 수 있습니다. 관리자는 앱에 작성자 표시 공유 기능을 부여하기 위해 앱의 ID를 페이지 ID와 연결합니다.

앱 ID와 페이지 ID를 연결하는 방법은 다음과 같습니다.

  1. 페이지의 설정으로 이동합니다.
  2. Messenger 플랫폼 섹션을 클릭합니다.
  3. 일반 설정앱 연결 섹션으로 이동합니다.
  4. 앱 ID를 입력하고 연결 버튼을 클릭합니다.
  5. 해당 앱이 아직 받아보는 앱 테이블에 없는 경우 이는 앱과 연결된 '작성자 표시 공유' 역할과 함께 테이블에 표시됩니다. 앱이 이미 테이블에 있으면 해당 앱에 '작성자 표시 공유' 역할이 새로 추가됩니다.

페이지 관리자는 앱의 작성자 표시 공유 기능에 대한 사용 권한을 삭제할 수도 있습니다.

지정된 앱의 '작성자 표시 공유' 역할을 삭제하는 방법은 다음과 같습니다.

  1. 받아보는 앱 테이블에서 앱의 '역할' 열의 드롭다운을 클릭합니다.
  2. '작성자 표시 공유'를 클릭하여 역할을 선택 취소합니다.
  3. '작성자 표시 공유'가 앱의 유일한 역할인 경우 앱의 행이 테이블에서 삭제됩니다. 그렇지 않은 경우 행이 남아 있지만 '작성자 표시 공유' 행이 선택 취소됩니다.

도메인 등록

공유 SDK에서 URL 버튼을 사용하고, Messenger에서 열 때 URL의 Messenger 확장 기능을 활성화하고자 하는 경우 URL 도메인을 등록해야 공유 기능이 올바르게 작동합니다.

도메인 등록:

  1. 페이지를 확인합니다.
  2. 설정 > 고급 메시지로 이동합니다.
  3. 도메인을 화이트리스트에 추가된 도메인 필드에 추가합니다.

자세한 내용은 Messenger 확장 기능 SDK - 필수 도메인 화이트리스트를 참조하세요.

iOS

필수 조건

Messenger에 공유 기능을 앱에 추가하기 전에 다음 단계를 완료하세요.

  • 모바일 개발 환경에 iOS용 Facebook SDK를 추가합니다.
  • Messenger 플랫폼 도구를 사용하여 Facebook 앱 ID를 구성하고 페이지 ID에 연결합니다.
  • 앱의 .plist 파일에 사진 액세스를 위한 앱 ID, 표시 이름 및 사람이 읽을 수 있는 이유를 추가합니다.
  • 프로젝트에 FBSDKShareKit.framework를 연결합니다.

자세한 내용은 iOS용 Facebook SDK 시작하기를 참조하세요.

또한 앱에서 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

필수 조건

아래 요약되어 있는 Android에서 공유의 지침을 따르세요.

또한 앱에서 MessageDialog.canshow({template})를 호출하여 사용자가 기기에 호환되는 Messenger 버전을 설치했는지 확인하세요.