Quickstarters
Feature Overview
Wie man ein Backend für WatchOS erstellt?
39 min
einführung in diesem tutorial werden sie entdecken, wie man ein backend für watchos apps mit back4app erstellt egal, ob sie eine watchkit erweiterung für ihre iphone app erstellen oder eine eigenständige apple watch erfahrung gestalten, back4app vereinfacht ihre arbeit, indem es wesentliche werkzeuge bereitstellt sie werden funktionen wie eine sichere datenbank, cloud code funktionen, echtzeitanfragen (live queries) und benutzerauthentifizierung integrieren – alles, ohne ihre eigenen server verwalten zu müssen sie werden auch sehen, wie back4apps schnelle startroutine und benutzerfreundliche umgebung es ihnen ermöglichen, sich auf die watchos apps funktionalität zu konzentrieren, anstatt server einzurichten unterwegs lernen sie, aufgaben wie das planen von jobs, das einrichten von webhooks und das konfigurieren von push benachrichtigungen zu erledigen am ende werden sie eine solide grundlage haben, um ihre watch apps oder ios anwendungen für produktionsanforderungen zu erweitern, während sie nahtlose daten synchronisation (über eine internetverbindung ) zwischen der watchkit app und ihrem backend bereitstellen voraussetzungen 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 folgen sie dem obigen leitfaden, um ihr projekt vorzubereiten eine watchos/xcode entwicklungsumgebung sie sollten xcode mit dem watchos sdk , installiert haben sie können ihre watchkit erweiterung entweder auf einer echten apple watch oder einem simulator ausführen und erstellen parse swift sdk verwenden sie swift package manager https //github com/netreconlab/parse swift um das sdk für ihre watchos oder kombinierten ios apps zu installieren und zu konfigurieren vertrautheit mit swift, xcode und apples entwicklungsökosystem apple developer dokumentation https //developer apple com/documentation/ wenn sie neu auf apple plattformen sind, verbringen sie etwas zeit damit, die watchos und ios dokumentation zu erkunden, bevor sie beginnen stellen sie sicher, dass sie diese voraussetzungen erfüllen, bevor sie beginnen ihr back4app projekt einzurichten und ihre lokale watchos umgebung bereit zu haben, wird ihnen helfen, reibungslos mitzukommen schritt 1 – erstellen eines neuen projekts auf back4app und verbindung herstellen warum sie ein back4app projekt benötigen ein neues back4app projekt ist entscheidend für die speicherung aller daten und das ausführen von cloud code für ihre watchos apps dies dient als grundlage für ihr backend erstellen sie ihr projekt melden sie sich bei back4app an klicken sie auf „neue app“ im dashboard benennen sie ihre app (z b „watchos backend tutorial“) installieren sie das parse swift sdk fügen sie die parse swift abhängigkeit in ihre package swift ein oder verwenden sie datei → swift pakete → paketabhängigkeit hinzufügen in xcode geben sie die url an dependencies \[ package(url "https //github com/netreconlab/parse swift git", from "5 0 0") ] initialisieren sie parse in ihrem watchos oder gemeinsamen code in ihrem watchkit app startcode oder in einer gemeinsamen datei, die sowohl von ihrer watchos als auch von ihrer iphone app , initialisieren sie 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() } } } an diesem punkt kann ihre watchos app mit dem back4app backend kommunizieren ob es sich um eine unabhängige apple watch app oder eine watchkit erweiterung handelt, die mit einer iphone app , alle backend daten fließen durch das parse swift sdk schritt 2 – einrichten der datenbank 1\ erstellen eines datenmodells back4app verwendet die schema on write funktion des parse servers sie können tabellen (klassen) im back4app datenbank bereich definieren oder sie automatisch erstellen lassen, wenn objekte zum ersten mal gespeichert werden wenn ihre watch apps beispielsweise gesundheitsdaten verfolgen, könnten sie eine „healthmetrics“ klasse mit feldern wie herzfrequenz, schritte oder trainingsart haben 2\ erstellen eines datenmodells mit dem ki agenten back4app’s ki agent ermöglicht es ihnen, ihr schema in einfacher sprache zu beschreiben öffnen sie den ki agenten in ihrem app dashboard geben sie details an wie „bitte richten sie eine watch metrics klasse mit den feldern dailysteps (zahl), heartrate (zahl) ein “ die ki wird das schema automatisch für sie erstellen 3\ lesen und schreiben von daten mit dem sdk im folgenden finden sie ein beispiel für das speichern und abfragen von daten aus einer watchos app angenommen, wir haben eine healthmetrics struktur 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\ daten lesen und schreiben mit der rest api falls erforderlich, können ihre watchos oder ios apps auch rest anfragen senden 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\ daten lesen und schreiben mit graphql back4app bietet auch einen graphql endpunkt zum beispiel mutation { createhealthmetrics(input { fields { dailysteps 7500 heartrate 70 } }) { healthmetrics { objectid dailysteps heartrate } } } 6\ arbeiten mit live abfragen (optional) wenn sie echtzeit datenaktualisierungen auf ihrer apple watch , aktivieren sie live abfragen aktivieren sie live abfragen unter servereinstellungen in back4app konfigurieren sie die live query url in ihrem watchos code parselivequery configure(url url(string "wss\ //your subdomain b4a io")!) dann abonnieren sie änderungen 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 } } } schritt 3 – sicherheit mit acls und clps anwenden 1\ kurzer überblick back4app ermöglicht zugriffskontrolllisten (acls) und klassenebene berechtigungen (clps), um ihre datenbank zu sichern zum beispiel können sie bestimmte metriken auf den benutzer beschränken, der sie generiert hat, oder den lesezugriff nur für authentifizierte konten erlauben 2\ schritt für schritt einrichtung klassenebene berechtigungen gehen sie zu datenbank → klasse → sicherheit um standardwerte festzulegen (z b nur lesen für alle, schreiben für eigentümer) acls im code sie können acls zu jedem objekt in ihrem watchkit oder gemeinsam genutzten code hinzufügen zum beispiel 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 } dies stellt sicher, dass nur der angemeldete benutzer die healthmetrics objekte anzeigen oder ändern kann, die er erstellt schritt 4 – schreiben von cloud code funktionen 1\ warum cloud code cloud code hilft ihnen, komplexe oder vertrauliche operationen serverseitig auszuführen, wie z b datenvalidierung, externe api aufrufe oder protokollierung diese einrichtung ist nützlich, um die arbeitslast des watchos geräts zu minimieren und die akkulaufzeit der apple watch zu erhalten 2\ beispiel funktion in ihrer 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\ bereitstellung verwenden sie die back4app cli https //www back4app com/docs/local development/parse cli zur bereitstellung b4a deploy 4\ npm module installieren wenn sie externe bibliotheken in ihrem cloud code benötigen fügen sie abhängigkeiten in package json (innerhalb ihres cloud code ordners) hinzu verwenden sie require('your lib') in main js schritt 5 – authentifizierung konfigurieren 1\ benutzer authentifizierung aktivieren standardmäßig ist die user klasse in back4app bereit stellen sie sicher, dass „klassenebene berechtigungen aktivieren“ korrekt für benutzerobjekte eingestellt ist 2\ codebeispiele in parse swift können sie einen benutzer aus ihrem watchos code anmelden 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\ soziale anmeldung wenn sie planen, die anmeldung mit apple, google oder facebook in ihrer watchos oder iphone app zu integrieren, können sie dies mit den entsprechenden parse swift funktionen zur sozialen anmeldung tun siehe back4app dokumentation https //www back4app com/docs/platform/sign in with apple für details schritt 6 – dateispeicherung verwalten 1\ dateispeicherung einrichten wenn ihre watch apps bilder, protokolle oder kleine datendateien hochladen müssen, können sie sich auf 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\ beispiel sie könnten trainingsbilder oder tägliche fortschrittsaufnahmen speichern let snapshotdata = // some image data from watch screenshot task { await uploadfile(data snapshotdata, filename "workout jpg") } 3\ sicherheitsüberlegungen überprüfen sie ihre datei acls standardmäßig sind datei urls zugänglich, wenn jemand den direkten link erhält sie können den datei zugriff über die datei konfiguration ihres parse servers sichern oder steuern schritt 7 – e mail verifizierung und passwortzurücksetzung 1\ übersicht apple watch nutzer verwalten möglicherweise nicht immer die anmeldungen direkt an der uhr, aber die aktivierung der e mail verifizierung hilft, ihre daten sicher zu halten 2\ back4app dashboard konfiguration gehe zu app einstellungen → e mail aktiviere e mail verifizierung passe vorlagen nach bedarf an 3\ code/implementierung für passwortzurücksetzungen do { try await user requestpasswordreset(email "example\@domain com") } catch { print("error requesting password reset \\(error)") } schritt 8 – aufgaben mit cloud jobs planen 1\ was cloud jobs tun cloud jobs ermöglichen es ihnen, hintergrundaufgaben wie das rotieren alter daten oder das generieren von nutzungsberichten für ihre watchos analysen zu automatisieren 2\ beispiel in 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 `; }); stellen sie ihren code bereit gehen sie zu app einstellungen → servereinstellungen → hintergrundjobs und planen sie es täglich schritt 9 – webhooks integrieren 1\ definition webhooks benachrichtigen externe dienste, wenn bestimmte ereignisse in ihrer app auftreten zum beispiel möchten sie möglicherweise einen slack kanal benachrichtigen, jedes mal, wenn eine neue metrik aufgezeichnet wird 2\ konfiguration gehen sie im back4app dashboard zu mehr → webhooks fügen sie einen webhook mit einem endpunkt (wie einer slack url) hinzu wählen sie das ereignis (z b „neuer datensatz in healthmetrics“) 3\ beispiel immer wenn ein benutzer einen neuen dailysteps eintrag hinzufügt, wird ihr slack kanal benachrichtigt sie können auch komplexere logik im cloud code definieren, um benutzerdefinierte payloads an ihre externen dienste zu senden schritt 10 – erkundung des back4app admin panels 1\ wo man es findet das admin panel ist über ihre back4app konsole unter mehr → admin app aktivieren sie es und erstellen sie einen admin benutzer für die webbasierte datenverwaltung, wenn sie eine einfache schnittstelle für nicht technische stakeholder benötigen 2\ funktionen daten anzeigen und bearbeiten protokolle und cloud jobs verwalten analysen verfolgen oder push benachrichtigungen senden dies ist eine einfache möglichkeit, um an daten zusammenzuarbeiten, ohne direkten zugriff auf die datenbank oder den code zu benötigen fazit im laufe dieses leitfadens haben sie gelernt, wie man ein backend für watchos mit den leistungsstarken funktionen von back4app erstellt sie haben ein sicheres datenbankschema eingerichtet, cloud code geschrieben, echtzeitanfragen bearbeitet und die benutzerauthentifizierung implementiert jetzt kann ihre watchkit app daten mit minimalem aufwand speichern und synchronisieren nächste schritte optimieren sie ihre watch apps durch die integration fortschrittlicher cloud funktionen für personalisierte benachrichtigungen oder datenumwandlungen erforschen sie zusätzliche ios anwendungen funktionen, wie hintergrundsynchronisierung und caching strategien für ihre apple watch lesen sie die offiziellen back4app dokumente https //www back4app com/docs/ für mehr informationen zu fortschrittlicher sicherheit, analytik und leistung optimieren sie für den app store um ihre watchos erweiterung oder eigenständige watch app zu verteilen durch die erweiterung ihres backends können sie robuste watchos apps bereitstellen, die selbst bei eingeschränkter internetverbindung nahtlos funktionieren machen sie weiter und genießen sie die möglichkeiten von back4app für ihre apple watch erlebnisse!