使用 Capacitor 在 Ionic / React.js 应用程序中实施 Firebase 动态链接
Implement Firebase Dynamic Links in Ionic / React.js application with Capacitor
我已经用 Firebase 作为后端开发了一个 React.js 应用程序,我们还使用 Ionic 将该应用程序部署到 android 和 IOS 构建。我们目前正在使用 Capacitor 添加一些本机功能,但我们在实现动态链接时遇到了问题。
那里有几个包,经过大量搜索后我找到了这个包:https://github.com/Turnoutt/capacitor-firebase-dynamic-links
这个包不适用于Capacitor 3.0的问题,有人很友好地提交了一个pull request,但是repo所有者还没有合并到修复中。有些人分叉回购来实施修复,我遇到了下面的回购。
一切顺利,但我不确定将侦听器放在哪里?我应该把它放在应用程序级别吗?如果是这样,将此代码片段分别放在 Android / IOS 的什么位置?
方法
// addListener('deepLinkOpen', (data: { url: string })
// Add this method when the app starts to listen for the dynamic link.
CapacitorFirebaseDynamicLinks.addListener('deepLinkOpen', (data: { url: string }) => {
Implement your navigation handler
})
CapacitorFirebaseDynamicLinks.addListener('deepLinkOpen', (数据: { url: 字符串 }) => {
实施您的导航处理程序
})
我在 Capacitor v2.4.2 上实现了动态链接,Angular。我使用了 Turnoutt 的第一个插件。
这与您的 Capacitor 版本不同,但这里是我的输入可能会有所帮助。
CapacitorFirebaseDynamicLinks.addListener
侦听器将放置在应用程序启动的 React 代码中,一旦平台准备就绪。我受限于我的反应知识,但是 this is 如何在离子反应中添加监听器。实现方式类似
对于 iOS 原生,必须参考 this link
执行单独的步骤
具体来说,在 AppDelegate.swift
中,这些是我所做的更改。
import Firebase
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
FirebaseApp.configure()
return true
}
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
// Called when the app was launched with a url. Feel free to add additional processing here,
// but if you want the App API to support tracking app url opens, make sure to keep this call
return CAPBridge.handleOpenUrl(url, options)
}
我已经用 Firebase 作为后端开发了一个 React.js 应用程序,我们还使用 Ionic 将该应用程序部署到 android 和 IOS 构建。我们目前正在使用 Capacitor 添加一些本机功能,但我们在实现动态链接时遇到了问题。
那里有几个包,经过大量搜索后我找到了这个包:https://github.com/Turnoutt/capacitor-firebase-dynamic-links
这个包不适用于Capacitor 3.0的问题,有人很友好地提交了一个pull request,但是repo所有者还没有合并到修复中。有些人分叉回购来实施修复,我遇到了下面的回购。
一切顺利,但我不确定将侦听器放在哪里?我应该把它放在应用程序级别吗?如果是这样,将此代码片段分别放在 Android / IOS 的什么位置?
方法
// addListener('deepLinkOpen', (data: { url: string })
// Add this method when the app starts to listen for the dynamic link.
CapacitorFirebaseDynamicLinks.addListener('deepLinkOpen', (data: { url: string }) => {
Implement your navigation handler
})
CapacitorFirebaseDynamicLinks.addListener('deepLinkOpen', (数据: { url: 字符串 }) => { 实施您的导航处理程序 })
我在 Capacitor v2.4.2 上实现了动态链接,Angular。我使用了 Turnoutt 的第一个插件。 这与您的 Capacitor 版本不同,但这里是我的输入可能会有所帮助。
CapacitorFirebaseDynamicLinks.addListener
侦听器将放置在应用程序启动的 React 代码中,一旦平台准备就绪。我受限于我的反应知识,但是 this is 如何在离子反应中添加监听器。实现方式类似
对于 iOS 原生,必须参考 this link
执行单独的步骤具体来说,在 AppDelegate.swift
中,这些是我所做的更改。
import Firebase
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
FirebaseApp.configure()
return true
}
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
// Called when the app was launched with a url. Feel free to add additional processing here,
// but if you want the App API to support tracking app url opens, make sure to keep this call
return CAPBridge.handleOpenUrl(url, options)
}