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.
O SDK do Facebook oferece os seguintes tipos de compartilhamento:
pageID
para atribuição)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 |
|
Foto | Não compatível |
|
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:
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:
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:
Para mais informações, consulte SDK de extensões do Messenger: é obrigatório incluir domínio na lista de liberação.
Antes de adicionar o compartilhamento no Messenger ao seu app, conclua as seguintes etapas:
.plist
do app.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.
A propriedade de citação não é compatível.
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()
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.