Liens profonds
Ouvrir votre service, ou l'un de ses écrans, depuis une notification, un courriel ou un QR code.
Description
Un lien profond ouvre votre service — ou l'un de ses écrans précis — depuis l'extérieur de l'application : une notification, un courriel, un QR code, un message.
Le lien désigne votre service, jamais votre serveur. Il porte l'identifiant que Yeria a donné à votre service, et le client résout le reste : votre URL de base, vos clés publiques, la règle de pays. C'est ce qui permet à vos liens de continuer à fonctionner quand votre infrastructure bouge, et ce qui empêche un lien forgé de pointer l'application vers un serveur qui n'est pas le vôtre.
Les deux formes
Les deux disent la même chose. Prenez celle que le support permet.
| Forme | Usage |
|---|---|
yeria://dl/{op}/{serviceId} | Dans une notification, un QR code, une application qui sait déjà que Yeria est installé. |
https://yeria.app/dl/{op}/{serviceId} | Partout où l'on attend un lien web — un courriel, une page, un SMS. Il ouvre l'application quand elle est installée. |
Opérations
op | Ouvre |
|---|---|
s | Votre service, à son URL de base — sa vue racine. |
v | L'une de vos vues. Exige ?p=, voir plus bas. |
c | La conversation entre l'utilisateur et votre service. |
p | La proposition d'épingler votre service. |
n | La demande de consentement à vos notifications. C'est le lien à mettre derrière un appel à l'action « être notifié ». |
Pointer vers l'une de vos vues
v prend le chemin de la vue sur votre propre serveur, dans un unique paramètre p :
1yeria://dl/v/{serviceId}?p=/orders/4718
2https://yeria.app/dl/v/{serviceId}?p=/orders/4718Une entrée profonde reçoit sa racine. Le client monte d'abord la vue servie par votre URL de base, puis pose la vue demandée par-dessus. L'utilisateur arrive donc là où vous l'avez envoyé, et un geste de retour le mène dans votre service au lieu de le faire sortir de l'application. Vous n'avez rien à déclarer pour cela : c'est ainsi que le client entre, toujours.
Les construire avec le SDK
YeriaLink écrit ces liens pour vous, et refuse d'en écrire un qui soit cassé. Un identifiant de service hors du jeu accepté, ou un chemin qui sortirait de votre service, lève à l'endroit où vous le construisez — plutôt que de produire une chaîne qui, sur le téléphone de quelqu'un, n'ouvrira rien sans rien dire.
1import { YeriaLink } from '@numerum-tech/yeriasdk';
2
3YeriaLink.service('svc_4718'); // votre service
4YeriaLink.component('svc_4718', '/orders/4718'); // l'une de vos vues
5YeriaLink.chat('svc_4718'); // la conversation
6YeriaLink.pin('svc_4718'); // la proposition d'épinglage
7YeriaLink.subscribe('svc_4718'); // le consentement aux notifications
8
9// https://yeria.app/dl/s/svc_4718HTTPS est la forme par défaut, parce qu'elle fonctionne sur une page web comme sur un appareil où Yeria est installé. Demandez le schéma propre à Yeria là où vous savez déjà qu'il l'est :
1YeriaLink.service('svc_4718', { format: 'yeria' });
2// yeria://dl/s/svc_4718YeriaLink.isValid(lien) répond si un lien est de ceux que Yeria honorera — utile quand un lien vous arrive d'un endroit que vous ne maîtrisez pas.
Le SDK Python porte la même classe, avec les cinq mêmes constructeurs et la même validation.
Ce que le client refuse
Un lien venu de l'extérieur est une entrée non fiable. Le client écarte en silence tout ce dont il ne peut pas répondre — un lien refusé n'ouvre rien, plutôt que d'ouvrir la mauvaise chose.
- Un hôte autre que
dl, ou un domaine autre queyeria.app. Rien d'autre n'est un lien Yeria. - Un identifiant de service hors de
A-Z a-z 0-9 . _ ~ -, ou plus long que 128 caractères. - Tout paramètre autre que l'unique
pd'un lienv, ou un fragment. - Un
pqui n'est pas un chemin sur votre serveur : une URL absolue, une URL relative au protocole, une barre inversée, ou un segment... Un lien peut atteindre l'intérieur de votre service ; il ne peut pas en sortir. - Un port, ou des identifiants dans l'URL.
Avant que l'utilisateur soit connecté
Un lien reçu alors que personne n'est connecté n'est pas perdu : il est gardé, et honoré dès que la session est ouverte. Votre appel à l'action fonctionne à la première installation comme au dixième lancement.
Un service hors du pays de l'utilisateur demande confirmation avant de s'ouvrir. Si l'utilisateur refuse, rien ne s'ouvre — prévoyez le cas où votre lien ne mène pas où vous l'attendiez.