Si desarrollas con la versión 4.29.0 o posterior del SDK de Facebook para iOS o Android, puedes permitir que las personas compartan en Messenger enlaces y contenido multimedia de las apps. Cuando un usuario comparte contenido en Messenger, puedes activar las extensiones de chat mediante el enlace de atribución. Tus extensiones de chat aparecen en la sección Más de la interfaz de contenido compartido.
Para obtener más información, consulta las siguientes secciones:
Consulta Contenido compartido en Messenger para la web a fin de implementar la opción de compartir contenido en Messenger desde la web.
El SDK de Facebook proporciona los siguientes tipos de contenido compartido:
pageID
para la atribución)En la siguiente tabla, se enumeran todos los tipos de contenido que se admiten en el uso compartido de Messenger. Además, se indica si es obligatorio el identificador de una página o app.
Tipo de contenido compartido | ¿Es obligatorio el identificador de la página? | Apps |
---|---|---|
Contenido compartido mediante enlace | Opcional |
|
Foto | No se admite |
|
Los desarrolladores pueden especificar un identificador de la página en el proceso para compartir. De esta manera, cuando las personas compartan contenido de una app a Messenger mediante el SDK para compartir contenido, el contenido se atribuye a la página. A su vez, los administradores de las páginas pueden impedir las atribuciones falsas controlando cuáles apps puede usar una atribución de contenido compartido para sus páginas. Para conceder una atribución de contenido compartido de la app, el administrador vincula el identificador de esta última con el de la página.
Para vincular un identificador de app al de una página:
Los administradores de la página también pueden eliminar el permiso de una app para usar la atribución de contenido compartido.
Para eliminar el rol "share attribution" de una app determinada:
Si usas un botón de URL en el SDK para compartir contenido y quieres que se active la extensión de Messenger para la URL cuando se abra en Messenger, debes registrar los dominios de la URL para que el contenido compartido funcione correctamente.
Para registrar un dominio:
Para obtener más información, consulta SDK de extensiones de Messenger: Lista blanca de dominios obligatoria.
Sigue estos pasos antes de agregar la opción de compartir tu app en Messenger:
.plist
de la app puede acceder a las fotos.FBSDKShareKit.framework
a tu proyecto.Para obtener más información, consulta Primeros pasos con el SDK de Facebook para iOS.
Asegúrate también de que la app realice una llamada a canShow
o validate
en la instancia MessageDialog
para determinar si las personas tienen una versión compatible de Messenger instalada en sus dispositivos.
No se admite la propiedad de citas.
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 Uso compartido en Android, que se resumen a continuación:
Asegúrate también de que la app llame a MessageDialog.canshow({template})
para determinar si las personas tienen una versión compatible de Messenger instalada en sus dispositivos.