docs.rs failed to build tauri-plugin-in-app-browser-1.0.1
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Tauri Plugin in_app_browser
[!CAUTION] This was a plugin primarily made for myself. I've made it open-source so that other people could use it, but I'm not willing to document everything. If you do need some help / clarification / changes, you can contact me on Discord / Twitter:
manaf941
/manaaaaaaaf
Demo
https://github.com/user-attachments/assets/c35d35c4-13eb-4586-bf36-e00661db8eb1
Usage
src-tauri/src/lib.rs
src-tauri/capabilities/default.json
index.ts
import { open_safari, open_chrome } from 'tauri-plugin-in-app-browser-api'
// iOS
const browser = await open_safari({
// See guest-js/index.ts for available options
url: "https://google.com",
// Color should be in rgba format, such as `#rrggbbaa`
preferredControlTintColor: "#ff0000ff"
})
browser.addEventListener("close", () => {
// browser closed (either by the user or by browser.close())
})
// after some time, force the user to close safari
await browser.close()
// Android
await open_chrome({
// See guest-js/index.ts for available options
url: "https://google.com"
})
[!WARNING] On iOS, if you set
modalPresentationStyle
tofullScreen
, your application might get paused. Any timeout to browser.call won't be ran.
Design Choices
- I've chosen to not make platform-agnostic code to have full control over desired styling and behavior.
- I needed to use
SFSafariViewController
to use Apple Pay through a dynamic merchant (Not available through PassKit). As such, I did not implementWKWebView
. You can probably already do this with Tauri already though - Unfortunately, Android doesn't allow closing a Chrome Custom Tabs. As such, there's no
browser.close
feature. You can't even know if a tab has been closed. You should use Activities and Deep Linking to know if a tab has been closed. If it is that much critical to your process, you should probably use aniframe
or a webview.
Contact
In case of questions, contact me on my socials: Discord: @manaf941 Twitter: manaaaaaaaf