Obtenir le device token pour notification Push
pistonman33
Membre
Bonjour à tous,
Je voulais savoir si il y avait moyen de connaà®tre le device token, nécessaire pour les notifications push, d'un téléphone après que la fonction didRegisterForRemoteNotificationsWithDeviceToken ait été appelé ?
Et celle-ci n'a pas été sauvé dans le téléphone!
Je voudrais savoir si on peut accéder à ce device token car j'ai lu qu'il pouvait changer et je ne suis pas sur que celui que j'ai enregistré dans le téléphone soit mis à jour...
Bien à vous.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Il n'y a pas d'autres moyens de récupérer le deviceToken que la méthode que tu cites il me semble. Et oui effectivement il peut changer donc y accéder ailleurs qu'à partir de cette méthode n'a pas forcément de sens.
Pourquoi tu veux le récupérer d'une autre façon ?
En faite, je pense avoir fait une erreur dans mon application qui est déjà déployé sur plusieurs téléphones.
Voici mon code:
Je fais un test pour savoir si il est déjà encodé dans le téléphone avant de l'envoyer au serveur et de le sauver. Ce qui est à mon avis mon problème, car je ne savais pas qu'il pouvais changer ! Du coup, je ne sais pas comment rattraper le coup sur les téléphones qui ont le device token qui a changé, ni savoir quelles téléphones ont le device token qui a changé. Quelqu'un à une idée??
Il change notamment quand tu remets à zéro l'iPhone.
Ok merci donc je suis bloqué pour ceux qui ont l'application existante je suppose...
Donc si je comprends bien dans la doc d'Apple, à chaque lancement de l'application on fait la demande au près d'Apple du device Token via la ligne de commande suivante:
Et on enregistre sur notre serveur le token recu via la méthode didRegisterForRemoteNotificationsWithDeviceToken.
C'est bien ça ?
Et par conséquent la fonction didRegisterForRemoteNotificationsWithDeviceToken est toujours appelé à chaque lancement de l'application ?
Ok , je suis donc suppris qu'il y ait toujours besoin de demander à Apple le device token d'autant plus qu' il ne varie très rarement dans mon cas, je suis tombé sur ce bug après deux ans d'utilisation de mon application !
Je trouve ca dommage de toujours devoir faire une requête vers Apple pour le device_token qui change rarement....
Donc ne t'inquiète pas sur le fait que ça fasse une requête à Apple à chaque lancement, car ce n'est pas le cas en pratique.
---
De plus, appeler systématiquement cette méthode est de toute façon nécessaire pour une autre raison : l'utilisateur peut avoir changé les Settings de son app pour finalement refuser les notifications sur l'application pendant un moment, puis les réactiver plusieurs mois après, etc... donc il faut aussi côté appli que tu utilises rgisterForRemoteNotifications pour mettre à jour cet état.
Merci Aligator c'est encore une fois beaucoup plus clair avec tes explications. J'avoue que je pensais qu'il faisait la demande tout le temps auprès d'Apple car la méthode était tout le temps appelée et retournait tout le temps un device token! C'est une erreur de ma part, je dois plus me fier à la doc d'Apple. Je voulais aussi savoir si on supprime l'application et ensuite la réinstalle, le device token est aussi redemandé chez Apple ? Obtient on un nouveau device_token ?
À priori oui. tu peux faire le test pour voir
Quand je fais le test en mode développement, le device token change tout le temps...