Autore Topic: Problema Notifiche FCM  (Letto 275 volte)

Offline lillogoal

  • Utente normale
  • ***
  • Post: 167
  • Respect: +4
    • Google+
    • lillosogliani
    • Mostra profilo
    • LilloNet
  • Dispositivo Android:
    Galaxy s3, Nexus 7,galaxy s advance,galaxy scl
  • Play Store ID:
    Lillonet Inc.
  • Sistema operativo:
    Windows 8,7 & Kali-Linux
Problema Notifiche FCM
« il: 19 Settembre 2016, 16:19:56 CEST »
0
Buonasera a tutti,
allora ho un problema con fcm e le notifiche push in particolare Heads-up e Lockscreen.
Vi elenco per casi:

1° caso

App aperta arriva la notifica con heads-up OK

2° caso

App chiusa e utente su whatsapp o altra app arriva l'heads-up. OK

3° caso

Blocco il device e mi arriva una push entro pochi secondi ---> arriva correttamente nella lockscreen. OK

4° caso

Ho il device bloccato da un po' di tempo non mi arrivano le push fino a quando non sblocco e poi compare l'heads-up. NON VA


Quindi il caso che dobbiamo tenere conto è il 4° dove proprio non c'è stata nessuna possibilità di metterci una pezza. Ho provato di tutto ma per il momento niente.

Avete idee ? App che si comportano nel modo giusto? Quindi heads-up e notifiche in lockscreen dopo tanto tempo che il device è bloccato. (Whatsapp forse) però probabilmente non usano firebase quindi il problema è firebase (PUO' ESSERE?).


Codice (Java): [Seleziona]
KeyguardManager myKM = (KeyguardManager) this.getSystemService(Context.KEYGUARD_SERVICE);
        if( myKM.inKeyguardRestrictedInputMode()) {
            Log.e("ISLOCKED","YES");
            if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) {

                notificationBuilder = new NotificationCompat.Builder(this)
                        .setSmallIcon(R.drawable.ic_icon_notifications)
                        .setContentTitle(title)
                        .setStyle(new NotificationCompat.BigTextStyle().bigText(messageBody))
                        .setContentText(messageBody)
                        .setAutoCancel(true)
                        .setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
                        .setVibrate(new long[]{100,50,100,50,100})
                        .setSound(defaultSoundUri)
                        .setContentIntent(pendingIntent);
            }else{
                notificationBuilder = new NotificationCompat.Builder(this)
                        .setSmallIcon(R.drawable.ic_icon_notifications)
                        .setContentTitle(title)
                        .setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
                        .setVibrate(new long[]{100,50,100,50,100})
                        .setStyle(new NotificationCompat.BigTextStyle().bigText(messageBody))
                        .setContentText(messageBody)
                        .setAutoCancel(true)
                        .setSound(defaultSoundUri)
                        .setContentIntent(pendingIntent);
            }
            //it is locked
        } else {
            Log.e("ISLOCKED","NO");

            //it is not locked

            if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) {

                notificationBuilder = new NotificationCompat.Builder(this)
                        .setSmallIcon(R.drawable.ic_icon_notifications)
                        .setContentTitle(title)
                        .setStyle(new NotificationCompat.BigTextStyle().bigText(messageBody))
                        .setContentText(messageBody)
                        .setAutoCancel(true)
                        .setPriority(Notification.PRIORITY_HIGH)
                        .setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
                        .setVibrate(new long[]{100,50,100,50,100})
                        .setSound(defaultSoundUri)
                        .setContentIntent(pendingIntent);
            }else{
                notificationBuilder = new NotificationCompat.Builder(this)
                        .setSmallIcon(R.drawable.ic_icon_notifications)
                        .setContentTitle(title)
                        .setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
                        .setVibrate(new long[]{100,50,100,50,100})
                        .setStyle(new NotificationCompat.BigTextStyle().bigText(messageBody))
                        .setContentText(messageBody)
                        .setAutoCancel(true)
                        .setSound(defaultSoundUri)
                        .setContentIntent(pendingIntent);
            }

        }
« Ultima modifica: 19 Settembre 2016, 16:28:03 CEST da lillogoal, Reason: inserito il codice »
Chi non progetta la sicurezza , programma il fallimento! K.M

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3487
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Problema Notifiche FCM
« Risposta #1 il: 19 Settembre 2016, 21:09:08 CEST »
0
Stai testando su un device con Android Marshmallow o Nougat? In questi casi potrebbe essere per via di Doze.

https://firebase.google.com/docs/cloud-messaging/concept-options#setting-the-priority-of-a-message

Offline lillogoal

  • Utente normale
  • ***
  • Post: 167
  • Respect: +4
    • Google+
    • lillosogliani
    • Mostra profilo
    • LilloNet
  • Dispositivo Android:
    Galaxy s3, Nexus 7,galaxy s advance,galaxy scl
  • Play Store ID:
    Lillonet Inc.
  • Sistema operativo:
    Windows 8,7 & Kali-Linux
Re:Problema Notifiche FCM
« Risposta #2 il: 19 Settembre 2016, 21:27:27 CEST »
0
Nougat ma non penso sia per doze cosa mi consigli ?
Cmq grazie per la risposta

Post unito: 19 Settembre 2016, 22:02:21 CEST
Ho testato ora su NEXUS 6P con android 6.0.1 e niente non funziona come voglio io.
« Ultima modifica: 19 Settembre 2016, 22:02:21 CEST da lillogoal, Reason: Merged DoublePost »
Chi non progetta la sicurezza , programma il fallimento! K.M

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3487
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Problema Notifiche FCM
« Risposta #3 il: 20 Settembre 2016, 08:59:29 CEST »
0
Anche con Android 6.0 c'è il discorso Doze. Hai per caso provato cambiando la priorità delle notifiche che mandi con FCM (vedi paragrafo che ti ho linkato sopra).

Offline lillogoal

  • Utente normale
  • ***
  • Post: 167
  • Respect: +4
    • Google+
    • lillosogliani
    • Mostra profilo
    • LilloNet
  • Dispositivo Android:
    Galaxy s3, Nexus 7,galaxy s advance,galaxy scl
  • Play Store ID:
    Lillonet Inc.
  • Sistema operativo:
    Windows 8,7 & Kali-Linux
Re:Problema Notifiche FCM
« Risposta #4 il: 20 Settembre 2016, 09:02:37 CEST »
0
Ah ecco. Cmq si avevo messo high e poi non avevo messo niente da FCM.
Ho letto una cosa nel link che mi hai girato, parlava dell'attributo "collapse-key" per quanto riguarda l'invio delle push tramite una post.

Citazione
Non-collapsible   Every message is important to the client app and needs to be delivered.   Except for notification messages, all messages are non-collapsible by default.

Io mi sa che per ora avevo il collpase-key = "demo" o una roba simile dici che togliendolo cambierà qualcosa ?

Post unito: 20 Settembre 2016, 09:53:59 CEST
Provato a toglierlo ma niente.
« Ultima modifica: 20 Settembre 2016, 09:53:59 CEST da lillogoal, Reason: Merged DoublePost »
Chi non progetta la sicurezza , programma il fallimento! K.M