Cuando desarrollas con la versión 4.29.0 o posterior del SDK de Facebook para iOS o Android, puedes permitir que los usuarios compartan enlaces y contenido multimedia en Messenger desde tus aplicaciones. Cuando un usuario comparte contenido en Messenger, puedes activar las extensiones de chat mediante el enlace de atribución. Las extensiones de chat se muestran en la sección Más de la interfaz para compartir.
Para obtener más información, consulta estas secciones:
Para implementar el contenido compartido en Messenger para la web, consulta Contenido compartido en Messenger para la web.
El SDK de Facebook proporciona los siguientes tipos de contenido compartido:
pageID
para atribución)En la siguiente tabla figuran todos los tipos de contenido compartido que se admiten en Messenger y se indica si se requiere un identificador de página o de aplicación.
Tipo de contenido compartido | ¿Se requiere identificador de página? | Aplicaciones |
---|---|---|
Enlace compartido | Opcional |
|
Foto | No admitido |
|
Los desarrolladores pueden especificar un identificador de página en el proceso para compartir contenido. De esta manera, cuando las personas compartan contenido en Messenger desde una aplicación mediante el SDK de contenido compartido, el contenido se atribuirá a la página correspondiente. A su vez, los administradores de páginas pueden evitar atribuciones falsas al controlar qué aplicaciones pueden utilizar la atribución de contenido compartido para sus páginas. Para conceder la atribución de contenido compartido a una aplicación, el administrador debe vincular el identificador de esta al de la página.
Para vincular un identificador de la aplicación a uno de la página:
Los administradores de la página también pueden eliminar el permiso de una aplicación para usar la atribución de contenido compartido.
Para eliminar el rol “atribución de contenido compartido” de una aplicación determinada:
Si utilizas un botón de URL en el SDK de contenido compartido y quieres activar la extensión de Messenger para tu URL cuando se abra en esta plataforma, debes registrar el dominio de la URL para que el contenido se comparta correctamente.
Para registrar un dominio, sigue estos pasos:
Para obtener más información, consulta SDK de extensiones de Messenger: lista de dominios autorizados requerida.
Antes de añadir la posibilidad de compartir contenido en Messenger a tu aplicación, sigue estos pasos:
.plist
de tu aplicación.FBSDKShareKit.framework
a tu proyecto.Para obtener más información, consulta Introducción al SDK de Facebook para iOS.
Asegúrate también de que tu aplicación llama a canShow
o validate
en la instancia MessageDialog
para verificar si los usuarios tienen una versión compatible de Messenger instalada en sus dispositivos.
No se admite la propiedad de presupuesto.
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()
Sigue las instrucciones en Compartir en Android, resumidas a continuación:
Asegúrate también de que tu aplicación llama a MessageDialog.canshow({template})
para verificar si los usuarios tienen una versión compatible de Messenger instalada en sus dispositivos.