12/12/2024 11:37:55

解决方案

一、概述

MSDKV3 版本与 MSDKV5 版本对应后台数据存储不一致,当 MSDKV3 版本升级到 MSDKV5 版本后,需要对 MSDKV3 版本存量玩家数据进行迁移。主要迁移数据有:
(1)游客账号:仅限 iOS;
(2)手Q/微信渠道登录 openid 沿用 MSDKV3 版本 openid;
(3)注册渠道;
依赖条件:MSDKV5.7 及以上版本支持。

二、V3升级V5的游客迁移过程

客户端游客登录和迁移流程,如下图所示。

图片描述

三、必要的配置( 重要!必须!

V3游客迁移特别提醒

1、【平台ID】原有工程的 QQ-AppId 和 微信-AppId 参数不要更改;
2、【工程参数】原有的 iOS 的 XCode 工程 Keychain Sharing 参数配置不要更改;
3、【客户端配置】在 MSDKAppSetting.bundle 中的配置文件 MSDKConfig.ini 文件中,确保迁移配置开关是开启的;
(1)开启 MSDKV3 的 Guest 数据迁移,1标识开启找回,0标识不开启。

MSDK_MIGRA_GUEST_FROMV3_ENABLE = 1
(2)同时对于 iTOP1 升级到 MSDKV5 的配置开关,保持关闭状态。

MSDK_MIGRA_GUEST_FROM_ITOP1_ENABLE = 0
4、【管理端配置】确认:飞鹰系统管理端【MSDK V3升级V5】选择 【是】(下图为MSDKDemo示例配置)

图片描述

5、【管理端配置】确认:渠道实名认证配置开启(由项目组管理员开启),路径:飞鹰系统->我的游戏->登录信息

图片描述

四、测试验证

1、手Q/微信

(1)手Q/微信渠道登录使用的 gopenid 值与V3版本的 openid 一致,对应V3版本的登录、关系链、分享等接入功能正常。
(2)手Q/微信渠道使用V3版本及V5版本登录时pf值一致。

2、游客

(1)前置条件

① 测试手机从 未安装过 V5版本对应的app;
每个手机设备只能测试一次 首次升级流程;

(2)结果验证

V5版本的游客openid与V3版本的游客openid一致。

(3)测试流程

① 设备A未安装过V5对应的app;
② 设备A安装V3对应的app,并进行过游客登录,登录返回openid为a;
③ 使用V5对应的app版本覆盖V3版本,并进行 首次V5的游客登录 。期望登录返回的openid为a;

首次安装V5,执行游客登录的日志如下:(打开MSDK日志开关可查看)
其中 :
"upgrade_from":3 标记首次游客从V3迁移到V5
msdk_v3_guestid、msdk_v3_access_token、msdk_v3_request_id、msdk_v3_hid 均为V3的游客设备id等数据,业务无需关心


{
    "channel_info": {
        "uuid": "B782B6EC-E1B5-4664-85A7-56CFF18A124B",
        "upgrade_from":3,
        "msdk_v3_guestid": "G_e93d14c46032656e9143bf55e1ec0ba3",
        "msdk_v3_access_token": "a7W9DrbqnKZWxly5Vlmoy9elzvmb2NIMhTB_l8TWru0=",
        "msdk_v3_request_id": "38CDF073571C14187CD1FAE403C5057DF105BA6B4CF9F1F59DDCB9F69F309ECAC4D98CBA302EE74C",
        "msdk_v3_hid": "AB750C9F-18B1-480E-8179-7A7665D347F5"
    },
    "device_info": {
        "uuid": "B782B6EC-E1B5-4664-85A7-56CFF18A124B",
        "device_language": "English",
        "app_version": "1.1.4(100076)",
        "screen_dpi": 2.0,
        "resolution": "828*1792",
        "trade_mark": "iPhone",
        "manufacturer": "APPLE",
        "model": "iPhone 11",
        "apn": "unkown",
        "ram_info": "3844",
        "rom_info": "59",
        "cpu_info": "16777228-2",
        "hw_machine": "iPhone12,1",
        "idfa": "5D49E066-6998-42E0-9BE0-5FEC8ADD64DA"
    },
    "channel_dis": "1001"
}

首次安装V5并启动过app之后。 后续的每次进行游客登录日志如下 ,后续都不再会有 "upgrade_from":3 的标记,但是其他的V3的设备id等数据。

日志如下:

{
    "channel_info": {
        "uuid": "B782B6EC-E1B5-4664-85A7-56CFF18A124B",
        "msdk_v3_guestid": "G_e93d14c46032656e9143bf55e1ec0ba3",
        "msdk_v3_access_token": "a7W9DrbqnKZWxly5Vlmoy9elzvmb2NIMhTB_l8TWru0=",
        "msdk_v3_request_id": "38CDF073571C14187CD1FAE403C5057DF105BA6B4CF9F1F59DDCB9F69F309ECAC4D98CBA302EE74C",
        "msdk_v3_hid": "AB750C9F-18B1-480E-8179-7A7665D347F5"
    },
    "device_info": {
        "uuid": "B782B6EC-E1B5-4664-85A7-56CFF18A124B",
        "device_language": "English",
        "app_version": "1.1.4(100076)",
        "screen_dpi": 2.0,
        "resolution": "828*1792",
        "trade_mark": "iPhone",
        "manufacturer": "APPLE",
        "model": "iPhone 11",
        "apn": "unkown",
        "ram_info": "3844",
        "rom_info": "59",
        "cpu_info": "16777228-2",
        "hw_machine": "iPhone12,1",
        "idfa": "5D49E066-6998-42E0-9BE0-5FEC8ADD64DA"
    },
    "channel_dis": "1001"
}

五、云游戏适配及测试验证

如您的游戏有云游戏场景的需求,请按以下步骤处理

1、 确认 SchemeActivity 配置

V5 版本的 SchemeActivity 包名与 V3 版本的不同,升级后请确认 AndroidManifest.xml 中 SchemeActivity 的包名为 com.tencent.gcloud.msdk.SchemeActivity

示例代码如下:

<activity
    android:name="com.tencent.gcloud.msdk.SchemeActivity"
    android:exported="true">
    ...
</activity>

2、拉起数据处理

云游戏拉起游戏时携带的数据,游戏侧如果有针对这块数据接收并做处理的逻辑,请注意按 V5 版本进行适配。

3、测试验证

发布到云游戏平台前,需要做好云游戏场景下的测试验证。



Copyright © 2024 MSDK.
All rights reserved.

results matching ""

    No results matching ""