6 votes

React native deep linking ne fonctionne pas lorsque l'application est en arrière-plan React native

Lorsque l'application est fermée, je suis en mesure d'obtenir l'url du lien profond qui a été cliqué par l'utilisateur. Linking.getInitialURL() . Lorsque l'application est en arrière-plan, rien n'est monté. Donc, je ne suis pas en mesure d'obtenir l'url, même par la fonction Linking.addEventListener('url', method_name) .

Quel est le moyen d'y parvenir ?

0 votes

Parce que componentDidMount() a déjà été exécuté lorsque vous ouvrez votre application alors qu'elle est en arrière-plan.

0 votes

@Dalbir Kaur avez-vous trouvé la solution à ce problème ?

0voto

Syed Amir Ali Points 11

Cela se produit parce que Linking.addEventListener ne fonctionne pas et que seul Linking.getInitialURL fonctionne.

pour faire fonctionner Linking.addEventListener nous devons coder nativement dans iOS Appdelegate.m

si vous utilisez le code FBSDK, ceci

- (BOOL)application:(UIApplication *)application openURL:(nonnull NSURL *)url options:(nonnull NSDictionary<NSString *,id> *)options {
  //[RCTLinkingManager application:application openURL:url sourceApplication:sourceApplication annotation:annotation]

  return [RCTLinkingManager application:application openURL:url options:options] || [[FBSDKApplicationDelegate sharedInstance] application:application openURL:url options:options] || [RNGoogleSignin application:application openURL:url options:options];

  return YES;
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X