Compartilhamento no Messenger para iOS e Android

Quando você desenvolve com o SDK do Facebook para iOS ou Android versão 4.29.0 ou posterior, é possível habilitar o compartilhamento no Messenger de links e mídia dos seus apps. Quando um usuário compartilha no Messenger, você pode disparar as extensões de bate-papo por meio do link de atribuição. As extensões de bate-papo aparecem na seção Mais da interface de compartilhamento.

Para mais informações, consulte as seguintes seções:

Para implementar o compartilhamento no Messenger para a web, consulte Sharing to Messenger for the Web.

Tipos de compartilhamento

O SDK do Facebook oferece os seguintes tipos de compartilhamento:

  • Compartilhamento de links (igual ao compartilhamento de links atual, mas com um pageID para atribuição)
  • Foto (não atribuída)

A tabela a seguir lista todos os tipos de compartilhamento suportados no compartilhamento no Messenger, além de indicar se há necessidade de um ID de página ou de app.

Tipo de compartilhamento ID da Página necessário? Aplicativos

Compartilhamento de links

Opcional

  • Link sem atribuição
  • Ligação com atribuição

Foto

Não compatível

  • Fotos
  • Foto da biblioteca

Como vincular IDs de apps e Páginas

Os desenvolvedores podem especificar um ID da Página no fluxo de compartilhamento, e quando as pessoas compartilham conteúdo de um app no Messenger por meio do SDK de compartilhamento, o conteúdo é atribuído à Página. Os administradores de páginas, por sua vez, podem impedir atribuições falsas ao controlar quais apps podem usar uma atribuição de compartilhamento relacionada às próprias Páginas. Para conceder uma atribuição de compartilhamento de app, o administrador vincula o ID do app ao ID da Página.

Para vincular um ID do app e um ID da página:

  1. Acesse Configurações da Página.
  2. Clique na seção Plataforma do Messenger.
  3. Acesse a seção Vincular um app em Configurações gerais.
  4. Digite o ID do app e clique no botão Vincular.
  5. Se o app NÃO estiver na tabela Apps com assinatura, ele aparecerá na tabela com a função de "atribuição de compartilhamento" associada a ele. Se o app já estiver na tabela, a nova função de "atribuição de compartilhamento" será adicionada a ele.

Os administradores de páginas também podem remover a permissão de um app para usar a atribuição de compartilhamento.

Para remover a função "atribuição de compartilhamento" de um determinado app:

  1. Na tabela Apps com assinatura, clique no menu suspenso na coluna "função" do app.
  2. Clique na "atribuição de compartilhamento" para desmarcar a função.
  3. Se a "atribuição de compartilhamento" for a única função do app, a linha do app será removida da tabela. Caso contrário, a linha permanecerá, mas a linha de "compartilhar atribuição" será desmarcada.

Como registrar domínios

Se você usa um botão URL no SDK de compartilhamento e deseja habilitar a Extensão do Messenger para a sua URL quando aberta no Messenger, você deve registrar o domínio da URL para que o compartilhamento funcione corretamente.

Para registrar um domínio, faça o seguinte:

  1. Visualize a página.
  2. Navegue até Configurações > Mensagens avançadas.
  3. Adicione o domínio ao campo Domínios de lista de liberação.

Para mais informações, consulte SDK de extensões do Messenger: é obrigatório incluir domínio na lista de liberação.

iOS

Pré-requisitos

Antes de adicionar o compartilhamento no Messenger ao seu app, conclua as seguintes etapas:

  • Adicionar o SDK do Facebook para iOS ao seu ambiente de desenvolvimento móvel.
  • Configurar e vincular o ID do app do Facebook ao ID da Página com a ferramenta plataforma do Messenger.
  • Adicionar o ID do app, o nome de exibição e o motivo legível para o acesso às fotos do arquivo .plist do app.
  • Vincular a FBSDKShareKit.framework ao projeto.

Para mais informações, consulte Introdução ao SDK do Facebook para iOS.

Verifique também se o app faz chamadas a canShow ou validate na instância MessageDialog para determinar se as pessoas têm uma versão compatível do Messenger instalada no dispositivo.

Limitações

A propriedade de citação não é compatível.

Exemplo de compartilhamento de link

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

Exemplo de compartilhamento de 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()

Exemplo de compartilhamento de vídeo

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

Pré-requisitos

Siga as instruções em Como compartilhar no Android, resumidas abaixo:

Certifique-se também de que o seu app faz chamadas a MessageDialog.canshow({template}) para determinar se as pessoas têm uma versão compatível do Messenger instalada nos respectivos dispositivos.