Comment utiliser des modèles d'URL personnalisés
(Il s'agit d'un message d'invité de Stefan Tsokev, responsable principal du soutien aux entreprises de Telerik.)
De nombreux utilisateurs nous ont demandé comment faire en sorte que leur application reconnaisse un certain schéma d'URL et réagisse en conséquence. Bien sûr, l’ouverture d’une application mobile à partir d’une autre application mobile est un scénario valable et, comme nous n’avons pas trouvé d’informations directes sur le net expliquant comment y parvenir (en particulier pour la plate-forme Android), nous avons décidé de publier un article à ce sujet.
Pour une application iOS, vous pouvez ajouter un gestionnaire de schéma d'URL dans l'Info.plist de votre application (voir Éditer Fichiers de configuration ) pour que votre application soit lancée lorsqu'une autre application iOS (telle que Safari Mobile) lance une URL. avec votre schéma personnalisé.
Enregistrez votre schéma personnalisé dans l'Info.plist de votre application: les instructions sont ici . Le balisage requis se résume à ceci:
CFBundleURLTypes CFBundleURLName com.telerik.myapp CFBundleURLSchemes myapp Merci à Apache Cordova . capable d'ajouter une fonction globale
handleOpenURL
dans votre JavaScript qui prend juste un paramètre – une chaîne contenant l'URL qui a été lancée. Ajoutez votre code pour analyser et gérer l'URL à l'intérieur de cette fonction globale. Cette fonction est toujours appelée si votre application a été lancée à partir du schéma personnalisé.function handleOpenURL (url) { // TODO: analyser l'URL et faire quelque chose }
Pour une application Android, vous pouvez ajouter un filtre d'intention dans le fichier AndroidManifest.xml de votre application (voir Éditer Fichiers de configuration ) pour que votre application soit lancée lorsqu'une autre application (telle que le navigateur Chrome) lance une URL avec votre navigateur. schéma personnalisé.
Enregistrez votre schéma personnalisé dans le fichier AndroidManifest.xml de votre application: les instructions sont ici . Le balisage requis se résume à ceci:
Téléchargez et ajoutez le plug-in WebIntent Cordova à votre projet. Le plugin n'est pas compatible plugman dans son état actuel et ne peut pas être utilisé directement dans le projet Icenium. Nous y avons apporté les modifications nécessaires pour que cela fonctionne dans le projet Icenium visant Cordova 2.7 (vous pouvez télécharger le plug-in modifié à partir de l'exemple d'application ). Vous pouvez trouver les modifications requises dans ces articles d'aide:
Voici comment la structure du plugin et plugin.xml devraient ressembler à la fin:
Nous utilisons la méthode
getUri
de l'objetwindow.plugins.webintent
qui prend un seul paramètre – une chaîne contenant l'URL lancée. Ajoutez votre code pour analyser et gérer l'URL du rappel transmis àgetUri
.function handleURLALAndroid () { window.plugins.webintent.getUri (function (url) { // TODO: analyser l'URL et faire quelque chose }); }
Bien sûr, cela ne serait pas différent des autres URL avec lesquelles nous avons travaillé. Supposons que l'application soit lancée par le lien hypertexte suivant:
Application ouverte
où views / browse.html est une vue vers laquelle nous souhaitons naviguer au démarrage de l'application. L'URL que nous recevons en tant que paramètre n'est pas directement utile. Nous aurions donc besoin d'obtenir le chemin dans lequel l'application est exécutée, la chaîne de requête, puis de les utiliser pour créer une URL correcte. Voici un exemple
if (url! == "") { var appPath = window.location.href; var path = appPath.substr (0, appPath.lastIndexOf ("/") + 1); var queryString = url.substr (url.lastIndexOf ("//") + 1, url.length); var activeurl = path + queryString; window.location.href = activeurl; }
Si vous souhaitez voir cela en action, n'hésitez pas à cloner l'application sample-custom-url-scheme à partir d'échantillons github ou Graphite / Mist (Clone -> Sample Projects). Rappelez-vous que cette application ne sera lancée que lorsqu'une autre application lancera une URL avec le schéma personnalisé.

Stefan Tsokev
Les intérêts principaux de Stefan en dehors du domaine .NET incluent rock musique, jouer de la guitare et nager.
Related Posts
Commentaires
Les commentaires sont désactivés en mode Prévisualisation.
[ad_2]
Source link