À quelle fréquence dois-je "pusher/puller" mes données vers le serveur ?

Bonsoir à  tous,


 


J'implémente une fonction de partage d'information entre les utilisateurs : un système de likes. La réactivité n'est pas une contrainte très importante : s'il s'écoule 1 minute (ou plus, 5 minutes) entre le like et la propagation aux autres utilisateurs, ce n'est pas grave.


 


Ma question est la suivante : quelle est la bonne pratique/que faites-vous concernant les push de données ? 


 


- Dois-je lancer une requête serveur dès que l'action like est lancée ? (Est-ce ce que vous faites ou est-ce ce que vous me conseilleriez ?)


- Ou bien, dois-je "factoriser" mes requêtes serveur et par exemple ne faire les requête que les 3 minutes (Ou bien, non, c'est trop galère à  gérer pour le peu d'économie data/batterie)


- Ensuite, quelles sont les étapes cruciales de la Life Cycle de l'application qui doivent interagir avec les push (À quelle notification dois-je pusher impérativement ?)


 


Et pour les pull, mêmes questions :


 


- Je vais mettre en place un système de cache des données dans l'appli.


- À quelle fréquence me conseillez-vous de puller les données ? Je me dis que pour la consommation de data et de batterie, il vaut mieux limiter.


- Dans un premier temps, je ne vais pas utiliser de systèmes de notifications, mais puller les données qui ont été demandées et mettre à  jour le cacher persistant.


 


Si vous avez des réponses ou des références (blog, etc.), je suis preneur !


 


PS : j'utilise CloudKit et je n'ai jamais fait ça avant donc n'hésitez pas à  me donner quelques principes généraux pour la communication entre une app et un serveur !!


 


Merci !


Réponses

  • Perso pour les likes je les pusherai directement, ça t'évitera de gérer des piles pour ce genre de choses.


    Ensuite pourquoi tu veux faire des requêtes toutes les 3 minutes ?


  • L'idée c'était justement de ne pas pusher tout de suite mais de faire un push "global" toutes les 3 minutes.


     


    Je suis obligé de gérer les piles de toutes façons, je gère un mode offline.


  • Je pense que pour les Likes c'est immédiatement. Quoi que attendre que l'utilisateur quitte la vue qui like est aussi une bonne idée parce que ça arrive de like et dislike.


     


    Pour le pull, je suis d'avis qu'il faut laisser l'utilisateur le demander mais que lorsque l'application se lance les récupérer est une bonne idée.


  • Je pensais mettre une valeur assez faible (genre 5s.) pour le push.


     


    J'utilise un pod sympa : LVDebounce.


     


    En gros, si une nouvelle requête arrive dans les 5s, il ne fait avant que 5s. ne s'écoulent, etc.


Connectez-vous ou Inscrivez-vous pour répondre.