React Native Firebase динамическая ссылка iOS - PullRequest
0 голосов
/ 17 октября 2018

Я пытаюсь использовать RNFirebase для входа в приложение с помощью ссылки электронной почты

signInWithDynamicLink = async url => {
const { dispatch, navigation } = this.props;
const isWithEmail = RNFirebase.auth().isSignInWithEmailLink(url);

if (isWithEmail) {
  try {
    dispatch(setSignInByEmail(true));
    const signInEmail = await AsyncStorage.getItem('emailForLogin');
    if (signInEmail) {
      await RNFirebase.auth().signInWithEmailLink(signInEmail, url);
      await AsyncStorage.removeItem('emailForLogin');
    } else {
      // Handle non sign in email link
    }
  } catch (error) {
    console.log(error);
  }
}

Я могу получить длинную ссылку электронной почты с помощью apiKey в url, прекрасно в Android.однако в iOS url это только URL-адрес перенаправления из actionCodeSettings, поэтому isWithEmail всегда будет false.Я сделал что-то не так в своем коде?

url в Android https://example.page.link/?link=https://project.firebaseapp.com/__/auth/...https://redirect-url.com%26lang%3Den

в iOS https://redirect-url.com

Вот мой AppDelegate.m для обработчика динамических ссылок

- (BOOL)application:(UIApplication *)application
        openURL:(NSURL *)url
        options:(NSDictionary<NSString *, id> *)options {
  return [[RNFirebaseLinks instance] application:application openURL:url options:options];
}

- (BOOL)application:(UIApplication *)application
        continueUserActivity:(NSUserActivity *)userActivity
        restorationHandler:(void (^)(NSArray *))restorationHandler {
  return [[RNFirebaseLinks instance] application:application continueUserActivity:userActivity restorationHandler:restorationHandler];
}

Обновление

не важно.нужно только изменить связанный домен на динамическую ссылку по умолчанию

...