2017-08-16 2 views
1

J'ai mis en place Universal Links sur mon application iOS en utilisant un sous-domaine aliasé de mon backend avec un schéma comme sudomain.mydomain.com. Je veux que les utilisateurs qui n'ont pas l'application installée soient redirigés vers notre page dans l'App Store plutôt que de toucher un point d'extrémité inexistant sur notre serveur (nous n'avons pas de webapp seulement un backend mobile).Est-ce que Universal Links a atteint mon serveur?

Je pensais faire quelque chose comme ceci:

app.get('*', (request, response) => { 

    const domain = request.headers.host, 
     subdomain = domain.split('.'); 

    if (subdomain[0] === 'subdomain'){ 
     response.redirect('www.linktoappstore.com'); 
    } 
    ... 
}); 

Cependant, je ne veux pas que cela interfère avec Universal Coupler gens qui ont installé l'application. Les requêtes Universal Link get sont-elles envoyées à mon serveur ou iOS les intercepte-t-il avant que cela n'arrive?

Répondre

3

Cela devrait fonctionner correctement.

Lorsque les liens universels sont configurés et que votre application est installée, le périphérique ne frappe PAS le serveur avant de lancer l'application. En effet, iOS met en cache le fichier apple-app-site-association lors de l'installation initiale de l'application. Si l'URL ouverte correspond à un chemin défini ici, Universal Links démarre. Dans ce cas, iOS contourne complètement toute requête Web et lance immédiatement votre application.

Bien sûr, cela signifie you can't track Universal Link traffic, ce qui peut devenir un point douloureux majeur. Pour contourner ce problème, vous avez besoin de quelque chose comme Branch.io (divulgation complète: je fais partie de l'équipe de la succursale) pour remplir les données manquantes.

Séparément, si vous par proxy le sous-domaine, assurez-vous que iOS ne voit pas cela comme une sorte de redirection. Dans le cas contraire, le fichier apple-app-site-association ne sera pas éraflé (problème d'implémentation commun Universal Link).

+0

Merci! Tout semble fonctionner pour moi. Je suppose que l'utilisation d'un raccourcisseur d'URL ne fonctionnera pas dans ce cas (d'où le besoin de Branch). – toddg

+1

Correct, à moins que vous ne contrôliez en quelque sorte le domaine de l'URL courte et que vous puissiez y ajouter le fichier AASA! –