J'essaie de faire une application qui est exactement comme WhatsApp, jusqu'à présent la plus grande limite est que lorsqu'un utilisateur rouvre l'application après un certain temps, et va à un Conversation View
, nouveaux Message
s qui ont été envoyés pendant la L'application était en arrière-plan/suspendue ou terminée Les états doivent être récupérés à partir d'un serveur (API), ce qui entraîne un retard potentiel pour les nouveaux messages apparaissant dans le Conversation View
.Existe-t-il un moyen de conserver CoreData en synchronisation avec une API serveur même lorsque l'application est en état Arrière-plan/Suspendu/Terminé?
Comment puis-je atteindre en permanence Sync d'une application avec une API de serveur? Je suis un peu sûr que les applications comme WhatsApp parviennent à le faire, car Message
ne semblent jamais être téléchargés lorsque vous ré-ouvrir l'application après un certain temps, non?
Quelle est la bonne façon d'imiter ce type de comportement? Je veux vraiment apprendre comment effectuer ce type de synchronisation "avancée" et je ne sais pas par où commencer. Encore une fois, mon objectif est d'essayer d'éviter les téléchargements de serveur de nouveaux Message
quand un utilisateur rentre un Conversation View
par exemple (parce que ce serait mauvais UX)
Merci d'avance!
Vous ne pouvez pas vraiment ** parfaite synchronisation **. Vous pouvez vous rapprocher. Utilisez les notifications push pour indiquer à votre application qu'il existe des messages à récupérer. Vous pouvez également faire un peu de traitement en arrière-plan pour obtenir des mises à jour. – ryantxr
Oui, je commence à réaliser que ça ne peut pas être parfait. Mais, est-il prévu que vous deviez télécharger quelques données (Messages) en entrant dans le ViewController auquel ils appartiennent? Ou devrait-il se produire avant comme dans un rappel AppDelegate? – jlstr
Vous pouvez charger tous les messages pour toutes les conversations lorsque l'application est mise au premier plan. Ensuite, ils sont déjà chargés lors de la saisie de la conversation. – ryantxr