Bonjour à toutes et tous,
Des années de programmation itérative me font facilement devenir chèvre dès lors qu'il s'agit de transmettre des informations entre deux processus distincts !
Je mets en place une simple notification. Mon service est activé, et j'obtiens les notifications lancées à partir de la console Firebase. L'étape suivante consistait à envoyer des notifications à partir de mon serveur, de façon dynamique, via un petit script php. Là encore, je trouve de quoi faire mais surprise, j'apprends que Google ne fait pas du "all users" ! Il ne suffit donc pas que j'envoie une notification (très simple : "y a un nouveau message, ouvrez votre appli !") à mon projet sous Firebase qui se chargerait ensuite de le transmettre à tous les postes inscrits. C'est public, donc même pas d'authentification, juste un RegistrationId.
Bon, donc, il faut récupérer le RegistrationId de chaque poste mobile, l'enregistrer dans ma base, et quand j'envoie une notification à Firebase, je lui transmets tous les RegistrationId ? Ok, c'est un peu dommage que le service n'aille pas jusqu'au bout, mais parions qu'il y a d'excellentes raisons à ça, et puis je peux râler pendant 100000 ans, ça ne changera rien...
Je fais donc une classe en extend de FirebaseInstanceIDService, avec déclaration au manifeste et tout et tout, je récupère bien mon RegistrationId dans la méthode onTokenRefresh()... mais comment je la communique à mon script php distant ????!!!
Execute ? Il ne veut pas, c'est pas la MainActivity !
Une interface pour rebasculer sur le Main ? Ben oui, mais comme mon Activité et mon FirebaseInstanceIDService perso sont deux process distincts (l'un n'appelle pas l'autre), je ne vois pas comment transmettre l'info de l'un à l'autre. Les interfaces, je ne sais en faire qu'en déclarant l'objet dans l'un des process et en l'instruisant dans l'autre...
Les méthodes et objets de l'import com.android.volley ? J'ai beau faire, je n'arrive pas à comprendre comment les manipuler. Les exemples que j'ai sont complexes, quand je ne veux au final que transmettre une chaine à un code php...
Avant même de transmettre du code ici, quelqu'un saurait-il donc s'il existe une méthode "simple" (tout est relatif sous Android !) pour lancer un script PHP (qui ne retournera aucune réponse, soit dit en passant) à partir d'un processus qui n'est pas la MainActivity ?
Merci de votre aide.
Partager