Uso compartido en Messenger para iOS y Android

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.

Tipos de contenido compartido

El SDK de Facebook proporciona los siguientes tipos de contenido compartido:

  • Opción de compartir enlace (la misma función que ya existe, pero con un pageID para la atribución)
  • Foto (sin 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

  • Enlace sin atribución
  • Enlace con atribución

Foto

No se admite

  • Fotos
  • Foto de la biblioteca

Vincular los identificadores de la app y la página

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:

  1. Ve a la Configuración de la página.
  2. Haz clic en la sección Plataforma de Messenger.
  3. Ve a la sección Vincular una app en Configuración general.
  4. Ingresa el identificador de la app y haz clic en el botón Vincular.
  5. Si esta app NO se encontraba ya en la tabla Suscripciones de apps, se mostrará en la tabla con el rol "share attribution" (atribución de contenido compartido) asociado a ella. Si la app ya estaba en la tabla, se agregará el nuevo rol "share attribution" en esa app.

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:

  1. En la tabla Suscripciones de apps, haz clic en el menú desplegable en la columna "rol" de la app.
  2. Haz clic en "share attribution" para anular la selección del rol.
  3. Si "share attribution" era el único rol de la app, se eliminará la fila de la tabla para la app. De lo contrario, la fila permanecerá, pero se anulará la selección de la fila "share attribution".

Registrar dominios

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:

  1. Visualiza la página.
  2. Ve a Configuración > Mensajería avanzada.
  3. Agrega el dominio al campo Dominios admitidos.

Para obtener más información, consulta SDK de extensiones de Messenger: Lista blanca de dominios obligatoria.

iOS

Requisitos previos

Sigue estos pasos antes de agregar la opción de compartir tu app en Messenger:

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.

Limitaciones

No se admite la propiedad de citas.

Ejemplo de opción de compartir enlace

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()

Ejemplo de opción de compartir foto

// 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()

Ejemplo de opción de compartir video

// 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

Requisitos previos

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.