Altova MobileTogether Designer

In diesem Abschnitt werden die Teile des Push-Benachrichtigungs-(PN)-Mechanismus, die in der empfangenden Lösung definiert sind, erläutert. Der unten erläuterte Mechanismus bildet Teil der empfangenden Lösung, doch kann es sich bei der empfangenden Lösung um dieselbe Lösung handeln, wie diejenige, die die PN sendet. Wenn das der Fall ist, werden die Mechanismen der sendenden und der empfangenden Lösung in ein und derselben Lösung miteinander kombiniert.

 

Anmerkung:   Der "große Inhalt" von MobileTogether-Standardlösungen wird nur auf Android- und Windows-Geräten angezeigt. Wenn großer Inhalt auch auf iOS-Geräten angezeigt werden soll, kompilieren Sie die empfangende Lösung als AppStore App.

 

Das Ereignis "BeiEmpfangVonPushBenachrichtigung"

 

Zur Design-Zeit: Das Ereignis BeiEmpfangVonPushBenachrichtigung wird über die Projekteigenschaften der empfangenden Lösung aufgerufen. Auf dem Register dieses Ereignisses werden die Aktionen definiert, die bei Empfang der PN ausgeführt werden sollen. Wenn zum Zeitpunkt des Designs eine Aktion zu diesem Ereignis hinzugefügt wird, wird automatisch die Seitenquelle \$MT_PUSHNOTIFICATION erstellt.

Zur Laufzeit: Das Ereignis BeiEmpfangVonPushBenachrichtigung wird ausgelöst, wenn der Benutzer auf die PN oder eine Schaltfläche in der PN tippt. Bei Auslösung des Ereignisses geschieht Folgendes: (i) Die empfangende Lösung wird gestartet, wenn sie nicht bereits ausgeführt wird; (ii) der Payload der PN wird automatisch in die Seitenquelle \$MT_PUSHNOTIFICATION übertragen; wenn eine PN-Schaltfläche gedrückt wurde, wird zusätzlich dazu noch die ID der Schaltfläche (ein String) an die Seitenquelle übergeben; (iii) die Aktionen des Ereignisses werden ausgeführt; Beachten Sie, dass Aktionen mit Hilfe der Aktion Wenn-dann oder Wenn-dann-sonst davon abhängig gemacht werden können, auf welche PN-Schaltfläche der Benutzer drückt (siehe nächster Abschnitt unten).

 

Seitenquelle \$MT_PUSHNOTIFICATION

Die Seitenquelle \$MT_PUSHNOTIFICATION hat die folgende fixe Struktur:

 

\$MT_PUSHNOTIFICATION

Root

|   @button

|

|-- Entry

|      @key

|      @value

 

Zur Laufzeit:

 

Bei Betätigung einer PN-Schaltfläche wird die ID der Schaltfläche an den Node \$MT_PUSHNOTIFICATION/Root/@button übergeben. Der Wert des Attributs @button kann für die bedingte Verarbeitung mit Hilfe der Aktion Wenn-dann oder Wenn-dann-sonst verwendet werden. Wenn der Node @button z.B. die ID einer Akzeptieren-Schaltfläche enthält, kann automatisch eine SMS mit "Ich akzeptiere" gesendet oder eine Datenbank entsprechend geändert werden; für andere Schaltflächen-IDs können alternative Aktionen definiert werden.

Die Anzahl der Entry-Elemente wird zur Laufzeit ermittelt und entspricht der Anzahl der Schlüssel-Wert-Paare im Payload der PN. Die Daten der einzelnen Schlüssel-Wert-Paare werden an die entsprechenden Entry-Elemente übergeben. Daten in der Seitenquelle \$MT_PUSHNOTIFICATION können ganz nach Belieben verarbeitet werden. Sie können z.B. einfach im Design angezeigt werden.

 

Externe PN-Schlüssel

Ein Mobilgerät, das PNs empfängt, kann mit Hilfe eines einzigen externen PN-Schlüssels pro Lösung registriert werden. Bei diesem Schlüssel handelt es sich um einen Textstring, der von der Aktion Ext. PN-Schlüssel registrieren (siehe Abbildung unten) generiert wird. Wenn ein PN an einen angegebenen externen PN-Schlüssel gesendet wird, empfangen alle Geräte, die mit diesem Schlüssel registriert sind, die PN.

 

Dadurch, dass pro Lösung ein einziger PN-Schlüssel registriert werden kann, ergibt sich Folgendes:

 

Das Gerät kann mit verschiedenen externen PN-Schlüsseln registriert werden, doch ist jeder PN-Schlüssel an eine bestimmte empfangende Lösung gebunden. Wenn derselben PN-Schlüssel von zwei Lösungen auf dem Gerät verwendet wird, wird eine an diesen Schlüssel adressierte Push-Benachrichtigung an beide Lösungen auf diesem Gerät gesendet.  

Da derselbe Schlüssel von derselben Lösung auf anderen Geräten generiert werden kann, dient der externe PN-Schlüssel dazu, eine bestimmte Gruppe von Mobilgeräten zu identifizieren. Wenn eine Push-Benachrichtigung an einen bestimmten externen PN-Schlüssel gesendet wird, empfangen alle mit diesem Schlüssel registrierten Geräte die Push-Benachrichtigung.

MTActionRegisterExternalPNKey

 

Anmerkung:Externe PN-Schlüssel können auch in AppStore Apps verwendet werden.

 

PN-Themen

Ein Mobilgerät, das PNs empfängt, kann für den Empfang von einem oder mehreren spezifischen PN-Themen registriert werden. Dies wird mit Hilfe der Aktion PN-Themen registrieren durchgeführt (siehe Abbildung unten). Wenn zur Laufzeit eine PN an ein bestimmtes PN-Thema gesendet wird, erhalten alle Geräte, die für dieses Thema registriert wurden, die PN. Wenn eine PN an mehrere PN-Themen gesendet wird, so erhalten alle Geräte, die für eines der Zielthemen registriert wurden, die PN.

MTActionRegisterPNTopic

Theoretisch kann dieses Gerät mit jeder Lösung auf einem Gerät mit einem bestimmten Thema registriert werden. In der Praxis sollte die Registrierung für ein Thema am besten von der Lösung aus erfolgen, die die PN empfangen soll.

 

iOS-PN-Schaltflächengruppendefinitionen

Wenn ein Gerät eine PN erhält, die eine PN-Schaltfläche enthält und der Benutzer auf die Schaltfläche tippt, wird die empfangende Lösung gestartet und die ID der PN-Schaltfläche an den Node \$MT_PUSHNOTIFICATION/Root/@button der \$MT_PUSHNOTIFICATION-Seitenquelle der Lösung übergeben. Dies ist die einzige Aufgabe der PN-Schaltfläche. Sie bietet eine Möglichkeit zu ermitteln, wie der Benutzer auf die PN reagieren möchte.

 

Während PN-Schaltflächen für nicht-iOS-Geräte in der Aktion Push-Benachrichtigung senden der sendenden Lösung definiert werden, werden iOS-PN-Schaltflächengruppen mit Hilfe des Befehls Projekt | iOS-Push-Benachrichtigungs-Schaltflächengruppe  in der empfangenden Lösung definiert.

 

Die empfangende Lösung als AppStore App

Welche zusätzlichen Schritte bei empfangenden Lösungen, die als AppStore App erstellt wurden, vorgenommen werden müssen, finden Sie unter Push-Benachrichtigungen in AppStore Apps.

 

© 2016-2022 Altova GmbH