跳到主要内容

Installable Apps

在ChatGPT中打开
24.21
Java API

@AppProfile 注解在 webforJ 中使您能够使应用可在支持的平台上安装。可安装的 Web 应用与设备的操作系统无缝集成。安装后,应用将在主屏幕或应用菜单中出现,类似于原生应用。为了实现这一点,必须提供某些元数据,如名称、描述和图标。这些细节帮助操作系统识别和显示应用。

安全来源要求

要使应用可安装,它必须来自安全来源,例如 https。此要求确保应用满足安装所需的安全标准。然而,当在开发期间从 localhost 本地提供应用时,此规则不适用。

有关安全上下文及其重要性的更多详细信息,请参阅 Secure Contexts MDN 文档

@AppProfile 注解

@AppProfile 注解应用于主应用类,并需要最少的配置。至少需要提供:

  • name:应用的全名。
  • shortName:在有限空间上下文中使用的名称的简短版本。

其他可选属性允许自定义应用的外观和行为。

@AppProfile 注解存在时,webforJ:

  • 自动设置必要的元标签。
  • 生成 Web 应用清单
  • 提供相关资源,如图标和截图。

示例:应用 @AppProfile

@AppProfile(
name = "Zyntric Bank",
shortName = "ZBank",
description = "Zyntric Bank 是一个使用 webforJ 构建的简单银行应用程序",
screenshots = {
@AppProfile.Screenshot(
src = "ws://img/screenshots/s1.jpg",
sizes = "1080x1920"
)
}
)
public class Application extends App {
}

@AppProfile 属性

以下表格列出了 @AppProfile 注解支持的所有属性:

属性类型描述默认值
nameString应用的全名,显示在应用菜单和安装对话框中。强制
shortNameString名称的短版本,用于有限空间上下文中。长度不应超过 12 个字符。强制
descriptionString应用的简要描述,在安装和应用设置中显示。""
themeColorString应用的主题颜色,在启动应用时应用于浏览器 UI。"#ffffff"
backgroundColorString应用加载时的初始背景颜色。"#f8fafc"
startUrlString启动应用时打开的 URL。"."
displayDisplay 枚举应用的显示模式(例如,FULLSCREENSTANDALONEBROWSER)。STANDALONE
orientationOrientation 枚举应用的默认方向(例如,PORTRAITLANDSCAPENATURAL)。NATURAL
iconsIcon[]不同分辨率下表示该应用的图标数组。[]
defaultIconDefaultIcon为应用指定默认图标。如果配置,则自动生成多种尺寸的图标路径。icons://icon.png
screenshotsScreenshot[]应用的截图数组,用于安装对话框。[]
categoriesString[]应用的分类(例如,FinanceShopping)。[]

@AppProfile.Icon 属性

图标定义了应用在菜单和主屏幕上的视觉表示。@AppProfile.Icon 注解支持以下属性:

属性类型描述默认值
srcString图标的路径。这可以是绝对 URL,或一个 ws:// 路径。强制
sizesString一个字符串,指定图像的一个或多个尺寸,格式为 宽度x高度(例如,512x512)。强制
typeString图标的 MIME 类型(例如,image/pngimage/jpeg)。如果未提供,则将进行检测""
purposeString图标的用途(例如,anymaskablemonochrome)。""

示例

@AppProfile.Icon(
src = "ws://icons/icon-512x512.png",
sizes = "512x512",
type = "image/png"
)

@AppProfile.DefaultIcon 属性

DefaultIcon 注解通过从基础图标生成多个尺寸变体来简化应用图标的配置。这对于确保与具有不同分辨率的设备的兼容性特别有用。

属性类型描述默认值
valueString基础图标文件的路径。这可以是绝对 URL,或一个 ws:// 路径。强制
sizesint[]指定生成的尺寸的整数数组(例如,{144, 192, 512})。{144, 192, 512}
图标文件要求

此配置不会自动生成应用的实际图标文件。相反,它使用 @AppProfile.DefaultIcon 注解为每个指定的尺寸生成相应的 @AppProfile.Icon 条目。

如果使用 webserver 协议

  • 您必须在 static/icons 文件夹中提供一个基础 icon.png 文件。
  • 您需要包含名为 icon-144x144.pngicon-192x192.pngicon-512x512.png 的其他图标变体。
  • 这些特定尺寸确保与各种设备和分辨率的兼容性。

如果使用 icons 协议

  • 您需要在 /icons 文件夹中提供一个基础 icon.png 文件。
  • 当请求不同尺寸的图标时,icons 端点动态提供不同的图标尺寸。

@AppProfile.Screenshot 属性

截图提供了应用在安装对话框或应用商店中的预览。@AppProfile.Screenshot 注解支持以下属性:

属性类型描述默认值
srcString截图的路径。这可以是绝对 URL,或一个 ws:// 路径。强制
sizesString一个字符串,指定图像的一个或多个尺寸,格式为 宽度x高度(例如,1080x1920)。强制
typeString截图的 MIME 类型(例如,image/pngimage/jpeg)。如果未提供,则将进行检测""
labelString截图的描述性标签。""
formFactorString截图的形式因子(例如,narrowwide)。""
platformString截图所针对的平台(例如,iosandroid)。""

示例

@AppProfile.Screenshot(
src = "ws://img/screenshots/s1.jpg",
sizes = "1080x1920"
)