获取加密票据(GetEncodeUrl)
[Player Network SDK & MSDK] 获取加密票据。将指定的 URL 进行加密,添加登录态信息,并返回加密后的 URL。这是个同步接口,不需要在回调中获取结果。
支持的平台
- Unity
- Unreal Engine
支持
Android, iOS, Windows
平台。支持
Android, iOS, Windows
平台。注意
MSDK 暂不支持 Windows
应用场景
GetEncryptUrl
主要用于打开营销活动网页并将登录状态传递到网页。 游戏调用接口并输入原始 URL,返回登录状态的加密 URL。 用户通过 OpenUrl
网络视图模块的接口打开网页。 附加参数的 URL (encodeparam
) 被传到后台 API 获取登录状态信息。
说明
GetEncryptUrl
接口需要先登录才会返回 gameid
和 channelid
的信息。
编码后的 URL 示例:
https://www.youtube.com/?gameid=11&os=1&ts=1597840414&version=0.1.000.0001&seq=11-42e0e9d2-2f0e-4b01-a1ab-6831cf9b6165-1597840414-11&encodeparam=4060E2A762B31B8B57A8D5A9BBAF10E8657A5A3A285B0DA7159417C2D6F0D801
函数定义
- Unity
- Unreal Engine
string GetEncodeUrl(string url);
static std::string GetEncodeUrl(const std::string &url);
入参说明
- Unity
- Unreal Engine
参数 | 类型 | 说明 |
---|---|---|
url | string | 链接地址 |
参数 | 类型 | 说明 |
---|---|---|
Url | FString | 链接地址 |
URL 参数的组成方式
加密字段 (encodeparam):
参数 | 类型 | 说明 |
---|---|---|
openid | string | 账号 openid |
token | string | 账号 token |
uid | string | 第三方渠道 openid |
不加密字段:
参数 | 类型 | 说明 |
---|---|---|
OS | string | 客户端操作系统 1 : Android 2: iOS 3: Web 4: Linux 5: Windows 6: Switch |
gameid | string | SDK 分配给游戏的 id |
channelid | int | 登录的渠道 |
sdk_version | string | SDK 版本 |
user_name | string | 用户名 |
ts | string | 时间戳 |
seq | string | 序列号 |
说明
以上字段无需传入,Player Network SDK 登录后就能获取。
回调处理
回调处理接口是 GUAWebViewResultObserver。回调数据结构是 GUAWebViewRet。
- Unity
- Unreal Engine
回调事件是 WebViewRetEvents 。 回调 ID 是 GUA_WEBVIEW_GET_ENCRYPT_URL
。
回调事件是 OnWebViewOptNotify 。 回调 ID 是 kMethodIDWebviewGetEncodeUrl
。
代码示例
- Unity
- Unreal Engine
string url = UnionAdapterAPI.GetWebViewService().GetEncodeUrl("http://www.facebook.com");
FString url = GUA_NAMESPACE::GUAWebViewService::GetEncodeUrl("http://www.facebook.com");