Partage
  • Partager sur Facebook
  • Partager sur Twitter

React app links

7 avril 2021 à 18:53:12

Bonjour,

Aujourd'hui j'ai essayé de mettre en place des app links pour mon application android car j'aimerai que lorsque l'on clique sur un lien cela ouvre mon application si celle-ci est installée ou qui redirige sur un store si elle ne l'est pas.

Pendant un long moment j'ai essayé d'y faire fonctionner mais sans succès. Peut-on faire des app link avec react ou c'est réservé aux applications java / kotlin ? Toutes celles que j'ai vu étaient en Java...

J'ai aussi essayé d'y faire avec https://www.npmjs.com/package/node-deeplink mais il semblerait que cette solution n'est plus utilisable. 

Auriez-vous d'autres solutions ? 

Merci d'avance !

  • Partager sur Facebook
  • Partager sur Twitter

"Je n'ai pas échoué. J'ai juste trouvé 10 000 moyens qui ne fonctionnent pas."                                  - Thomas Edison

8 avril 2021 à 8:37:39

Bonjour, récemment (hier) j'ai aussi eu besoin d'ouvrir des liens (http et https uniquement) depuis mon application android (avec react-native),

j'ai utilisé le composant native Linking qui à plutôt bien fonctionné.

Le composant Linking propose deux méthodes assez utile, une pour vérifié que l'appareil dispose d'une application pouvant ouvrir le lien (pour des lien http,https il vérifie qu'un navigateur mobile et installé) et une qui envoie une demande d'ouvrir le lien (que l'utilisateur doit validé/rejeté manuellement)

Une illustration de code serait:

import {Linking} from 'react-native';

Linking.canOpenURL("http://abc.com")
.then(canOpen => {
	if(canOpen) {
    	Linking.openURL("http://abc.com")
        .then(result => {
        	// ici l'utilisateur à répondue à la requête d'ouverture
            // du lien (il na pas forcement ouvert le lien)
            console.log('tache d\'ouverture de lien et terminé pour: "http://abc.com"');
        })
        .catch(error => {
        	console.error(error);
            throw new Error('open URL has fail.');
        })
    } else {
    	console.warn('Oops, aucun navigateur installé sur cet appareil')
    }
})
.catch(error => {
	console.error(error);
    throw new Error('verifie si peut ouvrir lien à échoué');
})


Pour les lien http/https normalement ces à peut près tout sinon pour les lien un peut plus complexe (que le composant prend en charge) il faudra lire la documentation du composant

- EDIT:

autant pour moi j'ai lut un peut vite, j'ai crut que tu  voulais ouvrir des lien depuis l'intérieur de l'application, il y à un composant react-native-app-link sur npm qui à l'air de répondre à ce problème (je ne l'ai jamais utilisé).

-
Edité par SamuelGaborieau3 8 avril 2021 à 8:43:20

  • Partager sur Facebook
  • Partager sur Twitter

suggestion de présentation.