跳到主要内容

账号注销

LI PASS 提供一套标准化的合规解决方案,集成 LI PASS 后业务可直接配置合规服务,无需再接入本文中提到的接口。对于接入 LI PASS 的业务,可联系 Player Network 助手了解更多详情。

对于未使用标准 LI PASS 合规方案的业务,请参考本文内容实现账号注销功能。

前提条件

  1. 账号注销的前置条件由游戏开发根据需求自定。满足条件后,按照步骤实现游戏中账号注销的逻辑。
  2. 业务需根据合规要求为不同国家/地区设置提交注销请求后的静默期。在静默期间,玩家可以重新激活账号并取消注销。静默期过后,账号将被删除。
  3. 业务需提供账号注销邮件模板所需的各区域的游戏官方名称,以及账号注销邮件的联系邮箱。账号注销邮件建议使用官方游戏名称,以便玩家识别您的身份,以免邮件遭到拼比或被标记为垃圾邮件。邮箱将用于收发与账号注销相关的邮件。

在游戏客户端实现账号注销逻辑

图片:账号注销游戏开发调用接口时序

接入账号注销 H5 页面

警告

玩家必须登录后 OpenUrl 中的 encryptEnable 才会自动传参。

调用 OpenUrl 打开 WebView 并拉起账号注销 H5 页面。

URL 请求 GET 参数
参数类型说明备注
pageIndexint进入不同账号注销页面
0: 账号注销
2: 撤销同意隐私协议
3: 撤销同意用户协议
必填
intl_clusterstring游戏接入 Player Network SDK INTLConfig.ini 中 INTL_URL 的 base64URL 编码必填
user_namestring用户名(建议使用游戏内角色名字,如果传空字符串会导致角色名字在删号邮件里显示为空白) 必填
area_iduint游戏区域 ID(不存在时传空字符串)必填
zone_iduint游戏区 ID(不存在时传空字符串)必填
lang_typestring语言类型(RFC 4646),例如 "en"。详情,请参见 语言类型定义必填
登录态数据

OpenUrl 时的参数 encryptEnable 传 true,以下登录状态数据将自动添加到链接中。更多信息,请参见 OpenUrl

参数类型说明备注
gameidstringPlayer Network 分配的游戏 ID必填
channelidint登录渠道必填
OSstring终端操作系统标示
1: Android
2: iOS
3: Web
4: Linux
5: Windows
6: Switch
必填
encodeparamstring加密字段:
Player Network SDK OpenID,Player Network SDK token,第三方渠道 OpenID 等。
必填
seqstring序列号选填
请求示例
注意

测试环境地址为:test-common-web.intlgame.com
正式环境地址为:common-web.intlgame.com

string delete_account_url = "test-common-web.intlgame.com";
int pageIndex = 0;
string intl_cluster = "aHR0cHM6Ly90ZXN0LmludGxnYW1lLmNvbQ";
string user_name = "xiaooang%20Tx";
string lang_type = "en";
uint area_id = 1;
uint zone_id = 1;
bool encryptEnable = true;
bool isFullScreen = false;
string url = $"https://{delete_account_url}/account-deletion/index.html?pageIndex={pageIndex}&intl_cluster={intl_cluster}&user_name={user_name}&lang_type={lang_type}&area_id={area_id}&zone_id={zone_id}";
INTLAPI.OpenUrl(url, INTLWebViewOrientation.Auto, isFullScreen, encryptEnable);
访问示例
正式环境:
https://common-web.intlgame.com/account-deletion/index.html?pageIndex=0&area_id=1&zone_id=1&lang_type=en&intl_cluster=aHR0cHM6Ly90ZXN0LmludGxnYW1lLmNvbQ&gameid=11&channelid=6&user_name=xiaooang%20Tx&os=1&ts=1617245219&sdk_version=1.7.00.28&seq=11-805b892eed1065983850b0d87f7fe706c862473b579703b711cae6a0d6ffefd4-1617245219-201&encodeparam=97C45AE512DDEDE0F1ED0E2E4FB3C31F8B96E406110A8D6E2F464859350DC359A8E94B25DA42454829B5336D8CD6ADDBCD13C66081391E96EC2F938A1F9F6DE429EBEF3B65D0560D10C428C21E204686D09CE0B64B2BA1E51E732FD05300249C5F118E8316B0A65D700C9AC28310A458
测试环境:
https://test-common-web.intlgame.com/account-deletion/index.html?pageIndex=0&area_id=1&zone_id=1&lang_type=en&intl_cluster=aHR0cHM6Ly90ZXN0LmludGxnYW1lLmNvbQ&gameid=11&channelid=6&user_name=xiaooang%20Tx&os=1&ts=1617245219&sdk_version=1.7.00.28&seq=11-805b892eed1065983850b0d87f7fe706c862473b579703b711cae6a0d6ffefd4-1617245219-201&encodeparam=97C45AE512DDEDE0F1ED0E2E4FB3C31F8B96E406110A8D6E2F464859350DC359A8E94B25DA42454829B5336D8CD6ADDBCD13C66081391E96EC2F938A1F9F6DE429EBEF3B65D0560D10C428C21E204686D09CE0B64B2BA1E51E732FD05300249C5F118E8316B0A65D700C9AC28310A458

H5 回调

注销操作执行后,页面会调用 Player Network SDK 的 JS API,执行 jsCallNative 方法。根据游戏预先设定的国家或地区配置,冷却期和账号注销状态将在本阶段确定。

对于Apple账号,系统将直接调用苹果的账号注销API,无需游戏端进行任何操作。

  • 如果注销成功,回调传值为一个 JSON 字符串:

    {"type":"request_delete_account_success","value":"Request for game account cancellation submitted successfully"}

    通过 type 等于request_delete_account_success 可以判定申请注销账号成功,此时 value 是一个固定的字符串。

  • 如果注销失败,回调传值为一个 JSON 字符串:

    {"type":"request_delete_account_fail","value":"$code|$seq_id|$message"}

    通过 type 等于 request_delete_account_fail 可以判定请求注销账号失败,此时 value 中包含三个信息(用|隔开),分别是:$code 错误码(一个数字),$seq_id 本次请求序列号(用于后台接口定位错误), $message 错误信息。

玩家信息删除协议

Player Network 账号注销服务通过 IDIP 通知游戏删除玩家信息。游戏需实现 IDIP 玩家游戏信息删除接口。推荐业务参考 账号注销协议

IDIP 账号注销协议

{gameserver_dns}:{port}/{path}?idip_sign=xxx

请求体

字段类型说明备注
headObject头信息必填
bodyObject体信息必填

请求体 "head" 参数

字段类型说明备注
iCmdidint命令字, 值为 101必填
iSeqidint数据流消息序号必填
ServiceNamestringService name ("GDOS" extended alternate field)必填
dtSendTimestring格式: YYYY-MM-DD HH:mm:ss必填
iVersionint版本号,调用者设置的固定值必填
AuthenticateString(32)留空字段必填
iSourceUint32请求源 source 值必填

请求体 "body" 参数

字段类型说明备注
areauint32大区,示例:1-日本,2-韩国,3-英国,4-港澳台必填
partitionuint32分区必填
platiduint8平台:iOS(0),安卓(1)必填
openidstringPlayer Network SDK 用户标识必填
serialstring流水号,前端生成必填

返回体

字段类型说明备注
headObject头信息必填
bodyObject体信息必填

返回体 "head" 参数

字段类型说明备注
iCmdidint命令字, 值为 100必填
iSeqidint数据流消息序号必填
ServiceNamestringService name ("GDOS" extended alternate field)必填
dtSendTimestring格式: YYYY-MM-DD HH:mm:ss必填
iVersionint版本号,调用者设置的固定值必填
AuthenticateString(32)留空字段必填
iSourceUint32请求源 source 值必填

返回体 "body" 参数

字段类型说明备注
retint返回码,0:成功,其他:失败必填
msgstring返回结果详细说明必填
game_retint32返回结果,0:成功,1:账号不存在,其他:失败必填
game_msgstring返回结果说明必填

游戏玩家最近登录时间协议

Player Network 账号注销服务通过 IDIP 查询玩家信息流水;(游戏需实现)。

推荐业务参考 最后登录时间协议

现有游戏 (IDIP) 查询玩家最近登录时间协议

{gameserver_dns}:{port}/{path}?idip_sign=xxx

请求体

字段类型说明备注
headObject头信息必填
bodyObject体信息必填

请求体 "head" 数组内容

字段类型说明备注
iCmdidint命令字, 值为 101必填
iSeqidint数据流消息序号必填
ServiceNamestringService name ("GDOS" extended alternate field)必填
dtSendTimestring格式: YYYY-MM-DD HH:mm:ss必填
iVersionint版本号,调用者设置的固定值必填
AuthenticateString(32)留空字段必填
iSourceUint32请求源 source 值必填

请求体 "body" 数组内容

字段类型说明备注
areaint32大区:1-日本,2-韩国,3-英国,4-港澳台必填
partitionuint32分区必填
platidint32平台:iOS(0),安卓(1)必填
openidstringPlayer Network SDK 用户标识必填

响应体

字段类型说明备注
headObject头信息必填
bodyObject体信息必填

响应体 "head" 数组内容

字段类型说明备注
iCmdidint命令字, 值为 101必填
iSeqidint数据流消息序号必填
ServiceNamestringService name ("GDOS" extended alternate field)必填
dtSendTimestring格式: YYYY-MM-DD HH:mm:ss必填
iVersionint版本号,调用者设置的固定值必填
AuthenticateString(32)留空字段必填
iSourceUint32请求源 source 值必填

响应体 "body" 数组内容

字段类型说明备注
retint返回码,0:成功,其他:失败必填
msgstring返回结果详细说明必填
game_retint32返回结果,0:成功,1:账号不存在,其他:失败必填
game_msgstring返回结果说明必填
login_timeuint32用户最后登录游戏时间,Unix 时间戳必填