Quickstarters
Feature Overview
Comment construire un backend pour WatchOS ?
40 min
introduction dans ce tutoriel, vous découvrirez comment construire un backend pour watchos des applications en utilisant back4app que vous créiez une extension watchkit pour votre application iphone ou que vous conceviez une expérience autonome sur apple watch , back4app simplifie votre travail en fournissant des outils essentiels vous intégrerez des fonctionnalités telles qu'une base de données sécurisée, des fonctions cloud code, des requêtes en temps réel (live queries) et l'authentification des utilisateurs—le tout sans gérer vos propres serveurs vous verrez également comment la routine de démarrage rapide de back4app et son environnement facile à utiliser vous permettent de vous concentrer sur la fonctionnalité de vos applications watchos , plutôt que sur la configuration des serveurs en cours de route, vous apprendrez à gérer des tâches telles que la planification de travaux, la configuration de webhooks et la configuration de notifications push à la fin, vous aurez une base solide pour étendre vos applications de montre ou vos applications ios pour des besoins de niveau production, tout en offrant une synchronisation de données transparente (via une connexion internet ) entre l’ application watchkit et votre backend prérequis un compte back4app et un nouveau projet back4app commencer avec back4app https //www back4app com/docs/get started/new parse app si vous n'avez pas de compte, vous pouvez en créer un gratuitement suivez le guide ci dessus pour préparer votre projet un environnement de développement watchos/xcode vous devez avoir xcode installé avec le sdk watchos vous pouvez exécuter et construire votre extension watchkit sur une vraie apple watch ou un simulateur sdk parse swift utilisez swift package manager https //github com/netreconlab/parse swift pour installer et configurer le sdk pour vos apps watchos ou combinées apps ios familiarité avec swift, xcode et l'écosystème de développement d'apple documentation des développeurs apple https //developer apple com/documentation/ si vous êtes nouveau sur les plateformes apple, passez un peu de temps à explorer la documentation watchos et ios avant de commencer assurez vous de répondre à ces prérequis avant de commencer avoir votre projet back4app configuré et votre environnement watchos local prêt vous aidera à suivre sans problème étape 1 – créer un nouveau projet sur back4app et se connecter pourquoi vous avez besoin d'un projet back4app un nouveau projet back4app est essentiel pour stocker toutes les données et exécuter le code cloud pour vos apps watchos cela sert de base à votre backend créez votre projet connectez vous à back4app cliquez sur “nouvelle application” dans le tableau de bord nommez votre application (par exemple, “watchos backend tutorial”) installez le sdk parse swift ajoutez la dépendance parse swift dans votre package swift ou en utilisant fichier → packages swift → ajouter une dépendance de package dans xcode fournissez l'url dependencies \[ package(url "https //github com/netreconlab/parse swift git", from "5 0 0") ] initialisez parse dans votre code watchos ou partagé dans le code de démarrage de votre application watchkit ou dans un fichier partagé accessible par votre watchos et application iphone , initialisez parse @main struct mywatchapp app { init() { task { do { try await parseswift initialize( applicationid "your app id", clientkey "your client key", serverurl url(string "https //parseapi back4app com")! ) } catch { print("error initializing parse \\(error)") } } } var body some scene { windowgroup { contentview() } } } à ce stade, votre watchos application peut communiquer avec le backend back4app que ce soit une application apple watch indépendante ou une extension watchkit associée à une application iphone , toutes les données du backend passent par le sdk parse swift étape 2 – configuration de la base de données 1\ création d'un modèle de données back4app utilise la fonctionnalité de schéma à l'écriture de parse server vous pouvez définir des tables (classes) dans la base de données back4app ou les laisser être créées automatiquement lorsque des objets sont d'abord enregistrés par exemple, si vos applications watch suivent des données de santé, vous pourriez avoir une classe “healthmetrics” avec des champs comme heartrate, steps, ou workouttype 2\ création d'un modèle de données en utilisant l'agent ia l' agent ia de back4app vous permet de décrire votre schéma en langage simple ouvrez l' agent ia dans le tableau de bord de votre application fournissez des détails comme « veuillez configurer une classe watch metrics avec les champs dailysteps (nombre), heartrate (nombre) » l'ia créera automatiquement le schéma pour vous 3\ lecture et écriture de données en utilisant le sdk voici un exemple de sauvegarde et de requête de données à partir d'une application watchos supposons que nous ayons une healthmetrics structure import parseswift struct healthmetrics parseobject { var objectid string? var createdat date? var updatedat date? var acl parseacl? var originaldata data? var dailysteps int? var heartrate int? } // saving data func savemetrics(steps int, heart int) async { var metrics = healthmetrics() metrics dailysteps = steps metrics heartrate = heart do { let saved = try await metrics save() print("saved metrics \\(saved)") } catch { print("error saving \\(error)") } } // querying data func fetchlatestmetrics() async { let query = healthmetrics query() do { let results = try await query find() print("fetched \\(results count) items") } catch { print("error fetching \\(error)") } } 4\ lecture et écriture de données en utilisant l'api rest si nécessaire, vos applications watchos ou applications ios peuvent également envoyer des requêtes 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 '{"dailysteps" 8000, "heartrate" 75}' \\ https //parseapi back4app com/classes/healthmetrics 5\ lecture et écriture de données en utilisant graphql back4app fournit également un point de terminaison graphql par exemple mutation { createhealthmetrics(input { fields { dailysteps 7500 heartrate 70 } }) { healthmetrics { objectid dailysteps heartrate } } } 6\ travailler avec des requêtes en direct (optionnel) si vous avez besoin de mises à jour de données en temps réel sur votre apple watch , activez les requêtes en direct activez live queries sous server settings dans back4app configurez l'url de la requête en direct dans votre code watchos parselivequery configure(url url(string "wss\ //your subdomain b4a io")!) ensuite, abonnez vous aux changements func subscribemetricsupdates() async throws { let subscription = healthmetrics query() subscribe() for try await event in subscription { switch event { case created(let newdata) print("new data \\(newdata)") case updated(let updateddata) print("updated \\(updateddata)") default break } } } étape 3 – appliquer la sécurité avec les acl et les clp 1\ bref aperçu back4app permet des listes de contrôle d'accès (acl) et des autorisations au niveau de la classe (clp) pour sécuriser votre base de données par exemple, vous pourriez restreindre certaines métriques à l'utilisateur qui les a générées ou autoriser l'accès en lecture uniquement aux comptes authentifiés 2\ configuration étape par étape autorisations au niveau de la classe allez à base de données → classe → sécurité pour définir les valeurs par défaut (par exemple, lecture seule pour tous, écriture pour les propriétaires) acl dans le code vous pouvez ajouter des acl à chaque objet dans votre watchkit ou code partagé par exemple if let user = user current { var acl = parseacl() acl setreadaccess(user user, value true) acl setwriteaccess(user user, value true) var metrics = healthmetrics() metrics acl = acl } cela garantit que seul l'utilisateur connecté peut voir ou modifier les objets healthmetrics qu'il crée étape 4 – écriture de fonctions cloud code 1\ pourquoi cloud code apple watch 2\ fonction d'exemple dans votre main js parse cloud define('processmetrics', async (request) => { const { dailysteps, heartrate } = request params; if (!dailysteps || !heartrate) { throw 'missing parameters '; } // example simple calculation return dailysteps heartrate; }); 3\ déploiement utilisez le back4app cli https //www back4app com/docs/local development/parse cli pour déployer b4a deploy 4\ installation des modules npm si vous avez besoin de bibliothèques externes dans votre cloud code ajoutez des dépendances dans package json (dans votre dossier cloud code) utilisez require('your lib') dans main js étape 5 – configuration de l'authentification 1\ activer l'authentification des utilisateurs par défaut, la classe user est prête dans back4app assurez vous que « activer les autorisations au niveau de la classe » est correctement configuré pour les objets utilisateur 2\ exemples de code dans parse swift, vous pouvez inscrire un utilisateur depuis votre code watchos struct user parseuser { var objectid string? var createdat date? var updatedat date? var acl parseacl? var originaldata data? var username string? var email string? var emailverified bool? var password string? var authdata \[string \[string string]?]? } func signupnewuser(name string, pass string, mail string) async { var newuser = user() newuser username = name newuser password = pass newuser email = mail do { let signedup = try await newuser signup() print("sign up successful \\(signedup)") } catch { print("error signing up \\(error)") } } 3\ connexion sociale si vous prévoyez d'intégrer la connexion apple, google ou facebook dans votre application watchos ou iphone, vous pouvez le faire avec les fonctionnalités de connexion sociale pertinentes de parse swift voir back4app docs https //www back4app com/docs/platform/sign in with apple pour plus de détails étape 6 – gestion du stockage de fichiers 1\ configuration du stockage de fichiers si vos applications de montre doivent télécharger des images, des journaux ou de petits fichiers de données, vous pouvez compter sur parsefile func uploadfile(data data, filename string) async { let file = parsefile(name filename, data data) do { let savedfile = try await file save() print("uploaded file \\(savedfile url ?? "")") } catch { print("error uploading file \\(error)") } } 2\ exemple vous pourriez stocker des images d'entraînement ou des instantanés de progression quotidienne let snapshotdata = // some image data from watch screenshot task { await uploadfile(data snapshotdata, filename "workout jpg") } 3\ considérations de sécurité examinez vos acl de fichiers par défaut, les url de fichiers sont accessibles si quelqu'un obtient le lien direct vous pouvez sécuriser ou contrôler l'accès aux fichiers via la configuration des fichiers de votre serveur parse étape 7 – vérification par e mail et réinitialisation du mot de passe 1\ vue d'ensemble les utilisateurs d'apple watch ne gèrent pas toujours les connexions directement sur la montre, mais activer la vérification par e mail aide à garder leurs données sécurisées 2\ configuration du tableau de bord back4app allez à paramètres de l'application → e mail activez vérification par e mail personnalisez les modèles selon vos besoins 3\ code/implémentation pour les réinitialisations de mot de passe do { try await user requestpasswordreset(email "example\@domain com") } catch { print("error requesting password reset \\(error)") } do { try await user requestpasswordreset(email "example\@domain com") } catch { print("error requesting password reset \\(error)") } étape 8 – planification des tâches avec les cloud jobs 1\ que font les cloud jobs les cloud jobs vous permettent d'automatiser des tâches en arrière plan comme la rotation des anciennes données ou la génération de rapports d'utilisation pour vos analyses watchos 2\ exemple dans main js parse cloud job('cleanupmetrics', async (request) => { const query = new parse query('healthmetrics'); // for example, remove records older than 7 days const now = new date(); const cutoff = new date(now 7 24 60 60 1000); query lessthan('createdat', cutoff); const oldmetrics = await query find({ usemasterkey true }); await parse object destroyall(oldmetrics, { usemasterkey true }); return `deleted ${oldmetrics length} old records `; }); déployez votre code allez à paramètres de l'application → paramètres du serveur → tâches en arrière plan et planifiez le quotidiennement étape 9 – intégration des webhooks 1\ définition les webhooks notifient les services externes lorsque certains événements se produisent dans votre application par exemple, vous pourriez vouloir envoyer un message à un canal slack chaque fois qu'une nouvelle métrique est enregistrée 2\ configuration dans le tableau de bord back4app, allez à plus → webhooks ajoutez un webhook avec un point de terminaison (comme une url slack) choisissez l'événement (par exemple, “nouvel enregistrement dans healthmetrics”) 3\ exemple chaque fois qu'un utilisateur ajoute une nouvelle entrée dailysteps, votre canal slack est notifié vous pouvez également définir une logique plus complexe dans cloud code pour envoyer des charges utiles personnalisées à vos services externes étape 10 – explorer le panneau d'administration back4app 1\ où le trouver le panneau d'administration est accessible via votre console back4app sous plus → application admin activez le et créez un utilisateur administrateur pour la gestion des données basée sur le web si vous avez besoin d'une interface simple pour les parties prenantes non techniques 2\ fonctionnalités voir et modifier les données gérer les journaux et les tâches cloud suivre les analyses ou les notifications push c'est un moyen facile de collaborer sur des données sans avoir besoin d'un accès direct à la base de données ou au code conclusion tout au long de ce guide, vous avez appris comment construire un backend pour watchos en utilisant les puissantes fonctionnalités de back4app vous avez configuré un schéma de base de données sécurisé, écrit du code cloud, géré des requêtes en temps réel et mis en œuvre l'authentification des utilisateurs maintenant, votre application watchkit peut stocker et synchroniser des données avec un minimum de tracas prochaines étapes améliorez vos applications de montre en intégrant des fonctions cloud avancées pour des notifications personnalisées ou des transformations de données explorez des fonctionnalités supplémentaires pour les applications ios , comme la synchronisation en arrière plan et les stratégies de mise en cache pour votre apple watch lisez les documents officiels de back4app https //www back4app com/docs/ pour en savoir plus sur la sécurité avancée, l'analyse et les performances optimisez pour l'app store pour distribuer votre extension watchos ou votre application de montre autonome en développant votre backend, vous pouvez offrir des applications watchos robustes qui fonctionnent parfaitement même avec une connexion internet limitée continuez à construire et profitez de la puissance de back4app pour vos expériences apple watch!