Comments (1)
Ok - so had to change native code as to which notification it sent and conform with the plugin's expected notification type/name. This seems quite undocumented and a little over the top so I think I'm hacking around something obvious but don't know what it is, but this hack works well.
Code that worked:
` @available(iOS 9.0, *)
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any]) -> Bool {
let handledByApplicationDelegateProxy = ApplicationDelegateProxy.shared.application(app, open: url, options: options)
let sourceApplication = options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String
let handledByCustomLogic = application(app, open: url, sourceApplication: sourceApplication, annotation: "")
return handledByApplicationDelegateProxy || handledByCustomLogic
}
func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
if let dynamicLink = DynamicLinks.dynamicLinks().dynamicLink(fromCustomSchemeURL: url) {
// Log the dynamic link or handle the deep link.
print("Dynamic link detected: \(dynamicLink)")
// Post a notification with the dynamic link
NotificationCenter.default.post(name: Notification.Name.capacitorOpenURL, object: ["url": url])
return true
}
return false
}
func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
let handledByDynamicLinks = DynamicLinks.dynamicLinks().handleUniversalLink(userActivity.webpageURL!) { dynamiclink, error in
if let error = error {
print("Failed to handle universal link: \(error)")
} else if let dynamiclink = dynamiclink {
// Log the dynamic link or handle the deep link.
print("Dynamic link detected: \(dynamiclink)")
// Post a notification with the dynamic link
NotificationCenter.default.post(name: Notification.Name.capacitorOpenUniversalLink, object: ["url": userActivity.webpageURL!])
}
}
return handledByDynamicLinks || ApplicationDelegateProxy.shared.application(application, continue: userActivity, restorationHandler: restorationHandler)
}`
from capacitor-firebase-dynamic-links.
Related Issues (20)
- iOS the creation of Dynamic Short link is not working HOT 12
- iOS - Deep Link does not contain valid required params. HOT 4
- CocoaPods could not find compatible versions for pod "PantristCapacitorFirebaseDynamicLinks": HOT 2
- Capacitor4 Docs Conflics with README HOT 1
- [Capacitor Plugin Error] - createDynamicLink HOT 4
- Unable to import package without SyntaxError HOT 10
- The FirebaseDynamicLinks.addListener does not raise a link open event HOT 4
- [iOS] Deeplink info not surviving after going through Apple App Store HOT 7
- Error: "CapacitorFirebaseDynamicLinks.createShortLink()" is not implemented on android HOT 2
- createDynamicShortLink - Unable to create link HOT 2
- Warning about JVM version During Android build phase HOT 4
- Deferred deeplink information HOT 1
- Support Capacitor 5.0 HOT 2
- Fails on android after updating to Capacitor 5 HOT 1
- Dynamic Link on a desktop web browser HOT 6
- NPM version 5.0.1 source code is not available on github HOT 2
- Dynamic short link successfully created and working but not listed on Firebase Dynamic Links HOT 2
- Is pod 'Firebase/Analytics' really necessary? HOT 1
- [android] NullPointerException caused by missing check for iOS parameters HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from capacitor-firebase-dynamic-links.