2

使用已安装的 FIRDynamicLinks 处理动态链接时,handleUniversalLink 始终返回 false,并且永远不会调用回调。

我们已经链接了一个子域:https://app.[mycompany].com/,因此该apple-app-site-association文件已准备好并且可以访问。

FirebaseDynamicLinks SDK 在我们的应用程序 pods (v 4.0.1) 我们的应用程序功能包括作为关联域:applinks:*.[mycompany].com并且applinks:app.[mycompany].com 我们使用 Xcode 11.3.1,我们的 AppDelegate 在 Objective-C 中

这是我们遵循Firebase 文档的 AppDelegate 代码:

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray<id<UIUserActivityRestoring>> * __nullable restorableObjects))restorationHandler
    {

        // DynamicLinks: App installed. universal link
        NSURL *incomingURL = userActivity.webpageURL;

        if (incomingURL != nil) {
            NSLog(@"incoming URL: %@",incomingURL);
            BOOL linkHandled = [[FIRDynamicLinks dynamicLinks] handleUniversalLink:incomingURL
                                                                        completion:^(FIRDynamicLink * _Nullable dynamicLink, NSError * _Nullable error) {
                if (error != nil) {
                    NSLog(@"error transforming: %@ into a dynamicLink (%@): ", incomingURL, error.localizedDescription);
                } else if (dynamicLink != nil) {
                    [self handleIncomingDynamicLink:dynamicLink];
                }
            }];

            if (linkHandled) {
                return true;
            } else {

                // OLD universal link handling
                NSLog(@"incoming URL not handled");
            }
        }
        return NO;
    }

动态链接为: https://app.[mycompany].com/?link=https://[mycompany].com/[featureID]?token%3D12345&isi=[1234567890]&ibi=com.[mycompany].app 它是按照本教程直接从 Firebase 控制台生成的。

仍然 linkHandled 的布尔值始终为 false 并且永远不会调用回调

我们检查了:

https://github.com/firebase/quickstart-ios/issues/380Firebase 动态链接 - Continueuseractivity 不返回动态链接 url

但他们没有帮助。

4

1 回答 1

0

请确认您在 Firebase 控制台中设置了团队 ID - 设置 - 常规 - 您的应用 - [应用名称] - 团队 ID

于 2021-01-05T06:12:46.577 回答