04/29/2024 11:54:53

解决方案

业务在开发阶段,需要在 Editor 环境上登录,进行联调。MSDK 目前提供模拟登录方案,以供业务在 Editor 环境联调。 目前 MSDK 提供了 Unity 的模拟登录方案,实现原理是一样的。
模拟登录替换了 token,采用万能 token,该方案只能在测试环境中使用。
新接入业务如果需要使用该功能,请在企业微信上联系 MSDK助手。
目前支持模拟登录的渠道有:WeChat、QQ、Facebook、GameCenter、Google、Twitter、Garena、Line。

[info] 正式环境的模拟登录
在正式环境模拟登录,需要使用真实的 openid 和 token 才可以通过校验。

一、Unity 模拟登录

模拟 PC 登录以下几步操作(以微信为例):

  1. 在 PC 上点击微信渠道登录,MSDK 会在 Assets/GCloudSDK/Scripts/MSDKCore/MSDK/UnityEditor/Data/ 目录下创建对应渠道的模拟登录态信息的.txt 文件,比如微信的是 WeChatLoginData.txt,如果 editor 中没看到,右键 Refresh 即可。
  2. 将游戏打包到手机上运行,从日志中获取登录态信息,拷贝到 WeChatLoginData.txt 文件中。 完成以上两个步骤,就可以在 PC 上登录了。

需要注意:

  1. 如果改变了 Assets/GCloudSDK/ 插件目录,请在 UnityEditorData.cs 中修改 dataFilePath 的路径
  2. xxx/MSDK/UnityEditor/Data/ 目录下默认有一个 LoginData.txt 用来保存当前登录态信息

二、登录态获取方法

2.1 Android 登录日志的获取

Android 手机上安装游戏 App 后 ,在 Logcat 中通过 Tag: MSDK 过滤日志。登录后在结果中搜索 OnLoginResp ,在日志中复制登录结果即可。

图片描述

2.2 iOS 登录日志的获取

iPhone / iPad 上安装游戏 App 后 ,打开 MAC 的控制台并选择测试机。登录后在结果中搜索 handleCallback ,在日志中复制登录结果即可。

图片描述

[info] 可以直接拷贝登录态示例中的代码,填写到对应渠道的 LoginData.txt 文件中。随意更改 openid 即可。 如果需要在 pc 中测试购买,需要从真机中拿去真正的 openid 和 pfKey 等相关字段。

三、登录态示例

1、 WeChat 的登录态示例,WeChatLoginData.txt 的内容

{
  "extraJson": "",
  "methodNameID": 112,
  "retCode": 0,
  "retMsg": "Success",
  "thirdCode": 0,
  "thirdMsg": "success",
  "channel": "WeChat",
  "channelid": 1,
  "channel_info": "{\"code\":\"071H5ihk0HTfoq1W6Pek0MYuhk0H5ihH\",\"access_token\":\"16_l4kRVRLBvAUfUyWXz6evSZwwXvNcrTj-XdIVC4ryc5koTQeymyvsELbyZ8zH0SU-6EheFuY78jNF7zaymzF_uObPf9d92U3JK9fddJXUnRI\",\"expired\":7200,\"refresh_token\":\"16_caPx3PRfwkP8NOGL89Q4H4h_k-eEBNSLKIekJsC82tW3iCMUZNfkVKNcVaZyLZKzQEU-hCACRJpBua422UEAB9_UjwY2SQqu_9663IdR25E\",\"scope\":\"snsapi_userinfo,snsapi_friend,snsapi_message\",\"funcs\":\"\",\"other_funcs\":\"\",\"extend\":\"\"}",
  "uid": "oHlap1QDpmRiwliuWdvMH3mAWnQM",
  "first": 0,
  "gender": 0,
  "health_game_ext": "{\"serial_number\":\"oHlap1QDpmRiwliuWdvMH3mAWnQM-1543845913-ahnZ\",\"prajna_ext\":\"{ \"type\": 0, \"webview_frame\": { \"buttons\": [  ], \"show_title\": 0, \"show_titlebar\": 0, \"url\": \"\" } }\",\"username\":\"\"}",
  "openid": "3042973086530817307",
  "pf": "wechat_wx-App Store-android-App Store-wx-xxxxx-oHlap1QDpmRiwliuWdvMH3mAWnQM",
  "pfKey": "74ffe118eb96e85e87957566796fcc40",
  "picture_url": "",
  "need_name_auth": false,
  "reg_channel_dis": "",
  "seqID": "11-afd9d432-0527-4429-a905-5e9742399f30-1543845916-14",
  "token": "MSDKLOGINMOCKER_51433213c2e72a6304fb805b10a2201d",
  "token_expire_time": 1543853113,
  "user_name": "rdgztest_INWRBE"
}

2、 QQ 的登录态示例,QQLoginData.txt 的内容

{
  "ret": 0,
  "msg": "success",
  "openid": "3042973086530817307",
  "token_expire_time": 1541658617,
  "first": 0,
  "reg_channel_dis": "",
  "user_name": "kysduolc",
  "picture_url": "http://qzapp.qlogo.cn/qzapp/ 1106977030/FA1981312F1A9ABA31CC5EC5E62690B9/100",
  "need_name_auth": false,
  "channel_info": "{\"pay_token\":\"493C9D67E5F3C653253F9CA8D8043498\",\"access_token\":\"0 3FE61DCBC55C86C18B9455D5D91AA89\",\"openid\":\"FA1981312F1A9ABA31CC5EC5E62690B9\",\"expired\":0,\"refresh_ token\":\"\",\"scope\":\"\",\"funcs\":\"\",\"other_funcs\":\"\",\"extend\":\"\"}",
  "extra": "",
  "retCode": 0,
  "retMsg": "Success",
  "token": "A23EsnNaIT@7ISkex5JOg3Tl@LMFlDS3SvzqsEp14wiuK087owIv4vgu BV6MVGU5",
  "gender": 0,
  "pf": "qq_qq-00000000-android-00000000-qq-110 6977030-FA1981312F1A9ABA31CC5EC5E62690B9",
  "pfKey": "",
  "channel": "QQ",
  "channelID": 2,
  "methodNameID": 112
}

3、 Facebook 的登录态示例,FacebookLoginData.txt 的内容

{
    "ret": 0,
    "msg": "success",
    "openid": "8530819274717341879",
    "token_expire_time": 1592992929,
    "first": 0,
    "reg_channel_dis": "App Store",
    "user_name": "Waylen Zhang",
    "picture_url": "https://platform-lookaside.fbsbx.com/platform/profilepic/?asid=1133609683487391&height=50&width=50&ext=1592992929&hash=AeQ2ZeBsG7Bj8-Gk",
    "need_name_auth": false,
    "channel_info": "{\"access_token\":\"EAAFRgC9tvzIBAOwccnO5J2m5tqZAbLxRaHvdK2B69L0wyMAcYmZAlmEV3SNVAPHPEDvEVip9FvF8SlbApb2E2gB51yjb3ocAAE7YGnYq8Ddi2SAWbnA1qGT1BZC2YZCIOnQZBkAoZAZCE5N55vXBGSjJxMtQJ5jVUbMYZAaTbRQNn5bKImpD61q0fn6qhqf7krbUJgzwz4uMeWhd4qZB2REm6wFDGalDFZCCCBcBuKGd1KVgZDZD\",\"expire_ts\":1592992929}",
    "bind_list": "",
    "confirm_code": "",
    "confirm_code_expire_time": 0,
    "channelid": 4,
    "retCode": 0,
    "retMsg": "Success",
    "token": "98f65d31821a070d0db4847ac7062fbc542a498a",
    "gender": 0,
    "pf": "facebook_fb-App Store-iap-App Store-fb-380401719179584-8530819274717341879",
    "pfKey": "9bdf639cf67f40351af244caf493513b",
    "channel": "Facebook",
    "methodNameID": 112,
    "extraJson": ""
}

4、Logout 可以在 Logout.txt 中添加以下内容,在 editor 模式下获取 Logout 成功的返回值

{"ret":1,"msg":"","methodNameID":117,"retCode":0,"retMsg":"Success","extraJson":""}



Copyright © 2024 MSDK.
All rights reserved.

results matching ""

    No results matching ""