查询第三方渠道账号 ID(多商户渠道包)
POST /v3/profile/openid2uid
这个接口使游戏能够从 Player Network SDK OpenID 获得用户的第三方渠道 ID。
注意
启用 Facebook 渠道的 多渠道包支持方案,可以通过 '/v3/profile/openid2uid' 接口查询到同一个用户在 Facebook 多个 AppID 下的 userId,请联系 Player Network 助手启用此接口。
未启用 Facebook 渠道的 多渠道包支持方案,可以使用 查询第三方渠道账号 ID 接口获得用户的第三方渠道 ID。
Facebook 用户 ID
Facebook 渠道的用户身份标识有 token_for_business 和 userid。
在 Facebook 渠道中,有商户、应用的概念:
- 商户:用户登录同一个商户下的不同应用,获取到的 token_for_buiness 相同。
- 应用:在一个商户下可以用多个应用。用户登录同一个商户下的不同应用,获取到的 userId 不同。
如下图所示,一个用户在 Facebook 的同一个商户的多款应用中,有多个用户身份标识。
Facebook 多渠道包场景
- 未使用多商店渠道包:Player Network SDK 的 openid 与 Facebook 的 userId 建立一对一的关系。
- 使用多商店渠道包:
- Player Network SDK 会为业务屏蔽 Facebook 用户身份标识在不同应用下的差异,使同一个用户 Facebook 渠道登录不同的渠道包后获取到的 openid 保持一致。
- Player Network SDK 会为不同的游戏选取不同的 openid 和 Facebook 用户身份标识对应关系。如果您希望了解详细信息可以联系 Player Network 助手。
请求参数
参数 | 类型 | 描述 | 备注 |
---|---|---|---|
openid | string | Player Network SDK OpenID | 必填 |
token | string | Player Network SDK Token | 必填 |
f_openid | string | 同渠道好友的 Player Network SDK OpenID,如果存在这个字段,则返回这个字段对应的 uid,否则返回 openid 字段对应的 uid。 注意:如果您传入了此字段,响应中将不包含的 appid_uid 部分。 | 选填 |
请求示例
curl -sS -X POST 'https://test.intlgame.com/v3/profile/openid2uid?channelid=4&gameid=11&os=3&sdk_version=2.0&source=0&ts=1682336757&sig=7ff4a738a2eb7a7ced667df0262e726f' -d '{"openid":"221323526123","token":"3d232b3138dab682469b6f5e4ed839f964da0993"}'
返回参数
参数 | 类型 | 描述 |
---|---|---|
ret | uint | Response status, 0 stands for success, others stands for failure |
msg | string | Response message |
uid | string | User identifier of login channel |
appid_uid | object | appid_uid obeject -- 附加信息 |
注意
如果请求中传入了 f_openid
字段,响应中将不包含的 appid_uid
部分。appid_uid
中使用 Facebook 提供的 /me/ids_for_business
接口能力来查询多个 appid 下的 userId。
appid_uid
参数 | 类型 | 描述 |
---|---|---|
4 | object | data 对象,Facebook 渠道的 appid-uid 信息 |
data
参数 | 类型 | 描述 |
---|---|---|
data | Array | uid_data 对象数组 |
ret | uint | 返回码 0:正确 其他:失败 |
uid_data
参数 | 类型 | 描述 |
---|---|---|
ret | uint | 查询的状态,不为 0 时表示查询失败/查询为空 |
uid | string | 查询到的 指定 appid 的 uid,为空时表示未查询到 |
app_id | string | 当前查询的 Facebook appid |
返回示例
{
"appid_uid": {
"4": {
"data": [
{
"app_id": "5362764250xxxxx",
"ret": 0,
"uid": "1736156650xxxx"
},
{
"app_id": "12388499200xxxx",
"ret": 0,
"uid": "3342513200xxxx"
}
],
"ret": 0
}
},
"msg": "success",
"openid": "xxxxxxxxxxxxxxxx",
"ret": 0,
"seq": "xxxxxxxxxx-xxxxxxxxxx-xxxxx-xxxxxxxxxx",
"uid": "xxxxxxxxxxxxxxxx"
}