Italian HUAWEI P8

LucaMs

Expert
Licensed User
Longtime User
non ricordo se nel tutorial stampato o in quello video, sono quasi certo che Erel affermi che il messaggio FCM sia in grado di avviare l'app (vado a controllare di nuovo).
Era nel video tutorial, dal quale ho preso quest'immagine:
upload_2018-7-1_10-12-6.png


A me questo non fuziona su alcun dispositivo; inoltre, per il momento almeno, non ho trovato accenni a questo nella documentazione FCM.
 

LucaMs

Expert
Licensed User
Longtime User
Ho appena effettuato una prova sul P8. Anziché far partire una notifica, dall'interno di fm_MessageArrived lancio la Main:
StartActiity(Main).

Quindi sono uscito dall'app tramite "Escape", app che quindi è in background, inviato un messaggio FCM e la Main viene attivata correttamente. Questo non avviene (non ho provato ma oramai ne sono certo) nel caso in cui la tua app sia stata definitivamente chiusa, dalle impostazioni.
 

nicolino33

Active Member
Licensed User
Longtime User
A me purtroppo non è cosi, se metto l'app in background passando ad altre attività allo ok riceve, ma non ho necessità di push perché il socket rimane connesso, il problema nasce quando chiudi l'app con il dito o la sposti nel cestino, il P8 non riceve più niente, ho provato anche con un altro P8 di un amico, stesso problema… Nell specifico il P8 è questo: Manufacturer HUAWEI; Model ALE-L21; Product ALE-L21; SdkVersion 23 (estrappolato con Phone…)
 

nicolino33

Active Member
Licensed User
Longtime User
Riguardo il does not need to run è chiaro, lo abbiamo capito, l'app è chiusa ma riceve la push, e quindi nel servizio in cui arriva la push puoi fare quello che vuoi, o almeno dovresti poterlo fare visto che se tento di fare uno startactivity o uno startservice fallisce….
 

LucaMs

Expert
Licensed User
Longtime User
Va beh, tu parli di socket per la tua particolare necessità della quale io non so niente alcunché, ovviamente.

Riguardo il does not need to run è chiaro, lo abbiamo capito, l'app è chiusa ma riceve la push,
Per me niente è chiaro :p.

Io non ho fatto altro che creare un progetto praticamente uguale a quello pubblicato da Erel ed usarlo in modalità sia debug che release (mi riferisco sempre al P8 Lite 2017).

Se l'app è in foreground o in background, riceve sempre la notifica; se è "definitivamente chiusa", ovvero l'ho chiusa io tramite le impostazioni del dispositivo, allora non riceve e tantomeno "parte" (l'app stessa).
 

nicolino33

Active Member
Licensed User
Longtime User
Altra cosa: se disinstalli l'app e provi ad inviare una push Firebase la invia, quindi usando le push bisognerebbe anche prevedere l'eventualità…
 

nicolino33

Active Member
Licensed User
Longtime User
Se l'app è in foreground o in background, riceve sempre la notifica; se è "definitivamente chiusa", ovvero l'ho chiusa io tramite le impostazioni del dispositivo, allora non riceve e tantomeno "parte" (l'app stessa).

Si te lo confermo, lo avevo anche già fatto presente. insomma ste push non è che siano una meraviglia….
 

nicolino33

Active Member
Licensed User
Longtime User
Però stranamente WhatsApp rimane sempre attivo… quindi la soluzione c'è di sicuro.
 

LucaMs

Expert
Licensed User
Longtime User
Sarebbe anche interessante scoprire se sia possibile conoscere quali servizi siano attivi e, soprattutto, a quali app siano legati.
In questo modo si potrebbe anche capire il funzionamento di Whatsapp e delle altre app che riescono a gestire queste notifiche in questo modo.
 

nicolino33

Active Member
Licensed User
Longtime User
avete provato a settare la priorità del messaggio ??

Effettivamente no

B4X:
 Dim m As Map = CreateMap("to": $"/topics/${Topic}"$)
 Dim data As Map = CreateMap("title": Title, "body": Body)
 m.Put("data": data)
 Dim jg As JSONGenerator
 jg.Initialize(m)

dove la mettiamo la priorità?


In "data" vengono annidate title e body, ma li invece:

"data" : {
"volume" : "3.21.15",
"contents" : "http://www.news-magazine.com/world-week/21659772"
},
 

sirjo66

Well-Known Member
Licensed User
Longtime User
mostrami il codice JSON che invii normalmente, dovrebbe assomigliare a:
B4X:
{
   "to": "/topics/miotopic",
   "data": {
      "title": "Titolo",
      "body": "Messaggio"
   }
}
e dovresti cambiarlo in:
B4X:
{
   "android":{
      "priority": "high"
   },
   "to": "/topics/miotopic",
   "data": {
      "title": "Titolo",
      "body": "Messaggio"
   }
}

Non ho B4J e quindi non posso provarlo, ma dovrebbe essere:
B4X:
Dim m As Map = CreateMap("to": $"/topics/${Topic}"$)
Dim data As Map = CreateMap("title": Title, "body": Body)
m.Put("data": data)
Dim pr As Map = CreateMap("priority": "high")
m.Put("android": pr)
Dim jg As JSONGenerator
jg.Initialize(m)
 
Last edited:

Antonio1

Member
Licensed User
Longtime User
Ciao

Io con il p8 lite, una volta protetta l'app, tutto funziona bene... la push arriva regolarmente anche dopo aver spento e riacceso il telefono senza far ripartire la procedura... e arrivano anche quelle spedite mentre il telefono era spento!!! e trasmetto le push indistintamente da una mia piattaforma web php mysql che da altro device, raramente dalla consolle Firebase.
nessuna installazione particolare se non il tutorial presente sul forum... le indicazioni del Grande Erel... e degli altri membri... in particolare i post relativi alla questione di Kmatle

Uso sdk Platform 23 - google play services 49 - google repository 58 - android support repository 47 e al momento b4a 8.0 ma era tutto ok anche con versioni precedenti...
 

LucaMs

Expert
Licensed User
Longtime User
Uso sdk Platform 23
Saprai sicuramente che se vuoi pubblicare sul Play Store dovrai impostare l'sdk target almeno su 26, da quest'anno.

in particolare i post relativi alla questione di Kmatle
Io non ho trovato quelle impostazioni, partendo da "batteria" :p

Vi manca una pulcetta nell'orecchio? E con Android 8? Tutto ok?
 

LucaMs

Expert
Licensed User
Longtime User
Oh, comunque, non so se abbiate letto ma i miei dubbi riguardo al fatto che l'app non si avviasse automaticamente al ricevimento del messaggio FCM, Erel mi ha chiarito le idee.

Semplicemente (si fa per dire) un conto è se il S.O. chiude l'app, un altro è se la chiude l'utente (in questo caso io) dalle impostazioni.
Nel primo caso l'app verrà riavviata alla ricezione del messaggio, nel secondo no.
 
Top