Italian HUAWEI P8

LucaMs

Expert
Licensed User
Longtime User
c'è anche una funzione da inserire che interviene se vede una versione vecchia e invita l'utente all'aggiornamento…
Quella:

FirebaseAnalytics.IsGooglePlayServicesAvailable

?

L'avevo già inserita, per sicurezza, e restituisce True.

Ho aggiornato google play services:

upload_2018-6-30_12-56-51.png


ma il relativo jar non lo trovo.

Comunque ci stiamo concentrando molto sulle push, ma secondo me non è l'unica strada.
Come dice il tutorial, il messaggio è intercettato dal S.O. Se esiste un altro metodo deve comunque basarsi su questo (in maniera molto più complicata, sicuramente).
 

sirjo66

Well-Known Member
Licensed User
Longtime User
il servizio Starter e anche il servizio FirebaseMessaging io ce li ho #StartAtBoot: False

ricordatevi che su SDK Manager DOVETE aggiornare com.google.firebase:firebase-messaging versione 17.1.0

e che dovete lavorare con le API 27

La libreria FirebaseNotification dovrebbe essere la 1.21 e (almeno da me) non serve la FirebaseAnalytics
 

nicolino33

Active Member
Licensed User
Longtime User
Ciao sirjo, a me Firebase funziona benissimo su 6 dispositivi in test, tranne che sul huawei P8, è solo quello che quando va in standby non riceve più niente… Le ho tentate tutte, ma non c'è modo di far girare un servizio senza che vengo chiusa quando va in standby. Il fatto che ho provato firebase è solo per capire se come diceva Erel poteva funzionare, ma non è cosi, l'app viene proprio disattivata, e di conseguenza anche il FirebaseMessaging cessa.
 

nicolino33

Active Member
Licensed User
Longtime User
Ma hai usato l'esempio che propongono nel thread inglese dove c'è il video? Se lo segui alla lettera e utilizzi l'app proposta da loro non dovrebbe darti quell'errore, se funziona a me deve funzionare pure a te. Prova a installare su un telefono recente...
 

LucaMs

Expert
Licensed User
Longtime User
Ma hai usato l'esempio che propongono nel thread inglese dove c'è il video? Se lo segui alla lettera e utilizzi l'app proposta da loro non dovrebbe darti quell'errore, se funziona a me deve funzionare pure a te. Prova a installare su un telefono recente...
No, dev'esserci qualcosa di sballato nelle installazioni.
Ho aggiornato tutto l'aggiornabile ma... dove finisce tutta quella roba?
Ho provato ad installare sia su vecchi (Android 4...) che più recenti (Android 7)

La cosa più strana è che l'errore è identico a quello in quel thread, che sembra risolto con la versione 1.21 di FirebaseNotifications, che è la libreria che ho importato!

Prima "funzionava", ovvero nessun errore, benché il messaggio non arrivasse; prima che aggiornassi tutto. Però usavo quella vecchia versione di Google Play Services, che sicuramente non andava bene.
 

LucaMs

Expert
Licensed User
Longtime User
Trovato; non si sa chi sia stato :p e perché ma ho "roba" nella appdata... (di solito tutto là) ma anche, solo in parte, in c:\android.
In entrambe ho la platforms\android-27 ma è stata aggiornata quella in C: ed il path puntava all'altra!

Ora però vediamo se arriva il messaggio almeno con l'app in foreground...
 

LucaMs

Expert
Licensed User
Longtime User
Beh, con l'app non attiva non mi arriva la notifica né sul P8 né su un altro dispositivo con Android 4.4.2.

Mi domando: inviando il messaggio dalla console Firebase è possibile impostarne la scadenza; usando l'esempio b4j? Come si imposta e come è impostata di default?
 

LucaMs

Expert
Licensed User
Longtime User
Beh, con l'app non attiva non mi arriva la notifica né sul P8 né su un altro dispositivo con Android 4.4.2.

Mi domando: inviando il messaggio dalla console Firebase è possibile impostarne la scadenza; usando l'esempio b4j? Come si imposta e come è impostata di default?
Provato anche su un Android 4.0.4. Nessuno dei 3 riceve la notifica se l'app è stata terminata.
 

nicolino33

Active Member
Licensed User
Longtime User
Ecco come vedi non è cosi semplice il discorso, ed è questa la chiave di questo thread, trovare una soluzione stabile adattabile ad ogni dispositivo che permetta di non far chiudere l'app quando il telefono va in standby. ma però credo che se fino ad oggi nessun'altro si è pronunciato probabilmente la soluzione non la conosce nessuno, senza contare che lo stesso Erel ha proposto il firebase ignaro del fatto che anch'esso non funziona su P8.
 

nicolino33

Active Member
Licensed User
Longtime User
Poi ti dirò di più, quando il telefono riceve la push l'unico servizio utilizzabile è il FirebaseMessaging, perché ho provato a rianimare l'app dopo aver ricevuto la notifica facendo partire un altro servizio, e niente da fare, lo apre e si chiude subito, quindi tra l'altro utilizzando le push bisogna pure prevedere una seconda interfaccia di gestione dell'app degli eventi e di tutto ciò che si intende fare alla ricezione di un messaggio che realmente doveva provenire da un altro client o server ma in realtà è soltanto una push, che contiene solo un titolo e un corpo messaggio.
 

LucaMs

Expert
Licensed User
Longtime User
Ecco come vedi non è cosi semplice il discorso, ed è questa la chiave di questo thread, trovare una soluzione stabile adattabile ad ogni dispositivo che permetta di non far chiudere l'app quando il telefono va in standby. ma però credo che se fino ad oggi nessun'altro si è pronunciato probabilmente la soluzione non la conosce nessuno, senza contare che lo stesso Erel ha proposto il firebase ignaro del fatto che anch'esso non funziona su P8.
Beh, io veramente ho provato a vedere se l'app sarebbe resuscitata una volta chiusa direttamente usando le impostazioni, non mettendola in standby e "aspettando" che sia il S.O. a chiuderla (anche se dovrebbe essere la stessa cosa).

Erel effettivamente dice che dovrebbe proprio essere il S.O., ricevuto il messaggio da Firebase, a lanciare l'app; tu mi pare che confermi che questo avviene su altri dispositivi ma a me non funziona; probabilmente perché gli altri due dispositivi che ho sono entrambi Android 4xx, magari serve almeno la 5.
 

LucaMs

Expert
Licensed User
Longtime User
Sto leggendo (un po' velocemente, scorrendo) la documentazione Firebase riguardo a FCM e, almeno finora, non ho letto da nessuna parte (errore: due negazioni affermano, quindi si dovrebbe scrivere: "non ho letto in alcuna parte", ma... "fa senso" :p) che un messaggio FCM sia in grado di avviare un'app. Si parla solo di app in foreground o background (che è molto diverso, ovviamente).

Sicuro che a te, @nicolino33, la cosa funzioni, ovvero che un messaggio avvii davvero un'app che sia stata "completamente chiusa"?

Ricordo (vagamente) che hai citato ad esempio Whatsapp (ed io Zynga Poker); c'è un modo per scovare se per caso queste due app abbiano invece un servizio che si avvii al boot e resti attivo (sempre e comunque) e poi ricevano in questo un messaggio da notificare?
 

nicolino33

Active Member
Licensed User
Longtime User
No non ho detto che la push può resuscitare l'app, anzi ho detto proprio il contrario, ovvero che tentando di far partire un servizio alla ricezione della push accade che parte ma viene subito interrotto dal telefono, e questo sia sul P8 che su gli altri.

La ricezione della PUSH è delegata alla sub presente nel servizio FirebaseMessaging che si trova nella tua app, per cui ci si aspetterebbe che questo servizio sia in grado di attivarne altri della stessa app e di far partire anche la stessa app con ad esempio un startactivity, ma questo non accade, il FirebaseMessaging diventa proprio un servizio a se dove al suo interno puoi fare tutto ciò che vuoi alla ricezione della PUSH, ma resta una cosa a se. Quando il FirebaseMessaging riceve la push, la sub al suo interno attiva una notifica, ma li dentro si può fare quello che si vuole, non è detto che si debba solo far apparire una notifica. Se aggiungo altre sub all'interno del FirebaseMessaging e le chiamo quando ricevo la PUSH funzionano…. Io ho lasciato la notifica perché quando l'utente ci clicca sopra parte l'app (nel manifest ho delegato la main alla ricezione di intenti di questo tipo).
 

LucaMs

Expert
Licensed User
Longtime User
No non ho detto che la push può resuscitare l'app,
Ecco, io invece avevo capito che questa cosa a te funzionasse tranne che sul P8. Anche perché, 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). Se fosse come dice Erel, dovrebbe essere coinvolta una parte "speciale" del S.O., che dovrebbe essere citata da qualche parte nella documentazione FCM ma ancora non riesco a trovarla.

La ricezione della PUSH è delegata alla sub presente nel servizio FirebaseMessaging che si trova nella tua app, per cui ci si aspetterebbe che questo servizio sia in grado di attivarne altri della stessa app e di far partire anche la stessa app con ad esempio un startactivity
e qui, forse per imprecisione, ripeti "far partire anche la stessa app". Un conto è "portare un'activity in foreground, un altro è far partire, avviare un'app.
Comunque, io penso che, avendo l'app in background, quando FirebaseMessaging riceva un messaggio, debba poter avviare sia un'activity della tua app, sia una servizio della tua app.

Cosa funziona sugli altri tuoi dispositivi ma non sul P8, allora?
 
Top