如何使用React Native Firebase动态链接获取iOS的初始链接?

问题描述 投票:1回答:1

我正在使用react-native-firebase :: 5.6.0,在获取iOS设备的初始链接时出现问题。在android上运行正常。如果用户未登录应用程序,我正在使用“ Firebase动态链接”在我的应用程序登录屏幕内重定向用户,否则,如果他已经登录,则仅打开应用程序。它适用于android应用,但ios应用存在问题。我使用了两个功能,一个是如果应用程序已关闭“ getInitialLink”,则获取动态链接,另一个是检查何时打开应用程序“ onLink”。]

这是我关闭启动画面后使用的功能,从关闭状态打开应用程序时仅调用一次。

firebase.links().getInitialLink().then((url) => {
    if (url && url === 'https://mycustomdomain.co.in') {
        navigationToScreen(AUTH, INITIAL_SCREEN);
    } else {
        // INITIALIZE APP HERE
    }
});

如果应用程序已经打开,我将在此函数中获取动态链接的URL值::

this.unsubscribeHandleOpenAppDynamicLinks = firebase.links().onLink(async (url) => {
    let isLoggedIn = await AsyncStorage.getItem(LocalStorageKeys.IS_LOGGEDIN);
    if (url) {
        if ( isLoggedIn !== 'yes' && url === 'https://mycustomdomain.co.in') {
            navigationToScreen(AUTH, INITIAL_SCREEN);
        }
    }
});


and clearing that listener on componentWillUnmount:: this.unsubscribeHandleOpenAppDynamicLinks();

[如果是iOS,则只有“ onLink”功能有效,我正在网址值为“未定义”。 getInitialLink()函数将返回从中启动应用程序的URL。如果应用是不是从URL启动,返回值将为null,但我是即使在iOS中从URL启动应用程序时也会得到“未定义”只要。在应用程序为iOS的情况下,我在onLink()中获取url推出了。为什么会这样?

请在这里建议我做错了。

我正在使用react-native-firebase :: 5.6.0,在获取iOS设备的初始链接时出现问题。在android上运行正常。我正在使用“ Firebase动态链接”在登录内重定向用户...

ios firebase react-native firebase-dynamic-links react-native-firebase
1个回答
0
投票

如果getInitialLink方法不起作用,则可能是由于链接不正确或由于Expo运行时。或者,使用Linking.getInitialURL方法获取初始URL。这也需要一点本机代码。这是因为链接模块不知道如何解释缩短的URL。因此,我们调用Firebase SDK的resolveShortLink方法来获取嵌入式深层链接。收到嵌入式深层链接后,我们可以照常在应用程序中处理它。

© www.soinside.com 2019 - 2024. All rights reserved.