Dot.Blog

C#, XAML, Xamarin, UWP/Android/iOS

Custom URI Scheme Cross-plateforme sous WPF (partie 2/2) (Vidéo)

Après avoir vu comment réaliser un Custom URI Scheme sous Android et Xamarin.Forms voici la version WPF qui fonctionne avec l’exact même appel HTML !

Le principe

Les schémas URI sont des noms, comme “Http”, “Ftp” … on les fait suivre de “://” puis d’une arborescence et d’un éventuel “?” pour passer des paramètres sous la forme “param=valeur”. C’est le principe d’une adresse web classique sauf que le “protocole” est un nom choisi par le concepteur de l’App.

Ce mécanisme vous permet d’appeler Twitter depuis votre App, ou le numéroteur téléphonique en passant le numéro à appeler.

C’est cool.

Mais comment implémenter soi-même son propre schéma URI personnalisé pour que sa propre App puisse se comporter de la même façon ?

Je vous ai montré dans une vidéo précédente comme le faire en Xamarin.Forms, mais sous Windows 7/10 comment y arriver ? Et surtout comment le faire pour que la page HTML active l’application choisie qu’elle soit lancée sous Android (iOS) ou Windows sans aucune modification ? Un système totalement OS-agnostic donc.

Trop de réponses, pas de réponse…

En fait on trouve des réponses sur des tas de fragments de la solution, très peu en Xamarin.Forms, un peu plus si on se jette dans la doc et les forums pour Android en Java. Mais pour WPF on pourrait s’attendre à ce que cela soit plus facile car plus ancien. Il n’en est rien sauf si on a de la chance, ce qui peut arriver. Pour UWP sous Windows 10 pas de problème puisque c’est un OS “smartphone friendly” proche de ce qu’était Windows 10 mobile. Mais WPF n’a aucune parenté avec le monde des mobiles et les astuces particulières des OS de ce monde là.

Alors là non plus hélas aucun exemple complet de A à Z qui fonctionne ne peut être trouvé facilement. Pire, beaucoup d’informations se contredisent, sont parcellaires, omettent le contexte, etc. Au bout du compte il n’existe pas de réponse simples.

Mais comme je suis toujours acharné j’ai repris  le problème à la base et j’ai trouvé une solution élégante qui prend très peu de code. A vous de vous l’approprier et de l’adapter à votre App bien entendu. Je ne me suis concentré que sur le mécanisme à mettre en place pour que ça marche, pas sur les milles façons de s’en servir ni sur les contextes différents (avec ou sans MVVM, quelle toolbox etc).

Et par dessus tout, le système fonctionne à l’identique côté HTML ! Permettant donc d’avoir un site web lançant une appli native avec paramètres aussi bien sous Android, iOS ou WPF !

20 minutes pour tout comprendre

Le mieux c’est que je laisse la parole … à moi-même (un poil narcissique mais c’est pourtant ce qui va arriver) puisque je vous propose de voir tout cela dans une vidéo Dot.Vlog ! Bon visionnage …

C'est ici : https://youtu.be/PwjrfrmKNFI


Conclusion

la boucle est bouclée, je vous ai donné une solution réellement cross-plateforme même au-delà de Xamarin.Forms puisqu’elle marche pour tout EXE et même sur Windows 7 ou 10 !

Rester informé et bénéficier d’exclusivités qui permettent d’avancer ? Une seule solution abonnez-vous à ma chaîne YouTube, inscrivez-vous au flux RSS de Dot.Blog pour ne rien louper… Deux gestes qui sauvent Smile Et comme vous êtes généreux, partagez tout ça avec vos collègues !

Stay Tuned (en bref) !

blog comments powered by Disqus