J'intègre une application avec Branch.io et j'ai rencontré un problème dans Safari (je l'ai testé sous iOS 11, mais le problème pourrait également apparaître dans d'autres versions).
En gros, si mon application est installée et que j'ouvre un lien rapide dans Safari ou Chrome, tout fonctionne correctement et je reçois un message pour ouvrir le lien dans l'application. Cependant, si je désinstalle l'application et que je clique sur le lien dans Safari, le message suivant s'affiche:
Lorsque je tape sur le bouton OK, je reçois un message pour ouvrir l'Appstore, ce qui correspond au comportement souhaité. Existe-t-il un moyen d'empêcher le message "Safari ne peut pas ouvrir la page car l'adresse est invalide"? J'ai essayé d'ouvrir le lien dans Chrome sans l'application installée et tout fonctionne correctement.
J'ai utilisé le guide d'installation officiel et entré mon schéma d'URI, mais j'ai désactivé les liens universels car je les gère moi-même. Cela pourrait-il causer le problème?
Aaron de Branch.io ici
Vous obtenez probablement cette erreur car Branch tente de lancer votre application via des schémas d'URI lorsque l'application n'est pas installée. Depuis iOS 9.2, Apple ne prend plus officiellement en charge les schémas d'URI pour la liaison en profondeur, et il est vivement conseillé aux développeurs d'implémenter des liens universels afin d'obtenir une fonctionnalité équivalente sur iOS.
Plus précisément, les schémas d'URI personnalisés présentent des inconvénients importants, notamment l'incapacité de gérer facilement ces deux situations:
Pour cette raison, nous vous recommandons d'activer les liens universels dans votre tableau de bord Branch. Tout ce que vous avez à faire est de fournir votre identifiant de paquet et votre préfixe d'application, et Branch hébergera le fichier AASA pour vous.
Moi aussi j'avais ce problème, mais j'ai constaté que, en suivant les instructions de la section Test de l'application Branch Test, j'ai pu ouvrir l'application sans l'avertissement de Safari.
https://github.com/BranchMetrics/ios-branch-deep-linking/tree/master/Branch-TestBed-Swift#test
1. If the app was installed on the test device already:
* Delete the app from the device
* Clear Safari web content, history and cookies (Settings > Safari > Clear History and Website Data)
* Reset the device's IDFA (Settings > Privacy > Advertising > Reset Advertising Identifier...)
2. Create a Marketing link from the Branch dashboard
3. Paste the link into Notes on an iPhone
4. Tap the link - you will get redirected to the web page
5. ...
J'espère que ça aide quelqu'un.
Ces identifiants et préfixes de votre tableau de bord Apple: https://developer.Apple.com/account/ios/identifier/bundle
Si brièvement, créez le fichier https://yourdomain.com/.well-known/Apple-app-site-association
(sans .json).
Contenu du fichier (c'est le mien, je ne sais pas exactement quel objet a exactement besoin, j'ai ajouté les deux):
{
"applinks": {
"apps": [],
"details": [
{
"appID": "YOURPREFIX.com.your.id",
"paths": [ "*" ]
},
{
"appID": "com.your.id",
"paths": [ "*" ]
}
]
}
}
J'espère que cela aidera quelqu'un à créer des liens de base sans erreurs et à ouvrir automatiquement l'application.