Quickstarters
Feature Overview
Comment construire un backend pour tvOS ?
42 min
introduction dans ce tutoriel, vous apprendrez comment construire un backend pour les applications tvos nous aborderons l'intégration des fonctionnalités essentielles de back4app—comme la gestion de base de données, les fonctions cloud code, les api rest et graphql, l'authentification des utilisateurs, et les requêtes en temps réel (live queries)—pour créer un backend sécurisé et évolutif qui communique sans problème avec votre application apple tv construite avec le sdk parse swift vous verrez comment l'environnement rationalisé de back4app et la configuration rapide réduisent considérablement le temps par rapport à la configuration manuelle des serveurs et des bases de données en cours de route, vous acquerrez une expérience pratique avec des fonctionnalités clés, y compris des fonctionnalités de sécurité avancées, la planification de tâches cloud, et les intégrations de webhook à la fin de ce tutoriel, vous serez prêt à améliorer cette structure fondamentale en une application tvos prête pour la production ou à inclure facilement une logique personnalisée et des api tierces ce guide vous aidera également à maintenir une expérience utilisateur de haute qualité sur apple tv , en tirant parti de votre projet xcode et de vos connaissances existantes en développement ios prérequis pour compléter ce tutoriel, vous aurez besoin de 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 xcode (dernière version stable) installé vous construirez votre application tvos avec swift ou swiftui assurez vous d'avoir la version la plus récente d'xcode depuis le mac app store sdk parse swift configurez le sdk parse swift https //github com/netreconlab/parse swift pour connecter votre application tvos familiarité avec swift et les concepts de base du développement ios/tvos si vous êtes nouveau sur apple tv, consultez la documentation apple tvos https //developer apple com/tvos/ ou un tutoriel pour débutants d'abord assurez vous d'avoir tous ces prérequis en place avant de commencer avoir votre projet back4app prêt et un projet xcode tvos configuré vous aidera à suivre plus facilement étape 1 – création d'un nouveau projet sur back4app et connexion créer un nouveau projet la première étape pour construire votre backend d'application tvos sur back4app est de créer un nouveau projet si vous ne l'avez pas encore fait, suivez ces étapes connectez vous à votre compte back4app cliquez sur le bouton “nouvelle application” dans votre tableau de bord back4app donnez un nom à votre application (par exemple, “tvos backend tutorial”) une fois créé, vous verrez le projet listé dans votre tableau de bord back4app ce nouveau projet back4app est le cœur de toutes les configurations backend couvertes dans ce tutoriel connectez le sdk parse swift back4app utilise parse pour gérer le stockage des données, l'authentification des utilisateurs, les fonctionnalités en temps réel, et plus encore pour connecter votre application tvos à back4app, installez et configurez le sdk parse swift dans votre projet xcode récupérez vos clés parse dans votre tableau de bord back4app, allez dans “paramètres de l'application” ou “sécurité & clés” pour trouver votre id d'application et clé client vous verrez également l' url du serveur parse —généralement https //parseapi back4app com installez le sdk parse swift dans votre projet tvos gestionnaire de paquets swift (recommandé) dans xcode, sélectionnez fichier → ajouter des paquets entrez l'url github de parse swift https //github com/netreconlab/parse swift git choisissez la version appropriée ou la branche principale cocoapods si vous préférez cocoapods, ajoutez ce qui suit à votre podfile pod 'parseswiftog' ensuite, exécutez pod install initialiser parse dans votre appdelegate ou @main struct import parseswift import swiftui @main struct mytvosapp 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() } } } cela garantit que votre application tvos est construite pour communiquer avec le backend back4app, vous permettant de stocker des données, d'exécuter des requêtes, d'authentifier des utilisateurs, et plus encore étape 2 – configuration de la base de données création d'un modèle de données avec votre application tvos maintenant connectée à back4app, vous pouvez créer et gérer des données dans parse swift, vous définissez parseobject structs struct gamescore parseobject { var objectid string? var createdat date? var updatedat date? var acl parseacl? var originaldata data? // custom fields var score int? var playername string? } vous pouvez également définir manuellement des classes dans votre tableau de bord back4app allez à “base de données” dans la console back4app créez une nouvelle classe (par exemple, “gamescore”) ajoutez des colonnes pertinentes (score, nomdujoueur, etc ) créer un modèle de données en utilisant l'agent ia l'agent ia de back4app peut automatiquement concevoir votre schéma ouvrez l'agent ia dans votre tableau de bord back4app décrivez votre modèle (par exemple, “créer une classe todo avec un titre et un champ iscompleted”) appliquez et laissez l'agent ia générer le schéma lire et écrire des données en utilisant le sdk func savescore() async { var gamescore = gamescore() gamescore score = 1337 gamescore playername = "tvos fan" do { try await gamescore save() print("score saved successfully ") } catch { print("error saving score \\\\(error)") } } func fetchscores() async { let query = gamescore query() do { let results = try await query find() print("fetched scores \\\\(results)") } catch { print("error fetching scores \\\\(error)") } } lecture et écriture de données en utilisant l'api 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 '{"score" 9000, "playername" "applefan"}' \\ https //parseapi back4app com/classes/gamescore lecture et écriture de données en utilisant l'api graphql mutation { creategamescore(input { fields { score 420 playername "swiftie" } }) { gamescore { objectid score playername } } } travailler avec des requêtes en direct (optionnel) les requêtes en direct peuvent alimenter des mises à jour en temps réel dans votre apple tv interface—particulièrement utile pour les applications multijoueurs ou de classement activer les requêtes en direct dans les paramètres du serveur de votre application sur back4app initialiser une souscription let subscription = gamescore query("score" > 1000) subscribecallback { event in switch event { case created(let score) print("new high score created \\\\(score)") case updated(let score) print("high score updated \\\\(score)") case deleted(let score) print("high score removed \\\\(score)") default break } } étape 3 – application de la sécurité avec des acl et des clp aperçu back4app sécurise vos données avec acls (listes de contrôle d'accès) et clps (permissions au niveau de la classe) utilisez les pour définir des règles de lecture/écriture au niveau de l'objet ou de la classe permissions au niveau de la classe allez à la base de données , choisissez une classe (par exemple, gamescore) cliquez sur “sécurité” ou “permissions au niveau de la classe” définissez qui peut lire, écrire ou supprimer (par exemple, uniquement les utilisateurs authentifiés) acls dans le code var gamescore = gamescore() gamescore score = 500 // restrict read/write to only the current user var acl = parseacl() if let user = try? await user current() { acl setreadaccess(user user, value true) acl setwriteaccess(user user, value true) } gamescore acl = acl étape 4 – écriture des fonctions de cloud code pourquoi le cloud code ? le cloud code vous permet de décharger la logique critique de votre client vers un code sécurisé côté serveur c'est idéal pour les règles commerciales, les validations de données ou les intégrations tierces sans exposer de secrets dans votre application tvos fonction d'exemple dans votre main js parse cloud define("awardbonus", async (request) => { const { objectid, bonus } = request params; const query = new parse query("gamescore"); const gamescore = await query get(objectid, { usemasterkey true }); gamescore increment("score", bonus); await gamescore save(null, { usemasterkey true }); return gamescore; }); déploiement back4app cli b4a configure accountkey b4a deploy ou utilisez le back4app dashboard → cloud code → functions → main js appel depuis swift import parseswift func awardbonusscore(objectid string, bonus int) async { do { let result = try await parsecloud callfunction("awardbonus", with \[ "objectid" objectid, "bonus" bonus ]) print("updated score \\\\(result)") } catch { print("error awarding bonus \\\\(error)") } } modules npm dans votre package json , ajoutez des dépendances { "dependencies" { "axios" "^0 27 0" } } ensuite, exigez ou importez les dans main js pour les utiliser dans cloud code étape 5 – configuration de l'authentification authentification des utilisateurs dans back4app les applications tvos ont souvent besoin de synchronisation des données utilisateur ou de connexion le parseuser de parse fournit une inscription sécurisée, une connexion, des sessions et un accès basé sur les rôles struct user parseuser { var objectid string? var createdat date? var updatedat date? var acl parseacl? var originaldata data? // essential var username string? var email string? var emailverified bool? var password string? var authdata \[string \[string string]?]? } inscription / connexion func signupuser() async { var newuser = user() newuser username = "tvuser" newuser password = "secret" newuser email = "user\@example com" do { try await newuser signup() print("sign up successful ") } catch { print("error signing up \\\\(error)") } } func loginuser() async { do { let loggedin = try await user login(username "tvuser", password "secret") print("logged in as \\\\(loggedin username ?? "")") } catch { print("login error \\\\(error)") } } connexion sociale configurer connexion facebook ou apple https //www back4app com/docs/platform/sign in with apple ensuite, liez les comptes try await user link(with apple(idtoken "token", rawnonce "nonce")) étape 6 – gestion du stockage de fichiers configuration du stockage de fichiers téléchargez des images utilisateur, des replays de jeux ou des ressources d'application en utilisant parsefile let filedata = data( ) // e g image bytes let file = parsefile(name "preview\ png", data filedata) do { let savedfile = try await file save() print("file uploaded \\\\(savedfile url)") } catch { print("error uploading file \\\\(error)") } exemple attachez des fichiers aux objets struct gamemedia parseobject { var objectid string? var createdat date? var updatedat date? var acl parseacl? var originaldata data? var screenshot parsefile? } considérations de sécurité utilisez des clp ou des acl pour sécuriser les références de fichiers l'url directe d'un fichier peut être accessible au public à moins que vous n'activiez sécurité des fichiers https //www back4app com/docs/security/parse security étape 7 – vérification par e mail et réinitialisation du mot de passe aperçu la vérification par e mail aide à confirmer la propriété des comptes de messagerie par les utilisateurs la réinitialisation du mot de passe offre un moyen sécurisé et convivial de retrouver l'accès au compte configuration du tableau de bord back4app dans votre application → paramètres de l'application → e mail activer la vérification par e mail ou réinitialisation du mot de passe personnaliser les modèles d'e mail implémentation du code func requestpasswordreset(for email string) async { do { try await user passwordreset(email email) print("password reset link sent ") } catch { print("error requesting password reset \\\\(error)") } } étape 8 – planification des tâches avec les travaux cloud travaux cloud automatisez les tâches récurrentes, comme le nettoyage des anciennes données ou l'envoi de mises à jour mensuelles parse cloud job("cleanupoldscores", async (request) => { const now = new date(); const thirtydaysago = new date(now 30 24 60 60 1000); const query = new parse query("gamescore"); query lessthan("createdat", thirtydaysago); const oldscores = await query find({ usemasterkey true }); await parse object destroyall(oldscores, { usemasterkey true }); return `deleted ${oldscores length} old scores `; }); dans le tableau de bord back4app → paramètres de l'application → paramètres du serveur → travaux en arrière plan , planifiez “cleanupoldscores” pour s'exécuter quotidiennement étape 9 – intégration des webhooks définition les webhooks permettent à votre application back4app d'envoyer des événements à des services externes cela pourrait être l'envoi de notifications à slack, des mises à jour de paiement à stripe, ou des données analytiques à votre serveur configuration dans votre tableau de bord back4app, allez à plus → webhooks → ajouter un webhook spécifiez un point de terminaison (comme https //myserver com/webhook endpoint ) et les déclencheurs (mises à jour d'objets, nouveaux enregistrements, etc ) exemple notifier slack lorsqu'un nouveau score élevé est créé parse cloud aftersave("gamescore", async (request) => { const score = request object get("score"); await sendtoslack(`a new high score of ${score} was posted!`); }); étape 10 – exploration du panneau d'administration back4app où le trouver l' application d'administration back4app est un tableau de bord convivial, centré sur le modèle pour gérer les données, effectuer des opérations crud ou modifier des classes—sans avoir besoin de requêtes directes à la base de données activez le via tableau de bord de l'application → plus → application d'administration fonctionnalités une fois activé, vous pouvez inviter des membres de l'équipe ou des clients à gérer les données, vérifier les journaux ou ajuster les notifications push—leur donnant essentiellement un accès direct au backend de votre application tvos conclusion en suivant ce tutoriel complet, vous avez créé un backend sécurisé pour votre application tvos en utilisant back4app configuré une base de données avec des classes, des types de données et des relations mis en place des requêtes en temps réel pour refléter les changements immédiats appliqué la sécurité à travers des acl et des clp implémenté le cloud code pour une logique métier personnalisée et des intégrations activé l'authentification avec vérification par e mail et réinitialisation de mot de passe géré les téléchargements de fichiers avec des contrôles de sécurité optionnels planifié des tâches cloud pour des tâches de routine utilisé des webhooks pour s'intégrer à des services externes exploré le panneau d'administration pour gérer et surveiller les données vous êtes maintenant bien équipé pour créer des expériences apple tv riches et de haute qualité votre application est construite sur une base solide—profitez de transformer vos idées d'application tvos en réalité ! prochaines étapes affinez votre interface tvos intégrez une navigation basée sur le focus, des flux utilisateurs sur grand écran, et les meilleures pratiques de l'app store améliorez la sécurité ajoutez un contrôle d'accès basé sur les rôles, une authentification multi facteurs, ou un chiffrement avancé approfondissez vos compétences explorez des fonctionnalités parse swift plus avancées comme le cache hors ligne ou les analyses personnalisées consultez la documentation officielle back4app docs https //www back4app com/docs et apple tvos docs https //developer apple com/tvos/ pour des connaissances plus approfondies monétisation envisagez un abonnement ou un paiement à la séance pour élargir le potentiel de votre entreprise de streaming avec les fondamentaux de ce guide, vous pouvez continuer à innover et à intégrer de nouvelles fonctionnalités bonne chance pour amener votre application tvos à un niveau supérieur!