local Notifications und das 64er Limit

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • As a result, apps should send their device token
    Danke :)
    Bedeutet das für mich, dass ich den Token besser über die App generieren lassen soll, anstelle den Device Token zu verwenden?
    Wenn ja, wie kann ich am besten sicherstellen, dass der User A dann immer seinen generierten Token erhält, z.B. auch nach einem Gerätewechsel oder einer Deinstallation & Installation der App?
  • PetTus schrieb:

    As a result, apps should send their device token
    Danke :) Bedeutet das für mich, dass ich den Token besser über die App generieren lassen soll, anstelle den Device Token zu verwenden?
    Wenn ja, wie kann ich am besten sicherstellen, dass der User A dann immer seinen generierten Token erhält, z.B. auch nach einem Gerätewechsel oder einer Deinstallation & Installation der App?
    Bspw. indem du die Zuweisung von Nutzer und Gerät vornimmst... wenn der Nutzer dann mit nem neuen Token anfragt, kannste das inner DB updaten... mal als einfaches Beispiel.

    nachtrag: Müsstest dir dann nur was überlegen, wenn Nur A mehrere Geräte anmelden kann.
    Man kann alles schaffen. Man muss es nur wollen ;)
    www.regetskcob.github.io
  • PetTus schrieb:

    As a result, apps should send their device token
    Danke :) Bedeutet das für mich, dass ich den Token besser über die App generieren lassen soll, anstelle den Device Token zu verwenden?
    Wenn ja, wie kann ich am besten sicherstellen, dass der User A dann immer seinen generierten Token erhält, z.B. auch nach einem Gerätewechsel oder einer Deinstallation & Installation der App?
    Nein, du musst den Device-Token verwenden, nur an diesen können auch Notifications gesendet werden. Du kannst nicht sicherstellen, dass immer der gleiche Token verwendet wird.
  • Bin gerade in der Planung und ich hoffe Ihr könnt mir weiterhin so gut helfen :)
    Gerade etwas brainstorming durchgeführt - dabei ist folgende Skizze entstanden:

    Zeichnung1.jpg

    Ich muss auf jedenfall mit dem Device Token arbeiten um die Userzuweisung und Push Benachrichtigun gewährleisten zu können.
    Habe mir folgendes überlegt.

    Jeder Eintrag, welcher vom User angelegt wird, landet in meiner MYSQL Datenbank, zusammen mit dem Device Token.
    Zukünftig werden ich diesen Token auch in ein NSUserDefault speichern und in die iCloud (falls aktiviert)
    Somit hätte ich an 3 Stellen den aktuellen Token im Einsatz.

    Sollte jetzt der Fall eintreffen, dass das Gerät einen neuen Token erhält (z.B. nach einem Systemupdate), prüft die App jedes Mal beim Starten, ob der Device Token abweicht, von dem aus den NSUserDefaults.
    Was dann passieren soll, steht ja in der Skizze :)

    Problem was ich aktuell weiterhin habe.
    Wenn die App deinstalliert wird oder ein neues Gerät benutzt wird und der alte Token NICHT in der iCloud liegt (weil die iCloud vom User nicht genutzt wird), kann ich auch nicht mehr auf den den alten Token des NSUserDefault zurückgreifen, da dieser ja nicht mehr vorhanden ist.

    Habt ihr dafür vllt eine Lösung?
  • Beim Versenden der Push-Notifications bekommst du pro Gerät eine Rückmeldung. Damit kannst du entscheiden, welche Geräte du aus der Datenbank löschen kannst, weil sie veraltet sind.

    Der Prozess ist ganz einfach:
    • App startet, erhält Token vom Server und registriert sich damit beim Server für APNS
    • Server prüft, ob Token bereits existiert. Falls nicht, speichert er das Token zum User in der Datenbank
    • Beim Versand von Push-Notifications wertet der Server die Rückmeldungen aus, und löscht die nicht mehr existierenden Token aber nicht die Nutzer aus der Datenbank.
    Dieses Vorgehen für die Tokenverwaltung stammt von Apple und sollte auch so umgesetzt werden. Apps, die unbedingt klüger sein wollen, bekommen in der Regel Probleme.
    „Meine Komplikation hatte eine Komplikation.“
  • Das verstehe ich alles auch voll und ganz.
    Allerdings frage ich mich weiterhin, wie ich dem User seine Eintragungen wieder aus meiner Datenbank zuweisen kann, nachdem sich der Token geändert hat :/
    Die einfachste Idee dir mir dort kommt: Der User muss sich bei mir registrieren. Somit kann ich Ihm immer wieder seine Eintragungen zuweisen.

    Allerdings wäre das nur meine Notlösung. Möchte eine Registrierung nicht zwingend voraussetzen.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von PetTus ()

  • PetTus schrieb:

    Das verstehe ich alles auch voll und ganz.
    Allerdings frage ich mich weiterhin, wie ich dem User seine Eintragungen wieder aus meiner Datenbank zuweisen kann, nachdem sich der Token geändert hat :/
    Den Nutzer A loggt sich in der App ein. App sendet aktuellen token an den server zum abspeichern. Er löscht die App, loggt sich irgendwann 2 Monate später mal wieder ein und schickt dir ein anderes Token. Diesen speicherst du jetzt ebenfalls für deinen Nutzer und sendest Push Notifications an BEIDE Tokens. Bekommt du für den alten Token dann zurück, dass etwas schief lief, schmeißt du das aus der DB. Soweit zumindest mein verständnis auf Basis der letzten beiträge hier...
    Man kann alles schaffen. Man muss es nur wollen ;)
    www.regetskcob.github.io
  • Ja ABER woher soll meine Datenbank wissen, dass der neue Token, dem User A gehört?
    EDIT: Okay, habe den part "loggt sich ein" etwas überlesen.
    Also gehen wir an dieser Stelle von einer bereits durchgeführte Registrierung aus, welche ich aktuell versuchen möchte zu vermeiden
  • mmmh, merkwürdige Frage, aber ok:

    der User A macht Eintragungen am Handy, welche in meine Datenbank gespeichert werden (als Backup).
    Wenn jetzt das Gerät gewechselt wird, ist die App komplett ohne Inhalt.
    Somit möchte ich dem User A seine Eintragungen aus meiner Datenbank wieder zur Verfügung stellen.
  • PetTus schrieb:

    Ja ABER woher soll meine Datenbank wissen, dass der neue Token, dem User A gehört?
    EDIT: Okay, habe den part "loggt sich ein" etwas überlesen.
    Also gehen wir an dieser Stelle von einer bereits durchgeführte Registrierung aus, welche ich aktuell versuchen möchte zu vermeiden
    Du sagst in deinem Post 2x user, obwohl du keine registrierten user möchtest.... Ich verstehe nicht, was an der Registrierung so schlimm ist, dass du dir so verbissen eine andere lösung suchen willst.
    Man kann alles schaffen. Man muss es nur wollen ;)
    www.regetskcob.github.io