It is currently 19 February 2025, 7:48 Advanced search

Notifiche push verso Android

Domande e risposte su come utilizzare Instant Developer Cloud al meglio

Notifiche push verso Android

Postby marcopiumi » 12 March 2024, 17:24

Ho aggiornato il server e le procedure alla nuova versione consigliata della piattaforma (24).
Il problema è nella poca disponibilità di documentazione riguardanti la nuova gestione delle Notifiche di Android.
Nella documentazione si legge : Ora le notifiche push per Android vengono inviate tramite le API Firebase Cloud Messaging (versione1).
Nell'oggetto notification c'è un campo fcmKey che sostityisce gcmkey.
Nella scarna documentazione in linea c'è scritto che occorre mettere il file json generato da Firebase per questa API.
Ho inserito il contenuto del file json ma non ha funzionato, ho provato a fare il parse e convertirlo in oggetto javascript ma non funziona.
Cosa si dovrebbe fare esattamente ?
marcopiumi
 
Posts: 5
Joined: 21 June 2023, 9:58

Re: Notifiche push verso Android

Postby XpInform » 7 May 2024, 15:52

Sto riscontrando lo stesso problema.
Il metodo push ritorna 'data must be a non-null object'.

Sei riuscito a risolvere?
XpInform
 
Posts: 34
Joined: 7 April 2021, 6:56

Re: Notifiche push verso Android

Postby marcopiumi » 7 May 2024, 16:55

Ho messo il contenuto del file nel campo fcmKey ed ha funzionato.
Avevo provato prima ma non funzionava, si vede che non lo avevo caricato bene.

Adesso funziona.
marcopiumi
 
Posts: 5
Joined: 21 June 2023, 9:58

Re: Notifiche push verso Android

Postby d.termini » 8 May 2024, 6:46

XpInform wrote:Sto riscontrando lo stesso problema.
Il metodo push ritorna 'data must be a non-null object'.

Sei riuscito a risolvere?

Se hai definito "payload" questo si risolve passando la proprietà come oggetto, es
Code: Select all
let notifica = {
  body: "blablabla",
  payload: {id: "qualcosa"}
}


marcopiumi wrote:Ho messo il contenuto del file nel campo fcmKey ed ha funzionato.
Avevo provato prima ma non funzionava, si vede che non lo avevo caricato bene.

Adesso funziona.

A me funziona solo su IDE, in produzione interpreta male la chiave privata (dice che è troppo corta), probabilmente ha a che fare coi \n, ho un'altra assistenza oggi pomeriggio per questo.
d.termini
 
Posts: 1581
Joined: 13 November 2017, 8:41

Re: Notifiche push verso Android

Postby XpInform » 8 May 2024, 14:08

Grazie per i suggerrimenti.
Passando il payload come oggetto ho risolto l'errore 'data must be a non-null object'.
Adesso ho errore sul senderID ottengo 'SenderId mismatch'.
Devo controllare le varie configurazioni e se non sto confondendo i vari progetti su firebase.

A me funziona solo su IDE, in produzione interpreta male la chiave privata (dice che è troppo corta), probabilmente ha a che fare coi \n, ho un'altra assistenza oggi pomeriggio per questo.

Ci fai sapere l'esito dell'assistenza?
XpInform
 
Posts: 34
Joined: 7 April 2021, 6:56

Re: Notifiche push verso Android

Postby d.termini » 9 May 2024, 6:45

XpInform wrote:Ci fai sapere l'esito dell'assistenza?

La chiave la metti come parametro runtime dell'applicazione?
Perché abbiamo verificato che su server in produzione fa l'encoding di @ in %40 nell'url di richiesta del certificato.
Su IDE invece questo encoding non lo fa e probabilmente è quello che dà problemi, visto che tutto il resto è perfettamente identico.
Purtroppo ieri ci si è bloccato il server mentre stavamo pubblicando per testare la correzione, ci riprovo oggi.
L'alternativa è valorizzare la proprietà fcmKey direttamente da codice, così dovrebbe funzionare, però significa che per cambiarla devi ripubblicare.

EDIT: no scusa, è il contrario, la @ deve essere encodata in %40 sul client_x509_cert_url, e in produzione la trovo come @
Ri-EDIT: no, non cambia niente anche facendo l'encoding
d.termini
 
Posts: 1581
Joined: 13 November 2017, 8:41

Re: Notifiche push verso Android

Postby XpInform » 9 May 2024, 9:10

d.termini wrote:
XpInform wrote:Ci fai sapere l'esito dell'assistenza?

La chiave la metti come parametro runtime dell'applicazione?

L'alternativa è valorizzare la proprietà fcmKey direttamente da codice, così dovrebbe funzionare, però significa che per cambiarla devi ripubblicare.


Ho risolto tutti i mei errori e funziona tutto.
Inizialmente impostavo la proprietà fcmKey direttamente via codice e ottenevo 'SenderId mismatch'.
Adesso valorizzo la proprietà leggendo contenuto di un file, in questo modo :

Code: Select all
let fcmGoogle = app.fs.file($fcmKeyFile, App.Fs.internalType.resource);
app.device.notification.fcmKey = yield fcmGoogle.readAll();


Io l'ho caricato come risorsa dell'app, ma si potrebbe inserire il file nella cartella 'private' del server e leggerlo di volta in volta.
XpInform
 
Posts: 34
Joined: 7 April 2021, 6:56

Re: Notifiche push verso Android

Postby d.termini » 9 May 2024, 9:17

XpInform wrote:Io l'ho caricato come risorsa dell'app, ma si potrebbe inserire il file nella cartella 'private' del server e leggerlo di volta in volta.

Ottimo, buono a sapersi che da file funziona, probabilmente prenderò quella strada.
Fortunatamente in quel server abbiamo una sola applicazione che usa firebase, altrimenti dovrei distinguere diverse chiavi per diverse applicazioni.
d.termini
 
Posts: 1581
Joined: 13 November 2017, 8:41

Re: Notifiche push verso Android

Postby XpInform » 9 May 2024, 9:25

d.termini wrote:
XpInform wrote:Fortunatamente in quel server abbiamo una sola applicazione che usa firebase, altrimenti dovrei distinguere diverse chiavi per diverse applicazioni.


Esattamente quello che faccio io. Solo perchè firebase ha il limite di 30 app per progetto, quindi devo necessariamente procedere in questo modo
XpInform
 
Posts: 34
Joined: 7 April 2021, 6:56


Return to Tips & Tricks - Cloud

Who is online

Users browsing this forum: No registered users and 9 guests