앱의 테스트, 개발, 준비 또는 QA 버전에서 동일한 범위 사용자 ID를 공유하고 싶다면 테스트 앱을 사용하세요.
Facebook에서는 앱 인스턴스에 처음 로그인하는 사용자와 제한된 로그인으로 로그인한 사용자에게 앱 범위 사용자 ID를 발급합니다. Messenger 봇을 처음 사용하는 사용자에게는 페이지 범위 사용자 ID를 발급합니다. 기본적으로 같은 사람의 ID가 앱과 봇에서 달라질 수 있음을 의미합니다.
비즈니스는 여러 Facebook 앱이나 봇을 운영할 수 있습니다. 예를 들어 이는 교차 프로모션이나 부정행위 탐지 등의 사용 사례를 지원하려는 게임 스튜디오나 사용자와의 커뮤니케이션에 사용하는 봇에서 일반적입니다. 이러한 경우 해당 앱과 봇 사이에 동일한 사람의 ID를 매핑해야 할 수도 있습니다.
여러 앱에서 동일한 사용자를 매핑하는 방법은 세 가지가 있습니다.
이러한 메커니즘을 사용하기 전에 앱들을 동일한 비즈니스에서 소유하고 운영한다는 것을 Facebook에 알려야 합니다. 이렇게 하려면 Facebook 비즈니스 관리자를 사용하여 다음 작업을 수행해야 합니다.
token_for_business
필드앱이 비즈니스 관리자와 연결되면 제한적 로그인이나 앱 인스턴스에 처음 로그인할 때 받은 앱 범위 ID를 사용하여 User
노드에서 token_for_business
필드를 요청할 수 있습니다. 이 호출에서 문자열이 반환되는데, 이는 동일한 비즈니스 관리자에서 관리하는 모든 앱에서 해당 인물에 대해 동일합니다.
GET /me?fields=token_for_business
응답:
{ "id": "1234567890" "token_for_business": "weg23ro87gfewblwjef" }
사용 참고:
token_for_business
의 값도 변경됩니다.token_for_business
필드를 요청했는데 앱이 비즈니스 관리자와 연결되어 있지 않다면 호출에 오류를 반환합니다.token_for_business
에서 반환된 값은 ID가 아니라 토큰입니다. 그래프 API에서 사용자 정보에 액세스하는 데 직접 사용할 수 없습니다. 데이터베이스에 ID를 저장한 다음, 그래프 API를 호출해 해당 사용자의 정보를 받아야 합니다.편의를 위해 token_for_business
필드는 모든 API 버전에서 제공됩니다.
signed_request
의 token_for_business
속성캔버스를 사용하는 앱의 경우 여러 앱에서 사용자를 간편하게 매핑할 수 있도록 하기 위해, 앱이 비즈니스 관리자와 연결되어 있고 사용자가 앱에 로그인한 적이 있으면 업로드 시 캔버스 앱에 전달된 signed_request
를 통해 token_for_business
필드를 추가, 전달합니다. 예를 들면 다음과 같습니다.
{ "algorithm": "HMAC-SHA256", "expires": 1414263600, "issued_at": 1414257389, "oauth_token": "CAAGEkq9GMZAkBAFnvvQ3M6msZBKITLa1gVZBVdnLTdJue2QeV6fMKRXn4G6fcEZB5ZAJyg3z6HdaKOJCCMJ1l9YFWmN4hq6nNnx77f9O7SYhsnPcJ6iH79xjFwqhrALgieDp7GiziMy5Y3Mol6RzHvCM5ceqQe9ZAijvrWZB5hEIwphbMQKEwZA4ZBozXP3NJgEZA3nZCMTTtvleWpxfmqIqO5XwxneCZBsZC4", "token_for_business": "AbwoGqummPbF3zp_", "user_id": "10154418713995634" }
User
노드에 직접 쿼리하면(예: /me?fields=token_for_business
를 통해) token_for_business
필드의 값이 동일해집니다. 또한 소유하는 비즈니스가 변경되면 token_for_business
의 값도 변경되는 규칙이 동일하게 적용됩니다.
앱이 비즈니스 관리자와 연결되어 있지 않거나 사용자가 앱에 로그인하지 않았다면 token_for_business
속성은 signed_request
개체에 존재하지 않습니다.
ids_for_business
에지User
노드에서 ids_for_business
에지를 호출하여 매핑된 비즈니스 ID를 가져옵니다. 응답은 개체의 배열이며, 각각 호출을 보내는 앱과 동일한 비즈니스에 연결된 앱을 나타냅니다. 이 앱은 해당 사용자가 로그인한 적이 있어야 합니다.
GET /me/ids_for_business
응답 예시:
{ "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" } } ] }
API에서 반환할 데이터의 경우 사용자가 API 호출을 보내는 앱과 동일한 비즈니스에 연결된 하나 이상의 앱에 로그인한 적이 있어야 합니다. 예: 어떤 사람이 동일한 비즈니스와 연결된 앱 5개 중에 3개에 로그인한 적이 있다면 API는 3개의 개체를 반환합니다.
아니요. 비즈니스 매핑 API는 여러 Facebook 앱을 운영하고 그 앱들에서 동일한 사용자 ID를 매핑해야 하는 비즈니스에만 유용합니다. 기본 앱이 1개라면 비즈니스 매핑 API를 사용해야 할 가능성이 적으므로 비즈니스를 설정하거나 비즈니스와 앱을 연결할 필요가 없습니다.
비즈니스 관리자는 비즈니스 및 에이전시가 Facebook 페이지, 광고 계정, 앱, 결제 방법을 한 곳에서 간편하게 관리할 수 있는 도구입니다. 비즈니스 관리자에 대해 자세히 알아보세요.
비즈니스 매핑 API를 사용할 필요가 없다면 아직은 비즈니스를 설정하지 않는 것이 좋습니다. 비즈니스와 기본 Facebook 페이지를 연결해야 할 경우 평소에 회사의 Facebook 광고 계정과 페이지 권한을 관리하는 사람이 Facebook에서 비즈니스를 설정하는 것이 가장 좋습니다. 비즈니스 관리자에 이미 비즈니스가 설정되어 있다면 해당 비즈니스와 앱을 언제든지 연결할 수 있습니다.
아니요. 앱은 한 번에 하나의 비즈니스와만 연결할 수 있습니다.
예. 먼저 현재 연결되어 있는 비즈니스에서 앱을 삭제합니다. 비즈니스 관리자에서도 앱을 삭제할 수 있습니다. 비즈니스 설정에 있는 앱 탭으로 이동해서 앱을 선택하고 "삭제"를 클릭하면 됩니다. 그런 다음 새 비즈니스와 앱을 연결할 수 있습니다.