打开网页页面(OpenUrl)
[Player Network SDK & MSDK] 打开网页主要是通过 WebView 模块打开指定的 Web 页面,并根据不同的参数控制 WebView 的显示。
AndroidiOSWindows
注意
MSDK 暂不支持 Windows
函数定义
- Unity
- Unreal Engine
void OpenUrl(string url,
int screenOrientation = 1,
bool fullScreenEnable = false,
bool encryptEnable = true,
bool systemBrowserEnable = false,
string extraJson = "{}");
static void OpenUrl(
const std::string &url,
int screen_orientation = 1,
bool full_screen_enable = false,
bool encrypt_enable = true,
bool system_browser_enable = false,
const std::string &extra_json = "{}");
入参说明
- Unity
- Unreal Engine
参数 | 类型 | 说明 |
---|---|---|
url | string | 网页地址 URL 里的中文必须经过 url encode |
screenOrientation | int | Auto 自动=1 Portrait 纵向 =2 Landscape 横向=3 |
fullScreenEnable | bool | 是否以全屏的方式打开 默认:false |
encryptEnable | bool | 链接添加登录态数据 默认:true encryptEnable 为 true 且为登录态时将对指定的 URL 进行加密 |
systemBrowserEnable | bool | 是否用系统浏览器打开 默认:false |
extraJson | string | JSON 格式的 extended field,请参见 MSDK 文件 或者 Player Network 文档。 默认为空 |
参数 | 类型 | 说明 |
---|---|---|
url | std::string | 网页地址 URL 里的中文必须经过 url encode |
screen_orientation | int | Auto 自动=1 Portrait 纵向 =2 Landscape 横向=3 |
full_screen_enable | bool | 是否以全屏的方式打开 默认:false |
encrypt_enable | bool | 链接添加登录态数据 默认:true encryptEnable 为 true 且为登录态时将对指定的 URL 进行加密 |
system_browser_enable | bool | 是否用系统浏览器打开 默认:false |
extra_json | std::string | JSON 格式的 extended field,请参见 MSDK 文件 或者 Player Network 文档。 默认为空 |
活动页面参数
参数 | 说明 |
---|---|
role_id | 角色 ID |
role_name | 角色名 URL-encoded 编码 |
area_id | 大区 ID |
zone_id | 小区 ID |
lang_type | 语言类型 (RFC 4646) 例如 "en",详情请参见 语言类型定义。 |
回调处理
回调处理接口是 GUAWebViewResultObserver。回调数据结构是 GUAWebViewRet。
- Unity
- Unreal Engine
回调事件是 WebViewRetEvents 。 回调 ID 是 GUA_WEBVIEW_CLOSE_URL
。
回调事件是 OnWebViewOptNotify 。 回调 ID 是 kMethodIDWebViewURLClose
。
代码示例
注意
- Unity
- Unreal Engine
//默认效果打开 URL
UnionAdapterAPI.GetWebViewService().OpenUrl("https://www.qq.com");
//打开 URL 并添加登录态数据
UnionAdapterAPI.GetWebViewService().OpenUrl("https://www.qq.com", 1, false, true);
//默认效果打开活动 URL
UnionAdapterAPI.GetWebViewService().OpenUrl("https://www.qq.com?role_id=1&role_name=aaa&area_id=1&zone_id=1&lang_type=en");
//打开 URL 并调了Windows WebView 的宽度和高度
UnionAdapterAPI.GetWebViewService().OpenUrl("https://www.qq.com", 1, false, true, false, "{\"height\": 60, \"width\": 80}");
//默认效果打开 URL
GUA_NAMESPACE::GUAWebViewService::OpenUrl("https://www.qq.com");
//打开 URL 并添加登录态数据
GUA_NAMESPACE::GUAWebViewService::OpenUrl("https://www.qq.com", 1, false, true);
//默认效果打开活动 URL
GUA_NAMESPACE::GUAWebViewService::OpenUrl("https://www.qq.com?role_id=1&role_name=aaa&area_id=1&zone_id=1&lang_type=en");
//打开 URL 并调了Windows WebView 的宽度和高度
GUA_NAMESPACE::GUAWebViewService::OpenUrl("https://www.qq.com", 1, false, true, false, "{\"height\": 60, \"width\": 80}");
链接添加登录态数据
如果要链接自动带上登录态等参数,需要用户在登录之后,调用 OpenURL
时, 设置 encryptEnable=true
。
- Unity
- Unreal Engine
GUA_NAMESPACE::GUAWebViewService::OpenUrl("https://www.qq.com", 1, false, true);
GUA_NAMESPACE::GUAWebViewService::OpenUrl("https://www.qq.com", 1, false, true);
如果未登录,用于
encryptEnable = true
调用OpenURL
,打开的链接是:https://www.qq.com
如果以登录,用于
encryptEnable = true
调用OpenURL
,打开的链接是:https://www.qq.com?gameid=11&channelid=3&os=1&ts=1634707615&sdk_version=1.11.00.487&seq=11-3b61c8315b91d319eaa5622d72c474ec7ee395cee116d142a74b3455607e3d21-1634707615-14&encodeparam=C524E9DE27EB02E552CFBA9C54BFA301317DF66F49C5C02ED708D582B80A1B74DE8F0723731F0D66EBD12095E244097DC3AFAE1203A8FCD2A2821C1DEC9CD3AE254BAD99C93B095E8F39FCE414FBFB0A79F9EA8DF2E1B309190E5A8721A5AC8132E8E89506CDBA1ACBB1C17AA794A658502C5CCA6B25E6105049EABB44C408700FE2713FDD327217AF45A226F46FFD02
URL 参数
参数 | 说明 |
---|---|
gameid | 分配给游戏的 ID |
channelid | 登录的渠道 ID |
OS | 终端操作系统标示 1 : Android 2 : iOS 3 : Web 4 : Linux 5 : Windows 6 : Switch |
ts | 时间戳 |
sdk_version | MSDK 或者 Player Network SDK 版本 |
seq | 序列号 |
encodeparam | 账号 OpenID 和 token 的加密字段 通过 GetEncodeUrl 接口 获取 通过 MSDK 或者 Player Network SDK 后台接口解密教验解析获得对应参数。 |
打开活动页面
为了活动页面可以获取游戏内参数信息,游戏通过 WebView 打开游戏内的活动时,Url
需要带上 活动页面参数,具体参数可联系 MSDK 或者 Player Network 助手。