跳到主要内容

绑定(Bind)

AndroidiOSWindows
如果您使用的是 Unreal Engine,请参见 Unreal Engine SDK 的 Bind

将第三方渠道绑定到游客账号上。其本质是指多个第三方账号共用一个 Player Network SDK OpenID。
一般使用场景为:游客登录游戏,然后绑定 Facebook 或者 Google 账号。

函数定义

public static void Bind(string channel, string permissions = "", string extraJson = "{}");

入参说明

参数类型说明
channelstring指定绑定的渠道。
更多信息,请参见 INTLChannel
permissionsstring绑定时授权权限列表,多个权限用逗号分隔
例如 user_info,inapp_friends
extraJsonstring扩展字段
更多信息,请参见相对渠道说明。

返回值

没有返回值。

回调处理

回调处理接口是 AuthResultObserver。回调数据结构是 AuthResult

回调 ID 是 INTL_AUTH_BIND

绑定第三方渠道账号

INTLAPI.Bind(INTLChannel.Facebook);

绑定自建账号(使用密码登录做绑定)

参数类型说明
类别string登录
accountstring账号
支持邮箱和手机号
accountTypeint账号类型
1:邮箱账号
2:手机账号
passwordstring密码
phoneAreaCodestring手机区域码
例如 "86" 为中国。
如果用邮件地址注册账号,则为空。
string extra_json = "{\"type\":\"login\",\"account\":\"\",\"accountType\":1,\"phoneAreaCode\":\"\",\"password\":\"\"}";
INTLAPI.Bind(INTLChannel.CustomAccount, "", extra_json);

绑定自建账号(使用验证码登录做绑定)

参数类型说明
类别stringloginWithCode
accountstring账号
支持邮箱和手机号
accountTypeint账号类型
1:邮箱账号
2:手机账号
verifyCodestring验证码
phoneAreaCodestring手机区域码
例如 "86" 为中国。
如果用邮件地址注册账号,字段则为空。
string extra_json = "{\"type\":\"loginWithCode\",\"account\":\"\",\"accountType\":1,\"verifyCode\":\"\",\"phoneAreaCode\":\"\"}";
INTLAPI.Bind(INTLChannel.CustomAccount, "", extra_json);

绑定自建账号 (注册)

参数类型说明
类别stringregister
accountstring账号
支持邮箱和手机号
accountTypeint账号类型
1:邮箱账号
2:手机账号
verifyCodestring验证码
passwordstring密码
phoneAreaCodestring手机区域码
例如 "86" 为中国。
如果用邮件地址注册账号,字段则为空。
birthdaystring用户生日
例如,1970年12月31日,填写 "1970-12-31"。
regionstringISO 3166-1 国家或地区的数字代码
例如 156 代表中国,040 代表奥地利
isReceiveEmailint是否接收营销邮件
0:不接收营销邮件
1:接受营销邮件
langTypestring语言类型 (RFC 4646)
例如,"en " 代表英语。详情,请参见 语言类型定义
usernamestring用户名,必须以字母开头,只包含小写字母 (从 a 到 z),下划线 (_) 和数字 (从 0 到 9)。长度可以是 6 到 16 个字母。
string extra_json = "{\"type\":\"register\",\"account\":\"\",\"accountType\":1,\"verifyCode\":\"\",\"password\":\"\",\"phoneAreaCode\":\"\",\"birthday\":\"1970-12-31\",\"region\":\"156\",\"isReceiveEmail\":\"0\",\"langType\":\"en\",\"username\":\"YOUR_USER_NAME\"}";
INTLAPI.Bind(INTLChannel.CustomAccount, "", extra_json);