Die Push-Technologie ist eine der schnellsten Möglichkeiten, den Nutzern Ihrer Anwendung Benachrichtigungen zukommen zu lassen. Um sie zu erhalten, muss der Benutzer keine Aktionen ausführen. Sie werden auf der Serverseite initiiert und erscheinen direkt in der Benachrichtigungsleiste auf dem Bildschirm des mobilen Geräts. In dieser Lektion werden wir verstehen, wie man Push-Benachrichtigungen in Anwendungen implementiert, die auf der Plattform AppMaster entwickelt wurden.
Send Push blockieren
Zum Senden von Push-Benachrichtigungen, Send Push werden Blöcke verwendet, die dem Betriebssystem des Zielgeräts entsprechen (iOS oder Android).
Abrufen von Push Token und Bundle ID
Um einen Sendevorgang durchzuführen, sollten Sie mindestens zwei Parameter angeben: Push Token und IOS (Android) Bundle ID. Daher lohnt es sich, mit dem vorbereitenden Teil zu beginnen und herauszufinden, wie man diese Parameter erhält.
Standardmäßig enthält die Datenbank eines jeden Projekts ein Mobile Instance Modell, das mit dem User Modell verknüpft ist und die erforderlichen Felder enthält: push_token und . bundle_id.
Legen wir nun einen separaten Geschäftsprozess für die mobile Anwendung an, der das fertige Mobile Instance Modell bildet. Um ein Push-Token zu erhalten, verwenden Sie den Get Push Token Block.
Der nächste Schritt besteht darin, Informationen über das Gerät zu erhalten. Hier werden je nach Betriebssystem unterschiedliche Blöcke benötigt. Um das Betriebssystem zu ermitteln, müssen Sie daher den Platform Switch Block verwenden.
Je nach Ergebnis wird dann der entsprechende IOS Device Info oder Android Device Info Block verwendet. Von dort können Sie eine Vielzahl von Informationen über das Gerät erhalten, aber in unserem Beispiel reicht es aus, nur die Bundle ID.
Nachdem Sie alle Daten gesammelt haben, können Sie ein Mobile Instance Modell bilden, angeben, zu welchem Betriebssystem es gehört, und es als Ausgabeparameter des Geschäftsprozesses übergeben.
Aufzeichnung von Informationen über das mobile Gerät des Benutzers
Der nächste Schritt besteht darin, einen Backend-Geschäftsprozess zu erstellen, der die generierten Mobile Instance mit einem bestimmten Benutzer zu verbinden und in der Datenbank aufzuzeichnen. Dieser Geschäftsprozess erfordert Folgendes:
- Ermitteln des aktuellen Benutzers mit Hilfe des Auth: Get current user Block.
- Erweitern Sie den Inhalt des resultierenden Mobile Instance Modells.
- Bauen Sie das Modell wieder zusammen und fügen Sie ihm eine Benutzerverbindung mit Hilfe des Make Mobile Instance Block.
- Verwenden Sie den DB: Create Mobile Instance Block und speichern Sie die Daten in der Datenbank.
In dem POST /Mobile Instance/ Endpunkt können Sie den Standardgeschäftsprozess durch den soeben erstellten Prozess ersetzen.
Die letzte Phase der Vorbereitung besteht darin, zu entscheiden, wann genau es sich lohnt, Informationen über das Gerät des Benutzers in die Datenbank zu schreiben. Die logische Lösung wäre, dies bei der Durchführung der Autorisierung in der Anwendung zu tun. Zu diesem Zweck werden unmittelbar nach dem Set Auth Token Block zwei neue Blöcke mit zuvor erstellten Geschäftsprozessen in den Benutzerautorisierungsprozess der mobilen Anwendung eingefügt werden. Der erste empfängt und generiert die notwendigen Informationen, der zweite stellt eine Verbindung mit dem Benutzer her und schreibt in die Datenbank.
Senden von Push-Benachrichtigungen
Der vorbereitende Teil ist abgeschlossen, und Sie können mit dem Senden von Push-Benachrichtigungen beginnen. Zu diesem Zweck erstellen wir einen Backend-Geschäftsprozess. Stellen Sie sich vor, dass unsere Aufgabe darin besteht, eine Benachrichtigung an alle Benutzer unserer Anwendung zu senden. Wir werden sie nur an Geräte mit dem Betriebssystem Android senden und nicht an alle Geräte des Benutzers, sondern nur an das zuletzt benutzte.
Beginnen wir mit den Eingabeparametern. Es ist notwendig, den Text der Benachrichtigung selbst zu übertragen. Er besteht aus drei Teilen: dem Hauptteil der Nachricht (body), dem Titel (title) und dem Untertitel (subtitle).
Als nächstes müssen Sie alle Benutzer der Anwendung finden. Verwenden Sie dazu den Search User Block und setzen Sie die notwendigen Parameter:
- _With = Mobile Instances (Sie müssen nicht nur Informationen über den Benutzer, sondern auch über das mit ihm verbundene mobile Gerät erhalten)
- Limit = -1 (standardmäßig liefert die Abfrage 25 Datensätze, "-1" wird angegeben, um diese Begrenzung aufzuheben und alle Benutzer zu erhalten)
- _mobile_instances_os = Android (gemäß den Bedingungen der Aufgabe sind wir nur an Android Geräten interessiert)
Für das generierte Array von Benutzern müssen Sie einen Zyklus von Operationen ausführen (For each loop Block)
Für jeden Benutzer aus dem Expand User Block müssen Sie Informationen über mobile Geräte abrufen (Mobile Instances). Wir müssen eine Benachrichtigung nur an ein Gerät senden, also setzen wir index = 0 in dem Array Element Block ein und prüfen außerdem, ob das Array überhaupt mindestens ein Element enthält (schließlich kann ein Benutzer nur ein Gerät iOS haben). Dazu prüfen wir das Element auf Gültigkeit, übergeben den gültigen Indexwert an den If-Else Block, und setzen die Schleife nur fort, wenn der Wert true.
Wenn alles korrekt ist und Informationen über das Gerät des Benutzers gefunden werden, dann müssen Sie den Expand Mobile Instance Block und übergeben die notwendigen Werte an den Send Push (Android) Block übergeben.
Bitte beachten Sie, dass Sie beim Entwickeln und Testen einer Anwendung in der Developer Appsetzen müssen, müssen Sie den Developer Mode = True.
Sie können auch die Option TTL (Time to live) Option verwenden. Sie legt die Zeit in Sekunden fest, nach der die Benachrichtigung gesendet werden soll. Wenn die Benachrichtigung nicht sofort zugestellt werden kann, z. B. wenn der Benutzer vorübergehend nicht erreichbar ist, werden wiederholte Zustellungsversuche in der vorgegebenen Zeit unternommen.
Mit dem Ende des Zyklus und dem Versand der Benachrichtigungen an alle möglichen Benutzer ist auch die Arbeit des Geschäftsprozesses abgeschlossen.
Zusätzliche Parameter
Es lohnt sich, die zusätzlichen Parameter des Sendeblocks gesondert zu besprechen:
- Push ID
- Push Class
- Data
Sie haben keinen Einfluss auf den Versand einer Benachrichtigung oder deren Inhalt, können aber bei der Bearbeitung einer Benachrichtigung auf der Benutzerseite verwendet werden. Die mobile Anwendung verfügt über spezielle Trigger, die ausgelöst werden, wenn eine empfangene Push-Benachrichtigung empfangen oder angeklickt wird.
Die Auslöser für Push-Benachrichtigungen enthalten Daten aus den oben genannten zusätzlichen Textparametern. Als Beispiel sei hier der einfachste Prozess genannt, der beim Anklicken des Auslösers eine weitere Benachrichtigung auf dem Bildschirm anzeigt, die die im Data Parameter übergeben werden.
Ein weiterer beliebter Anwendungsfall für Trigger ist das Sammeln von Informationen über die Zustellung von Benachrichtigungen. Sie können z. B. eine Nachricht an den Server senden, die besagt, dass eine Push-Benachrichtigung tatsächlich zugestellt wurde, sowie Statistiken sammeln und die Anzahl der Klicks auf Benachrichtigungen zählen.