12/12/2024 11:37:55
SelfWeb 邮箱手机的网页登录适配插件
本插件用于 Email & Phone 的网页登录适配,支持通过网页登录邮箱或手机后,将登录结果透传到客户端。
前提条件
- 需要做邮箱和手机网页登录的业务,按照自建账号 JSsdk 接口实现登录页面,获取可以访问到该页面的链接
- 接入本 【MSDKSelfWeb】 插件
一、网页开发指引
按照后台提供的自建账号 JSsdk 开发邮箱和手机登录的页面,JSsdk 请咨询 MSDK 小助手获取
在第一步开发过程中,登录成功会获取到类似于如下登录态(json格式):
{ "token":"LsMIn@7LaRmXODd5DUfStUauG5m0jozCUqywApeDSCE35ICIqZjUyA_Q7V@PWM37PQxpZWLKsc_gPq1YBpNJQ==", "uid": "19243064182656", "expire": 1594790875, "ret": 0, "msg": "Success", }
按如下格式,拼接语言参数到登录态中(必要,此语言参数用于透传给后台服务器,用于指明给用户发送信息的语言),语言参数需要符合 i18N 国际标准
{ "token":"LsMIn@7LaRmXODd5DUfStUauG5m0jozCUqywApeDSCE35ICIqZjUyA_Q7V@PWM37PQxpZWLKsc_gPq1YBpNJQ==", "uid": "19243064182656", "expire": 1594790875, "ret": 0, "msg": "Success", "langType": "zh_CN" }
- 按照如下客户端协议,在页面中将拼接好的登录态透传给客户端:
function selfWebLogin(data){ console.log('selfWebLogin invoked -- start'); var loginDataVar = document.getElementById('loginData').value; if (loginDataVar == '') { loginDataVar = data; } if (isiOS()) { window.webkit.messageHandlers.MSDKSelfWeb.postMessage(loginDataVar); } else { MSDKSelfWeb.onResult(loginDataVar); } }
至此,网页端开发完成
部署并获取能访问到该页面的 URL 备用
二、客户端开发指引
客户端接入 MSDKSelfWeb 插件
在 MSDKConfig.ini 中添加如下配置,将第一步网页开发指引中准备好的 URL 配置上去:
[SelfWeb 渠道配置] SELF_WEB_URL = https://img.ssl.msdk.qq.com/msdk_client_test/MSDKWebViewDemo.html
客户端登录逻辑代码中,使用如下接口调用:
// Unity 调用 MSDKLogin.Login("SelfWeb","","",""); // UE 调用 MSDKLogin::Login("SelfWeb","","","");
- 客户端配置结束。
三、功能说明
- 客户端调用登录接口,传入 SelfWeb 渠道名称
- 此接口会拉起 WebView 并展示业务在 SELF_WEB_URL 配置的 URL 所对应的登录页面链接
- 用户在登录页面中输入邮箱或手机做登录操作
- 登录成功会关闭页面(需要页面开发做这个逻辑)并将登录结果透传下来给到客户端
- 客户端拿着透传下来的登录态跟后台服务器做鉴权,鉴权成功既登录成功
- 通过客户端 GetLoginRet 接口可以获取到登录态。
Copyright © 2024 MSDK.
All rights reserved.
All rights reserved.