跳到主要内容

账号注销

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,以下登录状态数据将自动添加到链接中。更多信息,请参见“打开网页页面链接添加登录态数据”的 Unity 接口UE 接口

参数类型说明备注
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 方法。

  • 如果注销成功,回调传值为一个 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" 参数

字段类型说明备注
OpenIdString(64)Player Network SDK 用户标识必填
SerialString请求序号,由调用方生成必填
AreaIduint游戏大区必填
PlatIduint平台必填
ZoneIduint小区必填

返回体

字段类型说明备注
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" 参数

字段类型说明备注
iRetint游戏返回码必填
ErrorInfostring从游戏侧返回的信息必填

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

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" 数组内容

字段类型说明备注
OpenIdString(64)Player Network SDK 用户标识必填
AreaIduint游戏大区必填
PlatIduint平台必填
ZoneIduint小区必填

响应体

字段类型说明备注
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" 数组内容

字段类型说明备注
iRetint游戏返回码必填
ErrorInfostring从游戏侧返回的信息必填
LoginTimeuint64用户最后登录游戏时间,Unix 时间戳必填

在游戏官网实现账号注销

步骤1:引⼊ SDK

警告

项目联调阶段可以引⼊ SDK 联调版本包,该包仅用于集成测试。项目上线须引⼊ SDK 正式版本包。

目前已支持 npm 包方式和 CDN 方式。

$ npm install @intlsdk/dsr-api
//SDK 联调版本包
<script src="https://test-common-web.intlgame.com/sdk-cdn/dsr-api/index.umd.js"></script>

//SDK 正式版本包
<script src="https://common-web.intlgame.com/sdk-cdn/dsr-api/index.umd.js"></script>

步骤2:使用 SDK

const dsrApi = new IntlgameDSRApi({
env: "test",
channelID: 52,
gameID: 11,
accountPlatType: 52,
appID: "",
});
参数类型描述备注
envstringSDK 环境
更多信息,请参见 获取部署集群信息
必填
channelIDnumber支持的第三方渠道的渠道 ID
更多信息,请参见 Login Channel and ChannelID Relationship
第三方渠道必填
appIDstring应用 ID
Player Network 控制台分配的 ACCOUNT_APP_ID
选填
accountPlatTypenumber自建账号的渠道 ID
Player Network 控制台分配的 ACCOUNT_PLAT_TYPE
自建账号必填
gameIDnumberPlayer Network 游戏唯一标识 ID必填

步骤3:实现账号注销

Image: Account deletion