Schnellstarter

Wie man ein Backend für Xamarin aufbaut?

30min

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-Anfragen 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 erstellt, 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:

Mit diesen Voraussetzungen sind Sie bereit, um mit Ihrem Xamarin-Projekt zu Back4App zu verbinden.

Schritt 1 – Erstellen eines neuen Projekts auf Back4App und Verbinden

  1. Erstellen Sie ein Back4App-Projekt in Ihrem Back4App-Dashboard. Dies ist die Grundlage für Ihr Backend.
  2. Benennen Sie Ihr Projekt (zum Beispiel „Xamarin-Backend-Tutorial“).
  3. Finden Sie Ihre App-Schlüssel indem Sie zum Abschnitt „Sicherheit & Schlüssel“ der App gehen. Sie sehen die REST-, GraphQL- oder andere Schlüssel, die Sie möglicherweise verwenden, wenn Sie Anfragen von Ihrem mobilen Client stellen.
  4. Konfigurieren Sie Ihr Xamarin-Projekt um HTTP-Anfragen zu stellen. 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:

C#


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:

Bash


2. Erstellen eines Datenmodells mit dem KI-Agenten

Back4App bietet einen KI-Agenten an, der vollständige Klassenstrukturen generieren kann:

  1. Öffnen Sie den KI-Agenten in Ihrem Back4App-Projekt.
  2. Beschreiben Sie Ihr Modell (z.B. „Bitte erstellen Sie eine neue Klasse mit dem Namen ‚Todo‘ mit den Feldern Titel und isCompleted.“).
  3. Bestätigen Sie die automatische Generierung des Schemas.
Document image


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:

C#


4. Daten lesen und schreiben (GraphQL)

Für GraphQL-Abfragen können Sie Anfragen an den Back4App GraphQL-Endpunkt senden:

Bash


Ä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 objektbasierte Sicherheit hinzu. Kombinieren Sie sie, um sicherzustellen, dass nur autorisierte Benutzer Ihre Daten manipulieren können.

2. Einrichten von Klassenebene Berechtigungen

  1. Öffnen Sie den Datenbank Abschnitt auf Back4App.
  2. Wählen Sie Ihre Klasse (wie Todo).
  3. 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:

JS


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:

Bash


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 aus 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:

C#


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. 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:

Bash


2. Beispiel-Upload mit C#

C#


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

  1. Aktivieren Sie die E-Mail-Verifizierung unter E-Mail-Einstellungen.
  2. Bearbeiten Sie die Vorlage zum Zurücksetzen des Passworts und setzen Sie die „Von“-Adresse.
  3. 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. Passwortzurü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

JS


Stellen Sie den Cloud-Code bereit und planen Sie dann den Job unter App-Einstellungen > Servereinstellungen > Hintergrundjobs.

Schritt 9 – Webhooks integrieren

  1. Definieren Sie einen Webhook auf Back4App, indem Sie zu Mehr > WebHooks navigieren und auf „Webhook hinzufügen“ klicken.
  2. Geben Sie den Endpunkt an, wie https://your-service.com/webhook-endpoint.
  3. Wählen Sie Trigger aus, wie „Neues Objekt in der Todo-Klasse.“
Document image


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.

Document image


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.