22 个版本
新 2.0.0-rc.1 | 2024 年 8 月 17 日 |
---|---|
2.0.0-beta.10 | 2024 年 7 月 31 日 |
2.0.0-beta.3 | 2024 年 3 月 21 日 |
2.0.0-alpha.5 | 2023 年 12 月 20 日 |
0.1.0 | 2023 年 2 月 27 日 |
在 GUI 中排名第 246
每月下载量 8,941
81KB
615 行
将您的 Tauri 应用程序设置为 URL 的默认处理器。
安装
此插件需要至少 Rust 版本 1.75
我们可以推荐三种通用的安装方法。
- 使用 crates.io 和 npm(最简单,需要您信任我们的发布管道已正常工作)
- 直接从 Github 使用 git 标签/修订哈希拉取源代码(最安全)
- 使用 Git 子模块在您的 tauri 项目中安装此仓库,然后使用文件协议导入源代码(最安全,但使用不便)
通过在您的 Cargo.toml
文件中添加以下内容来安装 Core 插件
src-tauri/Cargo.toml
[dependencies]
tauri-plugin-deep-link = "2.0.0-rc"
# alternatively with Git:
tauri-plugin-deep-link = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" }
您可以使用您首选的 JavaScript 包管理器安装 JavaScript 客户端绑定
注意:由于大多数 JavaScript 包管理器无法从 git monorepos 安装包,我们为每个插件提供了只读镜像。这使得安装选项 2 更易于使用。
pnpm add @tauri-apps/plugin-deep-link
# or
npm add @tauri-apps/plugin-deep-link
# or
yarn add @tauri-apps/plugin-deep-link
# alternatively with Git:
pnpm add https://github.com/tauri-apps/tauri-plugin-deep-link#v2
# or
npm add https://github.com/tauri-apps/tauri-plugin-deep-link#v2
# or
yarn add https://github.com/tauri-apps/tauri-plugin-deep-link#v2
设置
Android
对于 应用链接,您需要一个具有 .well-known/assetlinks.json
端点的服务器,该端点必须返回给定格式的文本响应
[
{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "$APP_BUNDLE_ID",
"sha256_cert_fingerprints": [
$CERT_FINGERPRINT
]
}
}
]
其中 $APP_BUNDLE_ID
是在 tauri.conf.json > tauri > bundle > identifier
中定义的值,用 -
替换为 _
,而 $CERT_FINGERPRINT
是您应用签名证书的 SHA256 指纹列表,更多信息请参见 验证 Android Applinks。
iOS
对于 通用链接,您需要一个服务器,它必须有一个 .well-known/apple-app-site-association
端点,该端点必须返回指定格式的文本响应
{
"applinks": {
"details": [
{
"appIDs": [ "$DEVELOPMENT_TEAM_ID.$APP_BUNDLE_ID" ],
"components": [
{
"/": "/open/*",
"comment": "Matches any URL whose path starts with /open/"
}
]
}
]
}
}
其中 $DEVELOPMENT_TEAM_ID
是在 tauri.conf.json > tauri > bundle > iOS > developmentTeam
或 TAURI_APPLE_DEVELOPMENT_TEAM
环境变量中定义的值,而 $APP_BUNDLE_ID
是在 tauri.conf.json > tauri > bundle > identifier
中定义的值。更多信息请参见 applinks.details。
更多信息请参见 支持关联域名。
配置
在 tauri.conf.json > plugins > deep-link
下,配置您想要与应用程序关联的域名(移动端)和方案(桌面端)
{
"plugins": {
"deep-link": {
"mobile": [
{ "host": "your.website.com", "pathPrefix": ["/open"] },
{ "host": "another.site.br" }
],
"desktop": {
"schemes": ["something", "my-tauri-app"]
}
}
}
}
用法
首先,您需要将核心插件与 Tauri 进行注册
src-tauri/src/main.rs
fn main() {
tauri::Builder::default()
.plugin(tauri_plugin_deep_link::init())
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
之后,所有插件 API 都可以通过 JavaScript 客户端绑定使用
import { onOpenUrl } from "@tauri-apps/plugin-deep-link";
await onOpenUrl((urls) => {
console.log("deep link:", urls);
});
请注意,插件仅在 macOS、iOS 和 Android 上发出事件。在 Windows 和 Linux 上,操作系统会使用 URL 作为 CLI 参数启动您应用的新的实例。如果您希望您的应用在 Windows & Linux 上的行为与其他平台相似,可以使用 single-instance 插件。
贡献
接受 PR。请在提交 pull request 之前确保阅读贡献指南。
贡献者
合作伙伴
有关赞助商的完整列表,请访问我们的 网站 和 Open Collective。
许可证
代码:版权所有 © 2015 - 现在 - The Commons Conservancy 中的 Tauri 项目。
适用时采用 MIT 或 MIT/Apache 2.0 许可证。
依赖
~17–58MB
~891K SLoC