Skip to content

Push-Nachrichten und Offline ​

Push-Nachrichten aus einem Flow ​

ApptiveTeams empfängt Push-Nachrichten, die ein ApptiveGrid-Flow verschickt. Der Versand läuft über den Dienst OneSignal: Der Flow ruft dessen Schnittstelle mit einem HTTP-Schritt auf, die App hat das Gerät dort registriert. Ein Tipp auf die Nachricht öffnet wahlweise ein Formular in der App oder eine Webseite.

Flow (HTTP-Schritt)  →  OneSignal  →  Gerät der Person

Voraussetzungen ​

  • Eine OneSignal-App mit dem REST API Key. Der Key gehört als Secret in den Flow und nie in ein Grid oder eine Nachricht: Er berechtigt zum Versand an alle Geräte.
  • Die App ID von OneSignal. Sie ist in ApptiveTeams hinterlegt; für eigene Builds erfahren Sie sie von Ihrem Ansprechpartner.
  • Die Person hat in der App Push-Benachrichtigungen zugelassen. Die App fragt dazu nach dem ersten Öffnen eines Teams; wer „Später“ wählt, wird nach sieben Tagen erneut gefragt. Der Schalter in den Einstellungen zeigt den Zustand. → Einstellungs-Bildschirm

Wen eine Nachricht erreicht ​

ZielAdressierung im Request
Eine Personinclude_aliases.external_id mit dem SHA-256 der ApptiveGrid-Benutzer-ID
Alle, die gerade dieses Team in der App geöffnet habenfilters mit dem Tag space_<Space-ID>

Benutzer-ID ist die ID der Person, wie sie auch im Feld Erstellt von steht. Sie wird nicht im Klartext übertragen, sondern als SHA-256. In ApptiveScript liefert userId.sha256() genau den Wert, den die App registriert. → sha256()

Space-ID ist das letzte Segment der Adresse des Space, in dem der Flow läuft. Die App meldet nur das aktive Team: Wer in mehreren Teams ist und wechselt, bekommt die Nachrichten des gerade geöffneten Teams.

Der Request ​

POST https://api.onesignal.com/notifications
Authorization: Key <REST API Key>
Content-Type: application/json

An eine Person, mit Formular zum Öffnen:

json
{
  "app_id": "<App ID>",
  "target_channel": "push",
  "include_aliases": { "external_id": ["<sha256 der Benutzer-ID>"] },
  "headings": { "en": "Neue Aufgabe", "de": "Neue Aufgabe" },
  "contents": { "en": "Bitte das Formular ausfüllen", "de": "Bitte das Formular ausfüllen" },
  "data": {
    "uri": "https://app.apptivegrid.de/api/r/<…>/<…>/<Formular>",
    "type": "form",
    "title": "Schadensmeldung"
  }
}

An alle im Team:

json
{
  "app_id": "<App ID>",
  "filters": [{ "field": "tag", "key": "space_<Space-ID>", "relation": "exists" }],
  "headings": { "en": "Teaminfo", "de": "Teaminfo" },
  "contents": { "en": "…", "de": "…" }
}

Regeln:

  • headings und contents brauchen immer den Schlüssel en, auch wenn Sie nur Deutsch verschicken.
  • Pro Request genau eine Zielart: entweder include_aliases oder filters. Mehrere Personen stehen als Liste in external_id.
  • Alles unter data ist optional. Ohne uri öffnet ein Tipp nur die App.
data-FeldBedeutung
uriAdresse, die beim Antippen geöffnet wird
typeform (Standard): uri als Formular in der App. link: uri im Browser
titleTitel des geöffneten Formulars; fehlt er, gilt der Titel der Nachricht

Kein Login-Zwang für Formulare aus Nachrichten

Das Formular öffnet sich auch, wenn die Person die App gerade nicht in einem Team geöffnet hat. Teilen Sie Formulare, die nur Mitglieder sehen sollen, entsprechend eingeschränkt. → Zugriff auf geteilte Inhalte

Was die App ohne Verbindung kann ​

Die App speichert geladene Inhalte auf dem Gerät und arbeitet damit weiter, wenn die Verbindung fehlt.

SituationVerhalten
Erster Start ohne VerbindungAnmeldung und erstes Laden brauchen Internet. Danach stehen geladene Inhalte auch offline bereit
Tabs, Kacheln, Karten, FormulareWerden beim Öffnen und im Hintergrund vorgeladen, auch native Formulare samt der Grids ihrer Verknüpfungen
Verbindung fehltEin Banner zeigt „Offline · Stand von 08:15“ mit dem Zeitpunkt der letzten erfolgreichen Ladung
Formular abschicken ohne VerbindungDie Abgabe wartet auf dem Gerät. Ein Zähler auf dem Startbildschirm zeigt, wie viele Formulare noch offen sind; sobald Verbindung besteht, werden sie gesendet
ZeiterfassungLesen aus dem Cache, Kommen, Pause und Gehen brauchen eine Verbindung
AdressbuchEigene Offline-Kopie pro Team, Suche und Filter funktionieren ohne Verbindung

Was nicht offline geht

WebView-Tabs und externe Links brauchen immer eine Verbindung. Inhalte, die noch nie geladen wurden, erscheinen mit dem Hinweis „Diese Inhalte sind noch nicht auf dem Gerät gespeichert“.

Weiter ​

War diese Seite hilfreich?