Ich würde an deiner Stelle die Device-Tokens nicht im user Datensatz speichern sondern in einer separaten Tabelle "UserDeviceTokens", in der du die ID vom user mit n DeviceTokens ablegst. Das heißt, du überschreibst nicht den Datensatz, sondern merkst dir das neue Token zusätzlich.PetTus schrieb:
macht euch ruhig weiter einen Kopf - denn ich stehe aktuell vor einem weiteren Problem
Entweder habe ich gerade ein Brett vorm Kopf oder es existiert wirklich eine Komplikation.
Kurze Zusammenfassung vom Ist-Zustand
- ich habe eine swift 2 app
- aktuell kann jeder App Nutzer Eintragungen machen, welche in CoreData gespeichert und in einem TableView angezeigt werden
- zu jedem Eintrag gibt der Nutzer ein Datum an (welches in der Zukunft liegt), um an diesem Tag und vorher an seinen jeweiligen Eintrag erinnert zu werden (mit Hilfe von Local Notifications, 2 Erinnerungen = 2 Notifications)
- Problem dabei war die Limitierung von 64 local Notifications - da jeder Eintrag 2 Notifications registriert wären "nur" noch 32 Einträge möglich - das ist auf Dauer zu wenig.
Zusammenfassung vom Soll-Zustand
[*]Der Nutzer muss sich registrieren, damit seine Eintragungen in meine MYSQL Datenbank gespeichert werdenDer Nutzer soll die Möglichkeit haben mit anderen registrierte Nutzer eine gemeinsame Liste von Eintragungen zu führen
[*]Aus diese Grund muss bei jedem Start der App, die CoreData Datenbank mit der MYSQL Datenbank synchronisiert werden
[*]Die Local Notifications sollen durch Remote Notifications abgelöst werden, womit die Limitierung wegfallen würde
- Nach dem sich der User registriert hat, wird auch sein Device Token in die Datenbank zu seinem Userdatensatz gespeichert
- Ein PHP Script wird täglich ausgeführt und überprüft ob das gewählte Datum in der MYSQL Datenbank für einen Eintrag dem heutigen Datum entspricht und schickt darauf hin, eine Notification an den Ersteller dieses Eintrages (Device Token des Users liegt ja vor)
Hoffe das war soweit verständlich erklärt Problematik die ich jetzt aktuell sehe - der Device Token kann sich ja ändern.Z.B. Wenn ich die App deinstallieren und wieder installiere - das wäre dann aber nicht schlimm - denn dann müsste der User sich schließlich auch wieder in der App neu anmelden, dabei kann ich dann seinen alten Token aus der Datenbank durch den neuen Token ersetzen.Aber was mache ich, wenn sich der Token durch andere Gegebenheiten ändert -> SoftwareaktualisierungEntweder denke ich gerade zu kompliziert und es ist einfacher als gedacht. ODER es ist wirklich kompliziert Schon Mal vielen Dank vorab.
Geschickt wird die Notification dann an alle gespeicherten Tokens für den user und Tokens, bei denen Fehler auftraten, werden gelöscht.
Man kann alles schaffen. Man muss es nur wollen
www.regetskcob.github.io
www.regetskcob.github.io