Я использую response-native-firebase :: 5.6.0, у меня проблема при получении начальной ссылки для устройства iOS. На android работает нормально. Я использую «Firebase Dynami c Links» для перенаправления пользователя на экран входа в систему моего приложения, если он не вошел в приложение, иначе просто открываю приложение, если он уже вошел в систему. Это работает для приложения android, но возникли проблемы с ios приложением. Я использовал две функции: одна ссылка get Dynami c, если приложение закрыто "getInitialLink", а другая - проверка открытия приложения "onLink".
Это функция, которую я использую после закрытия spla Экран sh, вызывается только один раз при открытии приложения из состояния закрытия.
firebase.links().getInitialLink().then((url) => {
if (url && url === 'https://mycustomdomain.co.in') {
navigationToScreen(AUTH, INITIAL_SCREEN);
} else {
// INITIALIZE APP HERE
}
});
Если приложение уже открыто, я получаю динамическое c значение 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", и я получаю значение URL как "undefined". Функция getInitialLink () возвращает URL-адрес, с которого было запущено приложение. Если приложение не было запущено с URL-адреса, возвращаемое значение будет нулевым, но я получаю «неопределенное» даже при запуске приложения с URL-адреса только в случае iOS. Я получаю URL внутри onLink () в случае iOS при запуске приложения. Почему это происходит ??
Пожалуйста, подскажите, что я здесь не так делаю.