Quickstarters
Feature Overview
Comment créer un backend pour Xamarin ?
30 min
introduction dans ce tutoriel, vous apprendrez à construire un backend pour vos xamarin applications mobiles en utilisant les puissantes fonctionnalités de back4app nous nous appuierons sur le rest api de back4app, graphql , et d'autres options d'api web au lieu d'utiliser un sdk dédié cette approche garde votre client mobile léger et flexible, vous permettant de vous connecter à vos données via de simples appels http nous aborderons la création de modèles de base de données, l'application de la sécurité, la gestion de l'authentification et l'exécution d'opérations sur des fichiers en suivant ces étapes, vous verrez comment construire rapidement et en toute sécurité un backend pour xamarin vous explorerez également la planification de tâches automatisées et l'intégration de webhooks pour étendre la fonctionnalité de votre xamarin application, afin que vous puissiez vous concentrer sur le codage de votre interface utilisateur au lieu de jongler avec les configurations du serveur une fois que vous aurez terminé ce guide, vous disposerez d'un modèle réutilisable pour créer des applications mobiles qui s'appuient sur back4app pour leur backend vous comprendrez également comment appliquer des listes de contrôle d'accès (acl), écrire du code cloud (si nécessaire), et incorporer des flux de travail avancés comme des requêtes en direct ou des tâches cloud dans votre solution finale prérequis pour tirer le meilleur parti de ce tutoriel, assurez vous d'avoir un compte back4app inscrivez vous gratuitement ici https //www back4app com/ un nouveau projet back4app commencer avec back4app https //www back4app com/docs/get started/new parse app environnement de développement xamarin (visual studio ou visual studio pour mac) docs d'installation de xamarin https //docs microsoft com/en us/xamarin/get started/installation/ connaissances de base en c# et xamarin (y compris comment effectuer des requêtes api web depuis une classe publique en c#) avec ces prérequis prêts, vous serez prêt à suivre et à connecter votre projet xamarin à back4app étape 1 – création d'un nouveau projet sur back4app et connexion créez un projet back4app dans votre tableau de bord back4app c'est la base de votre backend nommez votre projet (par exemple, “xamarin backend tutorial”) localisez vos clés d'application en allant dans la section “sécurité & clés” de l'application vous verrez les clés rest, graphql ou d'autres clés que vous pourriez utiliser lors des requêtes depuis votre client mobile configurez votre projet xamarin pour effectuer des requêtes http au lieu d'un sdk parse, vous utiliserez soit httpclient , soit toute bibliothèque réseau de votre choix, pour appeler les points de terminaison rest ou graphql de votre application back4app par exemple, vous pouvez stocker votre id d'application et votre clé api rest dans un endroit sécurisé ou dans un fichier de constantes public class back4appconstants { public const string appid = "your application id"; public const string restapikey = "your rest api key"; public const string serverurl = "https //parseapi back4app com"; } lors de l'appel de l' api web , incluez toujours ces informations d'identification dans les en têtes de votre requête cela garantit que vos requêtes sont dirigées vers la bonne application avec l'autorisation requise étape 2 – configuration de la base de données 1\ création d'un modèle de données utilisez le tableau de bord back4app pour définir vos classes ou laissez les être créées dynamiquement lors de la première demande par exemple, si vous voulez une classe todo , vous pouvez la créer dans la section base de données ou à la volée via des appels rest api curl x post \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"title" "buy groceries", "iscompleted" false}' \\ https //parseapi back4app com/classes/todo 2\ création d'un modèle de données en utilisant l'agent ia back4app fournit un agent ia qui peut générer des structures de classe complètes ouvrez l'agent ia dans votre projet back4app décrivez votre modèle (par exemple, “veuillez créer une nouvelle classe nommée ‘todo’ avec les champs titre et iscompleted ”) confirmez pour générer le schéma automatiquement 3\ lecture et écriture de données (rest) dans votre xamarin projet, vous pouvez écrire une classe publique (par exemple, restclient ) qui gère toutes les requêtes vers back4app using system net http; using system text; using newtonsoft json; public class restclient { private readonly httpclient client; public restclient() { client = new httpclient(); client defaultrequestheaders add("x parse application id", back4appconstants appid); client defaultrequestheaders add("x parse rest api key", back4appconstants restapikey); } public async task createtodoasync(string title, bool iscompleted) { var newtodo = new { title = title, iscompleted = iscompleted }; var content = new stringcontent(jsonconvert serializeobject(newtodo), encoding utf8, "application/json"); var response = await client postasync($"{back4appconstants serverurl}/classes/todo", content); // handle the response } public async task\<list\<todo>> gettodosasync() { var response = await client getasync($"{back4appconstants serverurl}/classes/todo"); var jsonstring = await response content readasstringasync(); // parse json into a c# model (todo) // return the result // return new list\<todo>(); // placeholder } } public class todo { public string objectid { get; set; } public string title { get; set; } public bool iscompleted { get; set; } } 4\ lecture et écriture de données (graphql) pour les requêtes graphql, vous pouvez envoyer des requêtes à l'endpoint graphql de back4app curl x post \\ h "content type application/json" \\ h "x parse application id your application id" \\ h "x parse master key your master key" \\ \ data '{"query" "mutation { createtodo(input {fields {title \\"wash the car\\" iscompleted\ false}}){ todo{ objectid title }}}"}' \\ https //parseapi back4app com/graphql de même, depuis xamarin, vous pourriez post un corps json avec votre chaîne graphql à https //parseapi back4app com/graphql 5\ travailler avec des requêtes en direct (optionnel) bien que vous utilisiez des appels d'api web plutôt que le sdk parse, vous pouvez toujours activer les requêtes en direct si vous souhaitez des mises à jour de données en temps réel vous utiliseriez des connexions spécialisées (websockets) pour vous abonner aux changements de classe activer les requêtes en direct depuis les paramètres du serveur de votre application dans back4app, puis utilisez une bibliothèque cliente compatible dans xamarin, si disponible alternativement, vous pouvez construire votre propre solution websocket ou vous fier à des sondages si le support en temps réel est optionnel pour votre application étape 3 – appliquer la sécurité avec les acl et les clp 1\ aperçu des acl et des clp la sécurité de back4app comprend class level permissions (clps) et access control lists (acls) les clps définissent quels utilisateurs ou rôles peuvent lire/écrire dans une classe entière les acls ajoutent une sécurité par objet combinez les pour vous assurer que seuls les utilisateurs autorisés peuvent manipuler vos données 2\ configuration des autorisations au niveau de la classe ouvrez la section base de données sur back4app sélectionnez votre classe (comme todo) allez aux autorisations au niveau de la classe pour définir les règles de lecture/écriture vous pouvez autoriser uniquement les utilisateurs authentifiés à lire ou écrire cela garantit que votre client mobile doit se connecter avant de lire les données étape 4 – écriture de fonctions cloud code 1\ pourquoi cloud code le cloud code vous permet d'exécuter une logique personnalisée côté serveur vous pouvez créer des règles métier, des validations ou des déclencheurs qui s'exécutent lorsque les données changent cela réduit le risque de falsification puisque la logique s'exécute en dehors du client mobile 2\ exemple de fonction et déclencheurs voici un exemple simplifié d'une fonction cloud dans le main js fichier parse cloud define('helloxamarin', async (request) => { return 'hello from xamarin cloud code!'; }); parse cloud beforesave('todo', (request) => { const todo = request object; if (!todo get('title')) { throw 'title is required'; } }); 3\ déploiement pour déployer, vous pouvez utiliser le back4app cli ou la section cloud code dans votre tableau de bord une fois déployé, vous pouvez appeler vos fonctions depuis xamarin via rest curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{}' \\ https //parseapi back4app com/functions/helloxamarin 4\ modules npm si vous avez besoin de bibliothèques supplémentaires, installez les via npm dans le dossier de votre projet cloud code après cela, require les dans votre main js cette approche est utile pour appeler des api tierces depuis le côté serveur étape 5 – configuration de l'authentification 1\ activer l'authentification des utilisateurs dans back4app, la user classe gère les identifiants des utilisateurs sous paramètres de l'application , vous pouvez activer l'authentification des utilisateurs, la vérification des e mails et les paramètres de réinitialisation de mot de passe 2\ inscription / connexion des utilisateurs (rest) depuis votre projet xamarin, vous pouvez écrire des méthodes c# pour gérer l'inscription et la connexion public async task signupuserasync(string username, string password, string email) { var user = new { username = username, password = password, email = email }; var content = new stringcontent(jsonconvert serializeobject(user), encoding utf8, "application/json"); var response = await client postasync($"{back4appconstants serverurl}/users", content); // parse response } public async task loginuserasync(string username, string password) { var loginendpoint = $"{back4appconstants serverurl}/login?username={username}\&password={password}"; var response = await client getasync(loginendpoint); // parse response } vous pouvez ensuite stocker les jetons de session côté client pour de futures requêtes 3\ connexion sociale pour intégrer des connexions sociales (par exemple, google, facebook), consultez les documents de connexion sociale back4app https //www back4app com/docs/platform/sign in with apple chaque fournisseur a son propre flux oauth, que vous pouvez gérer depuis votre client mobile ensuite, passez les jetons retournés à back4app étape 6 – gestion du stockage de fichiers 1\ configuration du stockage de fichiers les fichiers peuvent être téléchargés en envoyant une requête post avec les données du fichier dans le corps par exemple, pour stocker une image depuis votre application xamarin, lisez l'image dans un tableau d'octets, puis envoyez curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type image/png" \\ \ data binary "@local image png" \\ https //parseapi back4app com/files/myimage png 2\ exemple de téléchargement avec c# public async task\<string> uploadfileasync(byte\[] filedata, string filename) { var filecontent = new bytearraycontent(filedata); filecontent headers contenttype = new system net http headers mediatypeheadervalue("image/png"); var response = await client postasync($"{back4appconstants serverurl}/files/{filename}", filecontent); var jsonresponse = await response content readasstringasync(); // parse the response to get file url return "file url from response"; } 3\ considérations de sécurité pour sécuriser les téléchargements de fichiers, allez dans vos paramètres du serveur back4app et ajustez les permissions de fichiers par exemple, vous pouvez autoriser uniquement les utilisateurs authentifiés à télécharger étape 7 – vérification par e mail et réinitialisation du mot de passe 1\ vue d'ensemble la vérification par e mail garantit que les utilisateurs possèdent l'e mail avec lequel ils se sont inscrits les liens de réinitialisation de mot de passe leur permettent de retrouver l'accès s'ils oublient leurs mots de passe 2\ configuration du tableau de bord back4app activer la vérification par email sous paramètres de l'email modifier le modèle de réinitialisation de mot de passe et définir l'adresse “de” vous pouvez également personnaliser le contenu de l'email pour correspondre à votre image de marque 3\ mise en œuvre une fois activé, si un utilisateur s'inscrit avec un email, il recevra un lien de vérification les appels de réinitialisation de mot de passe sont effectués vers la même api de base avec l'email de l'utilisateur pour déclencher un email de réinitialisation étape 8 – planification des tâches avec les cloud jobs 1\ ce que font les cloud jobs les cloud jobs vous permettent de planifier des tâches de routine, telles que le nettoyage des anciennes données ou l'envoi d'emails de résumé quotidien, le tout depuis la plateforme back4app 2\ exemple parse cloud job('cleanupoldtodos', async (request) => { const todo = parse object extend('todo'); const query = new parse query(todo); const now = new date(); const thirty days ago = new date(now 30 24 60 60 1000); query lessthan('createdat', thirty days ago); const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old items `; }); déployez le cloud code, puis planifiez le travail sous paramètres de l'application > paramètres du serveur > tâches d'arrière plan étape 9 – intégration des webhooks définir un webhook sur back4app en naviguant vers plus > webhooks et en cliquant sur “ajouter un webhook ” fournir le point de terminaison, tel que https //your service com/webhook endpoint choisir des déclencheurs, comme “nouvel objet dans la classe todo ” les webhooks peuvent notifier des services tiers, permettant à votre application xamarin de rester légère pendant que des systèmes externes gèrent la logique ou les notifications supplémentaires étape 10 – exploration du panneau d'administration back4app l' application d'administration back4app est un moyen convivial de gérer les opérations crud sans écrire de requêtes activez la dans tableau de bord de l'application > plus > application d'administration créez un utilisateur administrateur, choisissez un sous domaine et connectez vous cette application d'administration est idéale pour les membres non techniques de l'équipe qui doivent gérer des données mais ne devraient pas avoir accès directement à la base de données conclusion vous venez de voir comment construire un backend pour xamarin en utilisant les apis back4app vous avez créé des classes sécurisées, ajouté des clps et des acls , géré l'authentification, et exploré les téléchargements de fichiers, la planification de tâches, et l'intégration avec des services externes cette approche garantit que vos applications mobiles restent rapides et flexibles tout en tirant parti de la puissance d'une base de données hébergée et d'un environnement cloud prochaines étapes développez votre application xamarin pour gérer une logique plus complexe, le caching, ou des rôles et permissions avancés plongez dans des fonctionnalités avancées , telles que les notifications push, ou intégrez des données en temps réel avec des requêtes en direct si vous avez besoin de mises à jour collaboratives visitez la documentation officielle de back4app pour des guides plus approfondis sur la sécurité, la performance et le débogage créez des solutions réelles en mélangeant des apis tierces (passerelles de paiement, analytics, réseaux sociaux) avec votre backend back4app cette combinaison peut améliorer la fonctionnalité de votre client mobile et garder votre code organisé