Quickstarters
Feature Overview
Wie man ein Backend für Xamarin aufbaut?
30 min
einführung in diesem tutorial lernen sie, wie sie ein backend für ihre xamarin mobile apps mit den leistungsstarken funktionen von back4app erstellen wir werden uns auf die back4app rest api , graphql , und andere web api optionen verlassen, anstatt ein dediziertes sdk zu verwenden dieser ansatz hält ihren mobilen client leichtgewichtig und flexibel, sodass sie über einfache http aufrufe auf ihre daten zugreifen können wir werden die erstellung von datenbankmodellen, die anwendung von sicherheit, die handhabung von authentifizierung und die durchführung von dateioperationen behandeln wenn sie diese schritte befolgen, werden sie sehen, wie sie schnell und sicher ein backend für xamarin erstellen sie werden auch lernen, automatisierte aufgaben zu planen und webhooks zu integrieren, um die funktionalität ihrer xamarin app zu erweitern, sodass sie sich auf das codieren ihrer benutzeroberfläche konzentrieren können, anstatt mit serverkonfigurationen zu jonglieren sobald sie dieses handbuch abgeschlossen haben, haben sie eine wiederverwendbare vorlage zum erstellen von mobilen apps , die auf back4app für ihr backend angewiesen sind sie werden auch verstehen, wie man zugriffskontrolllisten (acls) anwendet, cloud code schreibt (falls erforderlich) und fortgeschrittene workflows wie live abfragen oder cloud jobs in ihre endgültige lösung integriert voraussetzungen um das beste aus diesem tutorial herauszuholen, stellen sie sicher, dass sie ein back4app konto hier kostenlos anmelden https //www back4app com/ ein neues back4app projekt erste schritte mit back4app https //www back4app com/docs/get started/new parse app xamarin entwicklungsumgebung (visual studio oder visual studio für mac) xamarin installationsdokumente https //docs microsoft com/en us/xamarin/get started/installation/ grundkenntnisse in c# und xamarin (einschließlich, wie man web api anfragen von einer öffentlichen klasse in c# macht) mit diesen voraussetzungen sind sie bereit, ihrem xamarin projekt zu folgen und es mit back4app zu verbinden schritt 1 – erstellen eines neuen projekts auf back4app und verbinden erstellen sie ein back4app projekt in ihrem back4app dashboard dies ist die grundlage für ihr backend benennen sie ihr projekt (zum beispiel „xamarin backend tutorial“) finden sie ihre app schlüssel im abschnitt „sicherheit & schlüssel“ der app sie sehen die rest , graphql oder andere schlüssel, die sie möglicherweise verwenden, wenn sie anfragen von ihrem mobilen client stellen konfigurieren sie ihr xamarin projekt für http anfragen anstelle eines parse sdk verwenden sie entweder httpclient , oder eine beliebige netzwerkbibliothek, die sie bevorzugen, um die rest oder graphql endpunkte ihrer back4app app aufzurufen zum beispiel können sie ihre anwendungs id und rest api schlüssel an einem sicheren ort oder in einer konstanten datei speichern 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"; } bei der aufruf der web api , fügen sie immer diese anmeldeinformationen in ihre anfrage header ein dies stellt sicher, dass ihre anfragen an die richtige app mit der erforderlichen autorisierung weitergeleitet werden schritt 2 – einrichten der datenbank 1\ erstellen eines datenmodells verwenden sie das back4app dashboard, um ihre klassen zu definieren oder lassen sie sie dynamisch bei der ersten anfrage erstellt werden wenn sie beispielsweise eine todo klasse möchten, können sie sie im datenbank bereich oder dynamisch über rest api aufrufe erstellen 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\ erstellen eines datenmodells mit dem ki agenten back4app bietet einen ki agenten an, der vollständige klassenstrukturen generieren kann öffnen sie den ki agenten in ihrem back4app projekt beschreiben sie ihr modell (z b „bitte erstellen sie eine neue klasse mit dem namen ‚todo‘ mit den feldern titel und iscompleted “) bestätigen sie sie, um das schema automatisch zu generieren 3\ daten lesen und schreiben (rest) innerhalb ihres xamarin projekts können sie eine public class (zum beispiel, restclient ) schreiben, die alle anfragen an back4app verarbeitet 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\ daten lesen und schreiben (graphql) für graphql abfragen können sie anfragen an den back4app graphql endpunkt senden 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 ähnlich könnten sie von xamarin aus einen json body mit ihrem graphql string an https //parseapi back4app com/graphql senden 5\ arbeiten mit live abfragen (optional) obwohl sie web api aufrufe anstelle des parse sdk verwenden, können sie live abfragen aktivieren, wenn sie echtzeitdatenaktualisierungen wünschen sie würden spezialisierte verbindungen (websockets) verwenden, um sich für klassenänderungen anzumelden aktivieren sie live abfragen in den servereinstellungen ihrer app in back4app, und verwenden sie dann eine kompatible clientbibliothek in xamarin, falls verfügbar alternativ können sie ihre eigene websocket lösung erstellen oder auf umfragen zurückgreifen, wenn die echtzeitunterstützung für ihre app optional ist schritt 3 – anwendung von sicherheit mit acls und clps 1\ übersicht über acls und clps back4app sicherheit umfasst klassenebene berechtigungen (clps) und zugriffskontrolllisten (acls) clps definieren, welche benutzer oder rollen auf eine gesamte klasse lesen/schreiben können acls fügen eine sicherheit pro objekt hinzu kombinieren sie sie, um sicherzustellen, dass nur autorisierte benutzer ihre daten manipulieren können 2\ einrichten von klassenebene berechtigungen öffnen sie den datenbank abschnitt auf back4app wählen sie ihre klasse (wie todo) gehen sie zu klassenebene berechtigungen um lese /schreibregeln festzulegen sie könnten nur authentifizierten benutzern erlauben, zu lesen oder zu schreiben dies stellt sicher, dass ihr mobiler client sich anmelden muss, bevor er daten liest schritt 4 – schreiben von cloud code funktionen 1\ warum cloud code cloud code ermöglicht es ihnen, benutzerdefinierte serverseitige logik auszuführen sie können geschäftsregeln, validierungen oder trigger erstellen, die ausgeführt werden, wenn sich daten ändern dies verringert das risiko von manipulationen, da die logik außerhalb des mobilen clients ausgeführt wird 2\ beispiel für funktionen und trigger unten finden sie ein vereinfachtes beispiel einer cloud funktion in der main js datei 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\ bereitstellung um bereitzustellen, können sie die back4app cli oder den cloud code bereich in ihrem dashboard verwenden nach der bereitstellung können sie ihre funktionen von xamarin über 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\ npm module wenn sie zusätzliche bibliotheken benötigen, installieren sie diese über npm in ihrem cloud code projektordner danach require sie sie in ihrer main js dieser ansatz ist nützlich, um von der serverseite auf apis von drittanbietern zuzugreifen schritt 5 – authentifizierung konfigurieren 1\ benutzer authentifizierung aktivieren in back4app verwaltet die user klasse die benutzeranmeldeinformationen unter app einstellungen , können sie die benutzer authentifizierung, die e mail verifizierung und die passwortzurücksetzung aktivieren 2\ benutzerregistrierung / anmeldung (rest) von ihrem xamarin projekt aus könnten sie c# methoden schreiben, um die registrierung und anmeldung zu verwalten 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 } sie können dann sitzungstoken clientseitig für zukünftige anfragen speichern 3\ soziale anmeldung um soziale anmeldungen (z b google, facebook) zu integrieren, konsultieren sie die back4app dokumentation zur sozialen anmeldung https //www back4app com/docs/platform/sign in with apple jeder anbieter hat seinen eigenen oauth flow, den sie von ihrem mobilen client , aus verwalten können übergeben sie dann die zurückgegebenen token an back4app schritt 6 – umgang mit dateispeicher 1\ einrichtung des dateispeichers dateien können hochgeladen werden, indem eine post anfrage mit den dateidaten im body gesendet wird zum beispiel, um ein bild aus ihrer xamarin app zu speichern, lesen sie das bild in ein byte array und senden sie dann 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\ beispiel upload mit 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\ sicherheitsüberlegungen um datei uploads zu sichern, gehen sie zu ihren back4app servereinstellungen und passen sie die dateiberechtigungen zum beispiel können sie nur authentifizierten benutzern erlauben, hochzuladen schritt 7 – e mail verifizierung und passwortzurücksetzung 1\ übersicht die e mail verifizierung stellt sicher, dass die benutzer die e mail besitzen, mit der sie sich registriert haben links zur passwortzurücksetzung ermöglichen es ihnen, den zugang wiederzuerlangen, wenn sie ihre passwörter vergessen 2\ back4app dashboard konfiguration aktivieren sie die e mail verifizierung unter e mail einstellungen bearbeiten sie die vorlage zum zurücksetzen des passworts und setzen sie die „von“ adresse sie können auch den e mail inhalt an ihr branding anpassen 3\ implementierung sobald aktiviert, erhält ein benutzer, der sich mit einer e mail anmeldet, einen bestätigungslink passwort zurücksetzungsanfragen werden an dieselbe basis api mit der e mail des benutzers gesendet, um eine zurücksetzungs e mail auszulösen schritt 8 – aufgaben mit cloud jobs planen 1\ was cloud jobs tun cloud jobs ermöglichen es ihnen, routinemäßige aufgaben zu planen, wie das bereinigen alter daten oder das versenden täglicher zusammenfassungs e mails, alles von der back4app plattform 2\ beispiel 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 `; }); stellen sie den cloud code bereit und planen sie dann den job unter app einstellungen > servereinstellungen > hintergrundjobs schritt 9 – webhooks integrieren definieren sie einen webhook auf back4app, indem sie zu mehr > webhooks navigieren und auf „webhook hinzufügen“ klicken geben sie den endpunkt an, wie https //your service com/webhook endpoint wählen sie trigger aus, wie „neues objekt in der todo klasse “ webhooks können drittanbieterdienste benachrichtigen, sodass ihre xamarin app leichtgewichtig bleibt, während externe systeme zusätzliche logik oder benachrichtigungen verarbeiten schritt 10 – erkundung des back4app admin panels die back4app admin app ist eine benutzerfreundliche möglichkeit, crud operationen ohne das schreiben von abfragen zu verwalten aktivieren sie sie in app dashboard > mehr > admin app erstellen sie einen admin benutzer, wählen sie eine subdomain und melden sie sich an diese admin app ist ideal für nicht technische teammitglieder, die daten verwalten müssen, aber keinen direkten datenbankzugriff haben sollten fazit sie haben gerade gesehen, wie man ein backend für xamarin mit back4app apis erstellt sie haben sichere klassen erstellt, clps und acls , die authentifizierung behandelt und datei uploads, aufgabenplanung und die integration mit externen diensten erkundet dieser ansatz stellt sicher, dass ihre mobilen apps schnell und flexibel bleiben, während sie die leistung einer gehosteten datenbank und einer cloud umgebung nutzen nächste schritte erweitern sie ihre xamarin anwendung um komplexere logik, caching oder erweiterte rollen und berechtigungen tauchen sie in erweiterte funktionen ein , wie push benachrichtigungen, oder integrieren sie echtzeitdaten mit live abfragen, wenn sie kollaborative updates benötigen besuchen sie die offizielle back4app dokumentation für tiefere anleitungen zu sicherheit, leistung und debugging erstellen sie lösungen für die reale welt indem sie drittanbieter apis (zahlungsgateways, analytik, soziale medien) mit ihrem back4app backend kombinieren diese kombination kann die funktionalität ihres mobilen clients verbessern und ihren code organisiert halten