Если при разработке используется Facebook SDK для iOS или Android версии 4.29.0 или более поздней, можно предоставить людям возможность публиковать ссылки и медиафайлы из ваших приложений в Messenger. При этом можно задействовать расширения чата через ссылку атрибуции. Расширения находятся в разделе Ещё интерфейса публикации.
Подробнее читайте в следующих разделах:
Информацию о том, как добавить возможность публикации в Messenger для веб-платформы, см. в этой статье.
Facebook SDK предоставляет следующие типы публикаций:
pageID для атрибуции);В таблице ниже перечислены все поддерживаемые типы публикаций в Messenger, и указано, требуется ли идентификатор Страницы или приложения.
| Тип публикации | Требуется ли идентификатор Страницы | Приложения |
|---|---|---|
Публикация ссылки | Необязательно |
|
Фото | Не поддерживается |
|
Разработчики могут указать в диалоге публикации идентификатор Страницы, и тогда при публикации контента из приложения в Messenger через SDK Sharing публикуемый контент будет связан с этой Страницей. В свою очередь администраторы Страниц могут выбирать, какие приложения могут связывать публикации с их Страницами, и предотвращать ложную атрибуцию. Чтобы разрешить приложению атрибуцию публикаций, администратор может связать идентификатор приложения и Страницы.
Для этого выполните следующие действия:
Администраторы Страницы могут лишить приложение этого разрешения, то есть запретить использовать атрибуцию публикаций.
Чтобы удалить роль "атрибуция публикаций" для конкретного приложения, выполните следующие действия:
Если вы используете кнопку с URL в SDK Share и хотите включить для URL расширение Messenger, вам нужно зарегистрировать домен URL, иначе публикация может работать некорректно.
Регистрация домена:
Подробнее см. в разделе SDK расширений Messenger — обязательное внесение доменов в белый список.
Прежде чем добавить в приложение возможность публикации в Messenger, выполните следующие действия:
.plist доступ к фото;FBSDKShareKit.framework ссылку на свой проект.Подробнее см. в статье Facebook SDK для iOS: начало работы.
Убедитесь, что приложение выполняет вызов canShow или validate для экземпляра MessageDialog, чтобы определить, установлена ли на устройствах совместимая версия 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.