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