绑定(Bind)
将第三方渠道绑定到游客账号上。其本质是指多个第三方账号共用一个 Player Network SDK OpenID。
一般使用场景为:游客登录游戏,然后绑定 Facebook 或者 Google 账号。
函数定义
UFUNCTION(BlueprintCallable, Category = "INTLSDKAPI")
static bool Bind(
const EINTLLoginChannel Channel,
const FString permissions,
const FString extraJson);
入参说明
参数 | 类型 | 说明 |
---|---|---|
Channel | EINTLLoginChannel | 指定绑定的渠道。 更多信息,请参见 EINTLLoginChannel。 |
permissions | string | 绑定时授权权限列表,多个权限用逗号分隔 例如 user_info,inapp_friends |
extraJson | string | 扩展字段 更多信息,请参见相对渠道说明。 |
返回值
回调 ID 是 kMethodIDAuthLaunchAccountUI
。
回调处理
回调处理接口是 AuthResultObserver。回调数据结构是 AuthResult。
回调 ID 是 kMethodIDAuthBind
。
绑定第三方渠道账号
bool support = UINTLSDKAPI::Bind(EINTLLoginChannel::kChannelSteam);
绑定自建账号(使用密码登录做绑定)
参数 | 类型 | 说明 |
---|---|---|
类别 | string | 登录 |
account | string | 账号 支持邮箱和手机号 |
accountType | int | 账号类型 1:邮箱账号 2:手机账号 |
password | string | 密码 |
phoneAreaCode | string | 手机区域码 例如 "86" 为中国。 如果用邮件地址注册账号,则为空。 |
FString extra_json = "{\"type\":\"login\",\"account\":\"\",\"accountType\":1,\"phoneAreaCode\":\"\",\"password\":\"\"}";
UINTLSDKAPI::Bind(EINTLLoginChannel::kChannelCustomAccount, "", extra_json);
绑定自建账号(使用验证码登录做绑定)
参数 | 类型 | 说明 |
---|---|---|
类别 | string | loginWithCode |
account | string | 账号 支持邮箱和手机号 |
accountType | int | 账号类型 1:邮箱账号 2:手机账号 |
verifyCode | string | 验证码 |
phoneAreaCode | string | 手机区域码 例如 "86" 为中国。 如果用邮件地址注册账号,字段则为空。 |
FString extra_json = "{\"type\":\"loginWithCode\",\"account\":\"\",\"accountType\":1,\"verifyCode\":\"\",\"phoneAreaCode\":\"\"}";
UINTLSDKAPI::Bind(EINTLLoginChannel::kChannelCustomAccount, "", extra_json);
绑定自建账号 (注册)
参数 | 类型 | 说明 |
---|---|---|
类别 | string | register |
account | string | 账号 支持邮箱和手机号 |
accountType | int | 账号类型 1:邮箱账号 2:手机账号 |
verifyCode | string | 验证码 |
password | string | 密码 |
phoneAreaCode | string | 手机区域码 例如 "86" 为中国。 如果用邮件地址注册账号,字段则为空。 |
birthday | string | 用户生日 例如,1970年12月31日,填写 "1970-12-31"。 |
region | string | ISO 3166-1 国家或地区的数字代码 例如 156 代表中国,040 代表奥地利 |
isReceiveEmail | int | 是否接收营销邮件 0:不接收营销邮件 1:接受营销邮件 |
langType | string | 语言类型 (RFC 4646) 例如,"en " 代表英语。详情,请参见 语言类型定义。 |
username | string | 用户名,必须以字母开头,只包含小写字母 (从 a 到 z),下划线 (_) 和数字 (从 0 到 9)。长度可以是 6 到 16 个字母。 |
FString extra_json = "{\"type\":\"register\",\"account\":\"\",\"accountType\":1,\"verifyCode\":\"\",\"password\":\"\",\"phoneAreaCode\":\"\",\"birthday\":\"1970-12-31\",\"region\":\"156\",\"isReceiveEmail\":\"0\",\"langType\":\"en\",\"username\":\"YOUR_USER_NAME\"}";
UINTLSDKAPI::Bind(EINTLLoginChannel::kChannelCustomAccount, "", extra_json);