我在使用新的自定义URL接收Firebase动态链接时遇到问题。我创建了一个“ abc0.page.link”,并设置了所有内容以通过应用程序中的代码创建它。
但是在接收时,我在LOG中收到此消息:
[Firebase / Analytics] [I-ACS023000]深度链接Web URL查询为空
什么也没有发生,并且处理是错误的。
- (BOOL)application:(UIApplication *)application
continueUserActivity:(NSUserActivity *)userActivity
restorationHandler:
#if defined(__IPHONE_12_0) && (__IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_12_0)
(nonnull void (^)(NSArray<id<UIUserActivityRestoring>> *_Nullable))restorationHandler {
#else
(nonnull void (^)(NSArray *_Nullable))restorationHandler {
#endif // __IPHONE_12_0
//(void (^)(NSArray *))restorationHandler {
NSLog(@"continueUserActivity called, withUser: %@, useractivity: %@, webpageurl: %@", self.user.uid, userActivity, userActivity.webpageURL);
calledFromURL = YES;
BOOL handled = [[FIRDynamicLinks dynamicLinks] handleUniversalLink:userActivity.webpageURL
completion:^(FIRDynamicLink * _Nullable dynamicLink,
NSError * _Nullable error) {
NSLog(@"continueUserActivity called");
if (error) {
NSLog(@"dynamic link error: %@", error.localizedDescription);
animated:YES completion:nil];
}
else {
}
}];
return handled;
}
这是什么问题?预先谢谢你!
答案 0 :(得分:3)
关于动态链接,我遇到了完全相同的问题。 我在Podfile中使用了以下几行:
pod 'Firebase/DynamicLinks'
pod 'Firebase/Analytics'
就像订购的官方Firebase教程一样。
但是,我的应用当时仍使用pod 'Google/Analytics'
吊舱,该吊舱已过时,应切换到Firebase Analytics。
此Google Analytics(分析)窗格与Firebase的Pod有一个共同的依赖关系(如果我没记错的话,是“ Firebase / Core”),但由于它是一个过时的旧版本,因此其依赖关系必须低于某个特定版本。 因此,即使我没有在Podfile中指定DynamicLinks pod版本,旧的依赖关系也只能将其更新为某个版本,比最新版本要早。当我尝试按照文档中的建议使用自诊断工具[0]时发现了这一点,而我的代码找不到该工具。
所以我使用的解决方法是:
从我的Podfile中删除Google / Analytics(分析)窗格。当我这样做并执行pod update
时,所有与Firebase相关的Pod的版本都与CocoaPods网站[1]上的版本相同,即它们是最新的。
我仍然想使用一段时间的旧Google Analytics(分析),因为我需要动态链接的运行速度比切换到Firebase Analytics所需的速度更快,因此我手动导入了Google Analytics(分析)的静态库(libGoogleAnalytics.a)及其标头。当时一切正常。由于它不再位于Podfile中,因此我不会自动获取更改,但是,我认为不赞成使用的Pod不会成为问题。
如果您的问题确实与此有关,那么我认为这不是建议的解决方案。您应尽快使用Firebase Analytics,因为移动Google Analytics(分析)将于今年10月关闭。
我的猜测是,Firebase函数以前具有与动态控制台不兼容的解析和转换动态链接的方式,因此它返回一个空URL查询。
答案 1 :(得分:1)
您必须在info.plist中设置FirebaseDynamicLinksCustomDomains
https://firebase.google.com/docs/dynamic-links/custom-domains