2017-07-19 1 views
1

Je sais comment gérer les liens profonds dans Android et iOS en utilisant des filtres d'intention, mais je souhaite utiliser la même URL pour toutes les plateformes.Créer des URL Deep Link pour toutes les plateformes

Comment puis-je créer une URL pouvant être gérée par Android, iOS et le Web sans la bibliothèque? Merci d'avance.

Répondre

0

Vous pouvez accomplir cela en utilisant App Links sur Android et Universal Links sur iOS tout en conservant vos URL de site Web normales.

Configuration universelle Liens

Une fois que vous avez un domaine particulier enregistré pour votre site web, vous pouvez configurer votre application iOS pour ouvrir cette URL en utilisant l'application au lieu du navigateur grâce à des liens Universal.

Pour ce faire, ajoutez votre domaine aux domaines associés dans votre projet Xcode.

Ensuite, vous devez organiser un fichier d'association apple-app site qui est configuré correctement sur votre serveur https: //.com/apple-app-site-association. Ça devrait ressembler a quelque chose comme ca.

{ 
    "applinks": { 
     "apps": [], 
     "details": [ 
      { 
       "appID": "<teamId>.<bundleId>.dev", 
       "paths": [ "*" ] 
      }, 
      { 
       "appID": "<teamId>.<bundleId>", 
       "paths": [ "*" ] 
      } 
     ] 
    }, 
    "activitycontinuation": { 
     "apps": [ 
      "<teamId>.<bundleId>.dev", 
      "<teamId>.<bundleId>" 
     ] 
    } 
} 

Une fois que vous avez cette configuration, vous pouvez tester pour voir si votre lien Universal est valide en utilisant ce tool. Maintenant, votre application doit être en mesure de traiter toutes les mêmes URL que celles traitées par votre site Web. Vous pouvez voir un tutoriel complet here.

Configuration App Liens

Liens App sont essentiellement la manière d'Android de copie Liens Universal afin qu'ils fonctionnent de manière très similaire. Pour les configurer, commencez par ajouter des filtres d'intention à votre manifeste.

<activity ...> 
    <intent-filter android:autoVerify="true"> 
     <action android:name="android.intent.action.VIEW" /> 
     <category android:name="android.intent.category.DEFAULT" /> 
     <category android:name="android.intent.category.BROWSABLE" /> 
     <data android:scheme="http" android:host="yoursite.com" /> 
     <data android:scheme="https" android:host="yoursite.com" /> 
    </intent-filter> 
</activity> 

Ensuite, vous hébergez un fichier assetlinks.json sur votre serveur web ainsi à yoursite.com/.well-known/assetlinks.json. Ça devrait ressembler a quelque chose comme ca.

[{ 
    "relation": ["delegate_permission/common.handle_all_urls"], 
    "target": { 
    "namespace": "android_app", 
    "package_name": "io.branch.branchster", 
    "sha256_cert_fingerprints": ["14:6D:E9:83:... 
    } 
}] 

Vous devriez alors pouvoir gérer les liens profonds dans votre application. Pour voir le didacticiel complet sur les liens d'application, cliquez sur here.

Résumé

L'utilisation de ces deux méthodes pour Android et iOS, vous devriez être en mesure d'utiliser les mêmes liens exacts dans les trois cas de web, Android et iOS. Bien sûr, cela ne couvre pas deferred deep linking et échouera dans certains cas, en fonction de la source à partir de laquelle votre utilisateur se connecte. Pour ces raisons, je recommande d'utiliser un service tiers comme Branch (clause de non-responsabilité Je travaille pour Branch après avoir été un utilisateur de longue date) ou Firebase.