Se você quiser compartilhar o mesmo ID do usuário no escopo entre as versões de teste, desenvolvimento, preparo ou controle de qualidade do app, use os apps de teste.
O Facebook emite IDs de usuário no escopo do app para o primeiro login feito em uma instância do app e para pessoas que entram com Login Limitado. Para pessoas que usam um bot do Messenger pela primeira vez, o Facebook emite IDs de usuário no escopo da Página. Por definição, isso significa que o ID para a mesma pessoa pode ser diferente entre esses aplicativos e bots.
Uma empresa pode operar vários aplicativos ou bots do Facebook. Isso é comum em estúdios de jogos, por exemplo, para apoiar casos de uso como promoção cruzada ou detecção de fraudes ou em bots usados para se comunicar com os usuários. Nesses casos, você pode precisar mapear o ID da mesma pessoa entre esses aplicativos e bots.
Há três métodos para mapear o mesmo usuário em vários aplicativos:
Antes de usar esses mecanismos, você deve informar ao Facebook que os seus aplicativos pertencem e são operados pela mesma entidade de negócios. Para fazer isso, você precisará usar o Gerenciador de Negócios do Facebook para:
token_for_business
no nó do usuárioQuando o app estiver associado a um Gerenciador de Negócios, solicite o campo token_for_business
no nó User
usando o ID no escopo do app obtido por meio do Login Limitado ou do primeiro login a uma instância do app. Essa chamada retorna uma string, que é igual para essa pessoa em todos os apps gerenciados pelo mesmo Gerenciador de Negócios.
GET /me?fields=token_for_business
gerará:
{ "id": "1234567890" "token_for_business": "weg23ro87gfewblwjef" }
Notas de uso:
token_for_business
também será alterado.token_for_business
e o app não estiver associado ao Gerenciador de Negócios, a chamada retornará um erro.token_for_business
é um token, não um ID. Ele não poderá ser usado diretamente com a Graph API para acessar as informações de uma pessoa. Você deve continuar armazenando o ID no seu banco de dados e usá-lo para chamar a Graph API a fim de obter as informações da pessoa.Por conveniência, o campo token_for_business
está disponível em todas as versões da API.
token_for_business
no objeto do Canvas signed_request
Para que apps com presença no Canvas mapeiem mais facilmente um usuário em vários apps (se o app estiver associado a um Gerenciador de Negócios e o usuário estiver conectado no app), um campo token_for_business
será adicionado e transmitido ao app pelo signed_request
transmitido aos apps do Canvas no carregamento. Por exemplo:
{ "algorithm": "HMAC-SHA256", "expires": 1414263600, "issued_at": 1414257389, "oauth_token": "CAAGEkq9GMZAkBAFnvvQ3M6msZBKITLa1gVZBVdnLTdJue2QeV6fMKRXn4G6fcEZB5ZAJyg3z6HdaKOJCCMJ1l9YFWmN4hq6nNnx77f9O7SYhsnPcJ6iH79xjFwqhrALgieDp7GiziMy5Y3Mol6RzHvCM5ceqQe9ZAijvrWZB5hEIwphbMQKEwZA4ZBozXP3NJgEZA3nZCMTTtvleWpxfmqIqO5XwxneCZBsZC4", "token_for_business": "AbwoGqummPbF3zp_", "user_id": "10154418713995634" }
O valor do campo token_for_business
será o mesmo se consultado diretamente no nó User
(por exemplo, por meio de /me?fields=token_for_business
). Ele segue as mesmas regras, ou seja, se a empresa proprietária for alterada, o valor do token_for_business
também será alterado.
Se o app não estiver associado a um Gerenciador de Negócios ou o usuário não estiver conectado no app, a propriedade token_for_business
não estará presente no objeto signed_request
.
ids_for_business
no nó do usuárioObtenha os IDs de empresas mapeados por meio de uma chamada para a borda ids_for_business
no nó User
. A resposta é uma matriz de objetos, cada um representando um app associado à mesma empresa do app que fez a chamada, no qual a pessoa está conectada.
GET /me/ids_for_business
Exemplo de resposta:
{ "data": [ { "id": "10153949089790582", "app": { "name": "Business's App 1", "namespace": "business_app_1", "id": "647733625268125" } }, { "id": "605665581", "app": { "name": "Business's App 2", "namespace": "business_app_2", "id": "370612223054807" } }, { "id": "10154053730190582", "app": { "name": "Business's App 3", "namespace": "business_app_3", "id": "194890427204075" } } ] }
Para que dados sejam retornados pela API, o usuário deve estar conectado a um ou mais apps associados à mesma empresa cujo app está fazendo a chamada de API. Exemplo: se uma pessoa estiver conectada com três a cinco apps associados à mesma empresa, a API retornará três objetos.
Não. A API de Mapeamento de Negócios é útil apenas para empresas que operam vários aplicativos do Facebook e que precisam mapear o mesmo ID de usuário entre eles. Se você tiver um aplicativo primário, provavelmente não precisará usar a API de Mapeamento de Negócios e, assim, não será necessário configurar uma empresa ou associar seus aplicativos com a empresa.
O Gerenciador de Negócios é uma forma de ajudar empresas e agências a gerenciar suas Páginas do Facebook, contas de anúncios, aplicativos e formas de pagamento em um só lugar. Saiba mais Sobre o Gerenciador de Negócios do Facebook.
Se você não precisar usar a API de Mapeamento de Negócios, não recomendamos configurar uma empresa no momento. Como uma empresa precisa estar vinculada à Página do Facebook primária da sua empresa, a pessoa mais indicada a configurar a empresa no Facebook é aquela que normalmente gerencia contas de anúncios do Facebook e permissões para Páginas da sua empresa. Se ela já configurou sua empresa no Gerenciador de Negócios, você pode associar aplicativos à empresa.
Não. Um app só pode ser associado a uma empresa por vez.
Sim. Primeiro, você deve remover o aplicativo da empresa com a qual está associado. Você pode fazer isso no Gerenciador de Negócios. Basta acessar a aba Aplicativos nas configurações da empresa, selecionar o app e clicar em "Remover". Depois, você poderá associar o aplicativo a uma nova empresa.