Fermer

novembre 9, 2020

Numéroteur téléphonique et envoi d'e-mails et de SMS dans Xamarin Forms


Utiliser Phone Dialer ou envoyer des e-mails ou des SMS dans Xamarin Forms pourrait être plus facile que vous ne le pensiez: ils sont inclus dans Xamarin Essentials!

Howdy! 🙋‍♀ C’est un plaisir de vous accueillir ici! Cette fois, je veux juste écrire sur Phone Dialer, SMS et e-mails. J'aime beaucoup ces sujets car ils nous permettent d'établir une interaction directe avec l'utilisateur. En plus de cela, j'ai vu des personnes rechercher l'un de ces sujets et trouver généralement des informations sur des plugins individuels pour pouvoir effectuer toutes ces actions en même temps. Mais nous avons déjà Xamarin Essentials! Il est intégré à nos projets Xamarin Forms, nous pouvons donc maintenant effectuer ces actions (et bien d'autres) sans avoir à ajouter d'autres packages! 😎

Ce message sera divisé en rubriques suivantes fournies par Xamarin Essentials:

  • Phone Dialer
  • Envoi de SMS
  • Envoi d'e-mails

📞 Phone Dialer

La bonne nouvelle, c'est que c'est trop facile à mettre en œuvre! Avec la classe PhoneDialer vous pouvez accéder à la méthode Open qui attend une chaîne comme paramètre, puis le numéroteur est ouvert. Une fois cela fait, l'API essaiera automatiquement de formater le numéro en fonction du code du pays, si spécifié.

La simple ligne de code suivante fait tout le travail!

 PhoneDialer.Open (contactNumber);

📲 Envoi de SMS

Xamarin Essentials nous fournit la classe SMS qui nous permet d'ouvrir l'application SMS par défaut avec un message spécifique et un destinataire à envoyer.

Pour envoyer un message, vous doivent appeler la classe Sms, suivie de la méthode ComposeAsync qui a reçu un paramètre de type SmsMessage et il est composé de ce qui suit:

 wait Sms.ComposeAsync
     (
nouveau SmsMessage
(
messageText,
nouveau [] {destinataire}
)
     );

Paramètres de classe SmsMessage nécessaires:

Nom Type Description
messageText string C'est le message que vous allez envoyer dans le SMS.
destinataires string Ajoutez les destinataires auxquels vous enverrez le SMS. (Vous pouvez transmettre plusieurs destinataires avec un tableau de chaînes ( chaîne [] destinataires) ).

Et.. Voila! Votre SMS notre message a été envoyé! 🎊

📲 Envoi d'emails

Enfin, voyons comment envoyer des e-mails!

🔧 Mais tout d'abord, établissons quelques différences importantes par plateforme: [19659003] 📒 Sur iOS: N'a pas de différences de plate-forme. Cependant, surtout : pour utiliser l'API Email sur iOS, vous devez l'exécuter sur un périphérique physique; sinon, une exception sera levée.

📗 Sur Android: Il est recommandé d'utiliser du texte brut pour envoyer des e-mails car tous les utilisateurs d'Android ne supportent pas le HTML et il n'y a aucun moyen de le détecter.

📘 Sur UWP: Prend uniquement en charge le texte brut comme BodyFormat. Tenter d'envoyer du HTML lèvera une exception FeatureNotSupportedException. Tous les clients de messagerie ne prennent pas en charge l'envoi de pièces jointes. Vous pouvez lire plus d’informations ici .

Continuons! 😎

Pour envoyer l'e-mail, vous devez appeler la méthode ComposeAsync qui a reçu un EmailMessage en tant que paramètre contenant les informations suivantes: Subject, Body, To, Cc et Bcc. Vous pouvez voir l'implémentation dans le code suivant:

 await Email.ComposeAsync
      (
          nouveau EmailMessage
          {
               Sujet = sujet,
               Corps = corps,
               À = destinataires,
               Cc = ccRecipients,
               Cci = BccRecipients
           }
      );

Vous pouvez également envoyer des fichiers joints. Sachez que chaque client de messagerie est différent et ne peut prendre en charge que des extensions de fichier spécifiques, voire aucune. Vous pouvez voir un exemple ici pour savoir comment procéder.

 var message = new EmailMessage
{
    Subject = "Bonjour",
    Body = "Monde",
};

var fn = "Attachment.txt";
var fichier = Path.Combine (FileSystem.CacheDirectory, fn);
File.WriteAllText (fichier, "Hello World");

message.Attachments.Add (nouveau EmailAttachment (fichier));
 
attendre Email.ComposeAsync (message);

Vous avez formellement envoyé votre premier e-mail!

Conclusion

Merci beaucoup d'être ici, j'espère que vous avez trouvé de nombreux avantages et que vous pourrez l'implémenter dans votre prochain projet! À bientôt! 🙋‍♀‍

Références:





Source link