It is currently 8 June 2025, 20:14 Advanced search

Notifiche push

Domande e risposte su come utilizzare Instant Developer Cloud al meglio

Notifiche push

Postby rainer.battisti » 1 April 2020, 13:34

Sto avendo un problema con l'invio di notifiche push su un'app InDe Cloud.
Ho 2 applicazioni una client che genera il token e lo invia ad un'altra residente sul server che memorizza quanto ricevuto.
Lato server quando di cerca di mandare una notifica al client con il metodo app.device.notification.push passandogli il token ed il testo della notifica
non si ha il comportamento desiderato in quanto il metodo push viene eseguito (e in caso si imposti una callback questa viene eseguita) ma la notifica non raggiunge il dispositivo.

L'app "server" viene eseguita su uno server di produzione, mentre il launcher dell'app "client" è stato configurato col plugin per le notifiche.
Il tutto funziona se l'applicazione client viene eseguita in ambiente di test o all'interno di InstaLauncher, non funzione se creato l'apk ed installato sul dispositivo

Rainer
rainer.battisti
 
Posts: 128
Joined: 23 June 2015, 10:18

Re: Notifiche push

Postby v.marino » 2 April 2020, 8:59

Buongiorno, occorre abilitare il plugin delle notifiche nel launcher, registrando l'applicazione su Firebase per ottenere i parametri necessari.

Firebase0.png
Firebase0.png (85.57 KiB) Viewed 5671 times


Dalla videata del launcher, occorre scegliere "plugin" nel menu di sinistra, selezionare poi "Notifiche" e compilare i campi "SENDER_ID" e "google-services.json" in base alla guida linkata nel commento ai piedi del campo.
I passi elencati nella guida sono i seguenti:
- Creare un nuovo progetto sulla console di Firebase https://console.firebase.google.com/ cliccando su "Aggiungi progetto"

Firebase1a.png
Firebase1a.png (67.31 KiB) Viewed 5671 times


- Compilare i campi richiesti, cliccare su Avanti e infine su Crea Progetto

Firebase1.png
Firebase1.png (49.45 KiB) Viewed 5671 times


- Aggiungere un'applicazione cliccando sull'icona di Android

Firebase2.png
Firebase2.png (97.38 KiB) Viewed 5671 times


- Compilare i campi e cliccare su "Registra app"

firebase3.png
firebase3.png (47.84 KiB) Viewed 5671 times


- Scaricare il file di configurazione google-services.json e incollare il suo contenuto nel campo "google-service-json" nella videata dei plugin del launcher dentro InDe.

firebase4.png
firebase4.png (97.09 KiB) Viewed 5671 times


- Per ottenere il SENDER_ID occorre cliccare sulla rotellina di fianco al nome del progetto nella pagina principale della console di Firebase, scegliere "Impostazioni progetto"
La chiave server dovrà invece essere usata per valorizzare la proprietà app.device.notification.gcmKey nell'applicazione.

Firebase5.png
Firebase5.png (25.66 KiB) Viewed 5671 times


- Nella videata che si aprirà, selezionare la tab "Cloud Messagging" e copiare l'ID mittente. Questo è il valore da inserire nel campo SENDER_ID nella videata di configurazione del launcher dentro InDe.

Per quanto riguarda le applicazioni su Ios occorre:
- collegarsi a http://developer.apple.com e scegliere "account" dalla barra in alto.

Notifiche1.png
Notifiche1.png (23.53 KiB) Viewed 5671 times


- Cliccare sul riquadro centrale relativo ai certificati

Notifiche2.png
Notifiche2.png (40.83 KiB) Viewed 5671 times


- Creare un certificato di tipo "Apple Push Notification Services"
- Scaricarlo ed esportare il certificato e la chiave in formato .pem seguendo questa guida: https://github.com/node-apn/node-apn/wiki/Preparing-Certificates
- Aggiungere all'applicazione due risorse, una per il certificato e una per la chiave e usarle per valorizzare le proprietà certPath e keyPath dell'oggetto notification, in questo modo:
app.device.notification.certPath = $instantSupportoperatorpushcert;
app.device.notification.keyPath = $instantSupportoperatorpushkey;
User avatar
v.marino
Pro Gamma
Pro Gamma
 
Posts: 652
Joined: 2 January 2013, 8:11

Re: Notifiche push

Postby rainer.battisti » 2 April 2020, 13:52

Grazie Vittoria
abbiamo ottenuto la credenziale le abbiamo messe nella parte server ed ora dell'applicazione in cloud funziona.
Per quanto riguarda invece la parte Foundation con l'applicazione Notifiche che ci hai passato vedo che ci sono queste 2 istruzioni nel bottone Invia
idn.certificatePath = "C:\\...................................."
idn.certificatePassword = "......"
con cosa le sostituisco ?

Rainer
rainer.battisti
 
Posts: 128
Joined: 23 June 2015, 10:18

Re: Notifiche push

Postby v.marino » 3 April 2020, 8:00

Buongiorno Rainer,
le proprietà certificatePath e certificatePassword servono per inviare le notifiche a dispositivi Apple da parte di applicazioni non eseguite dentro Caravel.
La proprietà certificatePath deve essere valorizzata con il percorso assoluto del certificato ottenuto dal sito http://developer.apple.com ed esportato in formato .p12
https://doc.instantdeveloper.com/?ARTID=F4C535FA-5CC9-4637-BABC-3E7E80D7C32D&LANG=it

La proprietà certificatePassword deve essere valorizzata con la password usata per generare il certificato.
https://doc.instantdeveloper.com/?ARTID=0532CC25-0829-4D9F-A73C-C1790C4C44B7&LANG=it

Un altro link con informazioni utili è il seguente:
https://doc.instantdeveloper.com/?ARTID=0183B8E3-DF52-4D0A-84CE-82578196A02F&LANG=it
User avatar
v.marino
Pro Gamma
Pro Gamma
 
Posts: 652
Joined: 2 January 2013, 8:11

Re: Notifiche push

Postby rainer.battisti » 3 April 2020, 8:51

Grazie Vittoria
il problema che ho ancora è relativo ad Android da Foundation utilizzando il progetto Notifiche che mi hai passato.
Quando cerco di inviare un messaggio ad un'app Android mi torna questo errore:
{"multicast_id":2054272258941986746,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"NotRegistered"}]}
Ho provato ad aggiungere la chiave ottenuta da Firebase nel parametro ApiKey ma a questo punto l'errore che ritorna è
Errore del server remoto: (401) Non autorizzato
Confermo invece che richiamando la stessa APP dal server dove abbiamo messo l'applicazione cloud funziona.
Rainer
rainer.battisti
 
Posts: 128
Joined: 23 June 2015, 10:18

Re: Notifiche push

Postby v.marino » 3 April 2020, 10:33

Per valorizzare la proprieta APIKey, stai usando la "Chiave API web"?
Mi riferisco a quella che si trova nella tab "Generali" della scheramata "Settings" del progetto sulla console di Firebase.

apikey.png
apikey.png (36.04 KiB) Viewed 5628 times
User avatar
v.marino
Pro Gamma
Pro Gamma
 
Posts: 652
Joined: 2 January 2013, 8:11

Re: Notifiche push

Postby matteomoschelli » 3 April 2020, 12:55

Buongiorno Vittoria,
l'errore 401 lo abbiamo ricevuto mettendo la chiave sbagliata, che era l'ID mittente di Firebase (ma ho letto male io la documentazione e mi sono sbagliato).
Ora abbiamo messo la Chiave API web ma non ci sono miglioramenti, l'errore è sempre lo stesso... C'è altro che dobbiamo impostare da Foundation?
Grazie
matteomoschelli
 
Posts: 3
Joined: 30 March 2020, 17:13

Re: Notifiche push

Postby rainer.battisti » 3 April 2020, 13:00

l'errore 401 lo abbiamo ricevuto mettendo la chiave sbagliata, che era l'ID mittente di Firebase (ma ho letto male io la documentazione e mi sono sbagliato).
Ora abbiamo messo la Chiave API web ma non ci sono miglioramenti, l'errore è sempre lo stesso... C'è altro che dobbiamo impostare da Foundation?
Grazie
rainer.battisti
 
Posts: 128
Joined: 23 June 2015, 10:18

Re: Notifiche push

Postby v.marino » 6 April 2020, 7:32

In questo caso l'applicazione che invia la notifica è fatta con Foundation mentre quella che la riceve è fatta con Cloud, giusto?
L'applicazione che riceve le notifiche è installata sul dispositivo oppure la stai usando da InstaLauncher (o Caravel)?
User avatar
v.marino
Pro Gamma
Pro Gamma
 
Posts: 652
Joined: 2 January 2013, 8:11

Re: Notifiche push

Postby rainer.battisti » 6 April 2020, 7:38

Ciao
Quella che invia è scritta con Foundation e quella che riceve con Cloud ed è installata sul dispositivo.
L'applicazione sul dispositivo riceve regolarmente le notifiche da un'altra applicazione scritta con Cloud ed installata sul server di produzione.
Rainer
rainer.battisti
 
Posts: 128
Joined: 23 June 2015, 10:18

Next

Return to Tips & Tricks - Cloud

Who is online

Users browsing this forum: No registered users and 7 guests