我有一個基于 Cordova 的專案,最近我為 ios 14 開發了小部件。目標:當用戶單擊小部件文章項時,我想要 console.log() 或捕獲 Cordova 專案上的 URL,以便我用戶可以重定向到文章頁面。
在專案中已經存在處理深層鏈接的代碼。但是,無論何時,我都會單擊“我的應用程式啟動”的小部件專案。例如:如果單擊 Slack 應用程式中的文章鏈接。用戶將登陸相應的文章。
我正在使用這個插件 cordova-universal-links-plugin , cordova-plugin-customurlscheme
關于小部件本機代碼,我遵循檔案創建小部件 ,我使用鏈接方法 WidgetFamily.systemMedium 或 WidgetFamily.systemLarge,對于其他小部件,我使用 widgetURL(_:)
Link(destination: URL(string: urlString)!,label: {
Text(article.Title != nil ? article.Title! : "test")
.lineLimit(3)
.font(.system(size: 14, weight: .semibold, design: .default))
.padding()
})
.widgetURL(URL(string: article.URL != nil ? article.URL! : ""))
在cordova APP上我有
// Custom url scheme : cordova-plugin-customurlscheme
window.handleOpenURL = url => {
setTimeout(() => {
main.onOpenApplicationLinks(url)
}, 0)
}
// Universal Link Cordova Plugin
universalLinks.subscribe('openPath', (eventData)=> console.log(eventData))
如何在cordova 應用程式上捕獲URL 或記錄URL 提前致謝
uj5u.com熱心網友回復:
經過幾天的研究。我終于改變了cordova-universalLink-Plugin。在插件 Appdelegate CULPlugin.m 中添加
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
if ([url.scheme isEqualToString:@"http"] || [url.scheme isEqualToString:@"https"]) {
NSUserActivity *activity = [[NSUserActivity alloc] initWithActivityType:NSUserActivityTypeBrowsingWeb];
[activity setWebpageURL:url];
CULPlugin *plugin = [self.viewController getCommandInstance:PLUGIN_NAME];
return [plugin handleUserActivity:activity];
}else{
return NO;
}
}
瞧...,現在它起作用了
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/387583.html
