获取加密票据(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");