Quickstarters
Feature Overview
Wie man ein Backend für tvOS erstellt?
42 min
einführung in diesem tutorial lernen sie wie man ein backend für tvos apps mit back4app erstellt wir werden die integration wesentlicher back4app funktionen behandeln – wie datenbankverwaltung, cloud code funktionen, rest und graphql apis, benutzerauthentifizierung und echtzeit (live abfragen) – um ein sicheres, skalierbares backend zu erstellen, das nahtlos mit ihrer apple tv app kommuniziert, die mit dem parse swift sdk erstellt wurde sie werden sehen, wie die optimierte umgebung von back4app und die schnelle einrichtung die zeit im vergleich zur manuellen konfiguration von servern und datenbanken drastisch reduzieren unterwegs werden sie praktische erfahrungen mit wichtigen funktionen sammeln, einschließlich fortschrittlicher sicherheitsfunktionen, planung von cloud jobs und webhook integrationen am ende dieses tutorials sind sie bereit, diese grundlegende struktur in eine produktionsbereite tvos app zu erweitern oder benutzerdefinierte logik und drittanbieter apis einfach einzufügen dieser leitfaden hilft auch dabei, eine hohe qualität benutzererfahrung auf apple tv , zu gewährleisten, indem sie ihr xcode projekt und ihr bestehendes ios entwicklungswissen nutzen voraussetzungen um dieses tutorial abzuschließen, benötigen sie ein back4app konto und ein neues back4app projekt erste schritte mit back4app https //www back4app com/docs/get started/new parse app wenn sie kein konto haben, können sie eines kostenlos erstellen befolgen sie die obige anleitung, um ihr projekt vorzubereiten xcode (neueste stabile version) installiert sie werden ihre tvos app mit swift oder swiftui erstellen stellen sie sicher, dass sie die aktuellste version von xcode aus dem mac app store haben parse swift sdk richten sie das parse swift sdk https //github com/netreconlab/parse swift ein, um ihre tvos app zu verbinden vertrautheit mit swift und grundlegenden ios/tvos entwicklungskonzepten wenn sie neu bei apple tv sind, überprüfen sie die apple tvos dokumentation https //developer apple com/tvos/ oder ein anfänger tutorial zuerst stellen sie sicher, dass sie alle diese voraussetzungen erfüllt haben, bevor sie beginnen ihr back4app projekt bereit zu haben und ein lokales tvos xcode projekt einzurichten, wird ihnen helfen, leichter folgen zu können schritt 1 – erstellen eines neuen projekts auf back4app und verbinden ein neues projekt erstellen der erste schritt beim erstellen ihres tvos app backends auf back4app besteht darin, ein neues projekt zu erstellen wenn sie dies noch nicht getan haben, folgen sie diesen schritten melden sie sich bei ihrem back4app konto an klicken sie auf die schaltfläche „neue app“ in ihrem back4app dashboard geben sie ihrer app einen namen (z b „tvos backend tutorial“) sobald das projekt erstellt ist, sehen sie es in ihrem back4app dashboard aufgelistet dieses neue back4app projekt ist der kern aller backend konfigurationen, die in diesem tutorial behandelt werden verbinden sie das parse swift sdk back4app nutzt parse zur handhabung von datenspeicherung, benutzerauthentifizierung, echtzeitfunktionen und mehr um ihre tvos app mit back4app zu verbinden, installieren und konfigurieren sie das parse swift sdk in ihrem xcode projekt holen sie sich ihre parse schlüssel gehen sie in ihrem back4app dashboard zu „app einstellungen“ oder „sicherheit & schlüssel“, um ihre anwendungs id und client schlüssel sie sehen auch die parse server url —gewöhnlich https //parseapi back4app com installieren sie das parse swift sdk in ihrem tvos projekt swift package manager (empfohlen) wählen sie in xcode datei → pakete hinzufügen geben sie die parse swift github url ein https //github com/netreconlab/parse swift git wählen sie die entsprechende version oder den hauptzweig cocoapods wenn sie cocoapods bevorzugen, fügen sie folgendes zu ihrer podfile hinzu pod 'parseswiftog' führen sie dann pod install aus initialisieren sie parse in ihrem appdelegate oder @main struktur 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() } } } dies stellt sicher, dass ihre tvos app so konzipiert ist, dass sie mit dem back4app backend kommuniziert, sodass sie daten speichern, abfragen ausführen, benutzer authentifizieren und mehr können schritt 2 – datenbank einrichten erstellen eines datenmodells mit ihrer tvos app, die jetzt mit back4app verbunden ist, können sie daten erstellen und verwalten in parse swift definieren sie parseobject strukturen 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? } sie können auch manuell klassen in ihrem back4app dashboard definieren gehen sie zu “datenbank” in der back4app konsole erstellen sie eine neue klasse (z b “gamescore”) fügen sie relevante spalten hinzu (punktzahl, spielername usw ) erstellen eines datenmodells mit dem ki agenten der ki agent von back4app kann automatisch ihr schema entwerfen öffnen sie den ki agenten in ihrem back4app dashboard beschreiben sie ihr modell (z b “erstellen sie eine todo klasse mit einem titel und einem iscompleted feld”) anwenden und lassen sie den ki agenten das schema generieren daten lesen und schreiben mit 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)") } } daten lesen und schreiben mit rest api 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 daten lesen und schreiben mit graphql api mutation { creategamescore(input { fields { score 420 playername "swiftie" } }) { gamescore { objectid score playername } } } arbeiten mit live abfragen (optional) live abfragen können echtzeit updates in ihrer apple tv schnittstelle ermöglichen—besonders nützlich für mehrspieler oder bestenlisten apps aktivieren sie live abfragen in den servereinstellungen ihrer app auf back4app initialisieren sie ein abonnement 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 } } schritt 3 – anwendung von sicherheit mit acls und clps überblick back4app sichert ihre daten mit acls (zugriffskontrolllisten) und clps (klassenebene berechtigungen) verwenden sie sie, um lese /schreibregeln auf objekt oder klassenebene zu definieren klassenebene berechtigungen gehe zur datenbank , wähle eine klasse (z b gamescore) klicke auf “sicherheit” oder “klassenebene berechtigungen” setze, wer lesen, schreiben oder löschen kann (z b nur authentifizierte benutzer) acls im 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 schritt 4 – schreiben von cloud code funktionen warum cloud code? cloud code ermöglicht es ihnen, kritische logik von ihrem client auf sicheren serverseitigen code auszulagern dies ist großartig für geschäftsregeln, datenvalidierungen oder integrationen von drittanbietern, ohne geheimnisse in ihrer tvos app offenzulegen beispiel funktion in ihrer 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; }); bereitstellung back4app cli b4a configure accountkey b4a deploy oder verwenden sie das back4app dashboard → cloud code → functions → main js aufruf von 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)") } } npm module fügen sie in ihrer package json , abhängigkeiten hinzu { "dependencies" { "axios" "^0 27 0" } } dann fordern oder importieren sie sie in main js um sie im cloud code zu verwenden schritt 5 – authentifizierung konfigurieren benutzerauthentifizierung in back4app tvos apps benötigen oft die synchronisierung von benutzerdaten oder die anmeldung parse’s parseuser bietet sichere registrierung, anmeldung, sitzungen und rollenbasierte zugriffe 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]?]? } registrieren / anmelden 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)") } } soziale anmeldung konfigurieren sie facebook oder apple anmeldung https //www back4app com/docs/platform/sign in with apple dann konten verknüpfen try await user link(with apple(idtoken "token", rawnonce "nonce")) schritt 6 – umgang mit dateispeicher einrichten des dateispeichers laden sie benutzerbilder, spielwiederholungen oder app ressourcen hoch mit 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)") } beispiel dateien an objekte anhängen struct gamemedia parseobject { var objectid string? var createdat date? var updatedat date? var acl parseacl? var originaldata data? var screenshot parsefile? } sicherheitsüberlegungen verwenden sie clps oder acls, um dateireferenzen zu sichern eine direkte url einer datei kann öffentlich zugänglich sein, es sei denn, sie aktivieren dateisicherheit https //www back4app com/docs/security/parse security schritt 7 – e mail verifizierung und passwortzurücksetzung übersicht die e mail verifizierung hilft, den besitz von e mail konten durch den benutzer zu bestätigen die passwortzurücksetzung bietet eine sichere, benutzerfreundliche möglichkeit, den zugriff auf das konto wiederzuerlangen back4app dashboard konfiguration in ihrer app → app einstellungen → e mail e mail verifizierung oder passwortzurücksetzung aktivieren e mail vorlagen anpassen code implementierung 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)") } } schritt 8 – aufgaben mit cloud jobs planen cloud jobs automatisieren sie wiederkehrende aufgaben, wie das bereinigen alter daten oder das versenden monatlicher updates 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 `; }); im back4app dashboard → app einstellungen → servereinstellungen → hintergrundjobs , planen sie „cleanupoldscores“, um täglich ausgeführt zu werden schritt 9 – integration von webhooks definition webhooks ermöglichen ihrer back4app app, ereignisse an externe dienste zu senden dies könnte das senden von benachrichtigungen an slack, zahlungsupdates an stripe oder analysedaten an ihren server sein konfiguration gehen sie in ihrem back4app dashboard zu mehr → webhooks → webhook hinzufügen geben sie einen endpunkt an (wie https //myserver com/webhook endpoint ) und die trigger (objektaktualisierungen, neue datensätze usw ) beispiel benachrichtigen sie slack, wenn ein neuer highscore erstellt wird parse cloud aftersave("gamescore", async (request) => { const score = request object get("score"); await sendtoslack(`a new high score of ${score} was posted!`); }); schritt 10 – erkundung des back4app admin panels wo man es findet die back4app admin app ist ein benutzerfreundliches, modellzentriertes dashboard zur verwaltung von daten, durchführung von crud oder bearbeitung von klassen—ohne direkte datenbankabfragen aktivieren sie es über app dashboard → mehr → admin app funktionen sobald aktiviert, können sie teammitglieder oder kunden einladen, um daten zu verwalten, protokolle zu überprüfen oder push benachrichtigungen anzupassen—im wesentlichen geben sie ihnen ein direktes portal zum backend ihrer tvos app fazit indem sie dieses umfassende tutorial befolgt haben, haben sie einen sicheren backend für ihre tvos app mit back4app erstellt eine datenbank mit klassen, datentypen und beziehungen konfiguriert echtzeitabfragen eingerichtet, um sofortige änderungen widerzuspiegeln sicherheit durch acls und clps angewendet cloud code für benutzerdefinierte geschäftslogik und integrationen implementiert authentifizierung mit e mail verifizierung und passwortzurücksetzungen aktiviert datei uploads mit optionalen sicherheitskontrollen behandelt cloud jobs für routineaufgaben geplant webhooks verwendet, um mit externen diensten zu integrieren das admin panel erkundet, um daten zu verwalten und zu überwachen sie sind nun gut gerüstet, um reichhaltige, hochwertige apple tv erlebnisse zu schaffen ihre app ist gebaut auf einem starken fundament—genießen sie es, ihre tvos app ideen in die realität umzusetzen! nächste schritte verfeinern sie ihre tvos benutzeroberfläche integrieren sie fokusbasierte navigation, benutzerflüsse für große bildschirme und app store best practices sicherheit verbessern fügen sie rollenbasierte acl, multi faktor authentifizierung oder erweiterte verschlüsselung hinzu vertiefen sie ihre fähigkeiten erkunden sie fortgeschrittenere parse swift funktionen wie offline caching oder benutzerdefinierte analysen offizielle dokumente ansehen back4app dokumente https //www back4app com/docs und apple tvos dokumente https //developer apple com/tvos/ für tiefere kenntnisse monetarisierung erwägen sie abonnements oder pay per view, um das potenzial ihres streaming geschäfts zu erweitern mit den grundlagen aus diesem leitfaden können sie weiterhin innovativ sein und neue funktionen integrieren viel glück, um ihre tvos app auf die nächste stufe zu bringen!