打开网页页面(OpenUrl)
注意
从 iOS 18 起,iOS 设备不再支持使用 UIApplication
的 openURL(_:) 方法。
SDK V1.26.00 及以上版本已使用 open(_:options:completionHandler:) 方法进行替换,因此不受影响。
SDK V1.26.00 以下版本,INTLWebView
将无法跳转到 Safari 浏览器,游戏内 WebView H5 活动也将无法使用 Safari 打开网页。
建议受影响的业务升级 SDK 版本至 V1.26.00 或以上版本。
打开网页主要是通过 WebView 模块打开指定的 Web 页面,并根据不同的参数控制 WebView 的显示。
函数定义
public static void OpenUrl(string url, INTLWebViewOrientation screenOrientation = INTLWebViewOrientation.Auto, bool fullScreenEnable = false,
bool encryptEnable = true, bool systemBrowserEnable = false, string extraJson = "{}")
入参说明
参数 | 类型 | 说明 |
---|---|---|
url | string | 网页地址 URL 里的中文必须经过 url encode |
screenOrientation | INTLWebViewOrientation | Auto 自动=1 Portrait 纵向 =2 Landscape 横向=3 |
fullScreenEnable | bool | 是否以全屏的方式打开 默认:false |
encryptEnable | bool | 链接添加登录态数据 默认:true encryptEnable 为 true 且为登录态时将对指定的 URL 进行加密 |
systemBrowserEnable | bool | 是否用系统浏览器打开 默认:false |
extraJson | string | JSON 格式的 扩展字段 默认为空 |
活动页面参数
名称 | 说明 |
---|---|
role_id | 角色 ID |
role_name | 角色名 URL-encoded 编码 |
area_id | 大区 ID |
zone_id | 小区 ID |
lang_type | 语言类型 (RFC 4646) 例如 "en",详情请参见 语言类型定义。 |
OpenUrl 扩展字段配置(XSX、PS5 平台不支持)
注意
Android 已修改为节点显示器,并不需要额外的配置。
名称 | 类型 | 说明 |
---|---|---|
width | int | Windows WebView 的宽度 单位:% |
height | int | Windows WebView 的高度 单位:% |
BG_COLOR | string | 设置 WebView 背景颜色 例如,ff0000。 |
PROGRESS_TYPE | int | 设置进度条样式 0:进度条 + loading 图 1:进度条 2:loading 图 |
isSameProcessWebView | bool | 是否以同进程方式启动 WebView 默认:false |
CONFIG_KEY_BACK_DISABLE | bool | 是否禁用返回按钮<0 />默认:INTLConfig.ini 的配置 |
notch_full_screen | int | 是否铺满 iPhone 异型屏 0:不铺满 1:铺满 默认:0 |
visibleShareMore | bool | 是否可见分享按钮 默认:true,可见 |
回调处理
回调处理接口是 WebViewResultObserver。回调数据结构是 WebviewResult。
回调 ID 是 INTL_WEBVIEW_CLOSE_URL
。
代码示例
注意
//默认效果打开 URL
INTLAPI.OpenUrl ("https://www.qq.com");
//打开 URL,Player Network SDK 会自动携带登录态数据
INTLAPI.OpenUrl ("https://www.qq.com", INTLWebViewOrientation.Auto, false, true);
//默认效果打开活动 URL
INTLAPI.OpenUrl ("https://www.qq.com?role_id=1&role_name=aaa&area_id=1&zone_id=1&lang_type=en");
//打开 URL 并调了Windows WebView 的宽度和高度
INTLAPI.OpenUrl ("https://www.qq.com", INTLWebViewOrientation.Auto, false, true, false, "{\"height\": 60, \"width\": 80}");
链接添加登录态数据
如果要链接自动带上登录态等参数,在用户登录后调用 OpenUrl
时,需设置 encryptEnable=true
。
为了防止信息泄漏,使用浏览器打开该链接时,链接中的登录态等参数均会被移除。
INTLAPI.OpenUrl ("https://www.qq.com", INTLWebViewOrientation.Auto, 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
打开活动页面
为了活动页面可以获取游戏内参数信息,游戏通过 WebView 打开游戏内的活动时,URL 需要带上 活动页面参数。