跳到主要内容

打开网页页面(OpenUrl)

AndroidiOSWindowsPS5XSX
如果您使用的是 Unity 引擎,请参见 Unity SDK 的 OpenUrl

打开网页主要是通过 WebView 模块打开指定的 Web 页面,并根据不同的参数控制 WebView 的显示。

函数定义

UFUNCTION(BlueprintCallable, Category = "INTLSDKAPI")
static bool OpenUrl(const FString Url, UINTLWebViewOrientation ScreenOrientation = UINTLWebViewOrientation::kAuto, bool FullScreenEnable = false, bool EncryptEnable = true, bool SystemBrowserEnable= false, const FString ExtraJson = "{}");

入参说明

参数类型说明
UrlFString网页地址
URL 里的中文必须经过 url encode
ScreenOrientationUINTLWebViewOrientationAuto 自动=1
Portrait 纵向 =2
Landscape 横向=3
XSX、PS5 平台不支持该参数
FullScreenEnablebool是否以全屏的方式打开
默认:false
XSX、PS5 平台不支持该参数
EncryptEnablebool链接添加登录态数据
默认:true
EncryptEnabletrue 且为登录态时将对指定的 URL 进行加密
SystemBrowserEnablebool是否用系统浏览器打开
默认:false
XSX、PS5 平台不支持该参数
ExtraJsonstringJSON 格式的 扩展字段
默认为空

活动页面参数

名称说明
role_id角色 ID
role_name角色名 URL-encoded 编码
area_id大区 ID
zone_id小区 ID
lang_type语言类型 (RFC 4646)
例如 "en",详情请参见 语言类型定义

OpenUrl 扩展字段配置(XSX、PS5 平台不支持)

注意

Android 已修改为节点显示器,并不需要额外的配置。

名称类型说明
widthintWindows WebView 的宽度
单位:%
heightintWindows WebView 的高度
单位:%
BG_COLORstring设置 WebView 背景颜色
例如,ff0000。
PROGRESS_TYPEint设置进度条样式
0:进度条 + loading 图
1:进度条
2:loading 图
isSameProcessWebViewbool是否以同进程方式启动 WebView
默认:false
CONFIG_KEY_BACK_DISABLEbool是否禁用返回按钮<0
/>默认:INTLConfig.ini 的配置
notch_full_screenint是否铺满 iPhone 异型屏
0:不铺满
1:铺满
默认:0
visibleShareMorebool是否可见分享按钮
默认:true,可见

回调处理

回调处理接口是 WebViewResultObserver。回调数据结构是 WebviewResult

回调 ID 是 kMethodIDWebViewURLClose

代码示例

注意

如果传入的 URL 打不开,请检查传入的 URL 是否正确。

例如:

  • 参数必须没有空格
  • 带有中文的 URL 必须进行 url encode
//默认效果打开 URL
UINTLSDKAPI::OpenUrl("https://www.qq.com");

//打开 URL,Player Network SDK 会自动携带登录态数据
UINTLSDKAPI::OpenUrl("https://www.qq.com", UINTLWebViewOrientation::kAuto, false, true);

//默认效果打开活动 URL
UINTLSDKAPI::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", UINTLWebViewOrientation.Auto, false, true, false, "{\"height\": 60, \"width\": 80}");

链接添加登录态数据

如果要链接自动带上登录态等参数,在用户登录后调用 OpenUrl 时,需设置 encryptEnable=true
为了防止信息泄漏,使用浏览器打开该链接时,链接中的登录态等参数均会被移除。

UINTLSDKAPI::OpenUrl("https://www.qq.com", UINTLWebViewOrientation::kAuto, 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 需要带上 活动页面参数