web-dev-qa-db-fra.com

La notification push ne fonctionne pas sur Android 7.0 (FCM) avec release-apk

Mon application Android est en direct sur le magasin et sa notification Push a cessé de fonctionner soudainement sous> 7.0 OS Android. 

Les dépendances: 

'com.google.firebase:firebase-core:10.2.0'    
'com.google.firebase:firebase-messaging:10.2.0'

Code constructeur:

NOTIFICATION MANAGER: 

   public void createNotificationManager(){
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {

            notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
            String id = "projectname";
            // The user-visible name of the channel.
            CharSequence name = "projectname";
            // The user-visible description of the channel.
            int importance = NotificationManager.IMPORTANCE_MAX;
            NotificationChannel mChannel = new NotificationChannel(id, name, importance);
            // Configure the notification channel.
            mChannel.enableLights(true);
            mChannel.setLightColor(Color.RED);
            notificationManager.createNotificationChannel(mChannel);

        }else{
            notificationManager =
                    (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
        }
    }

NOTIFICATION BUILDER: 

                NotificationCompat.Builder notificationBuilder = new
                        NotificationCompat.Builder(this);
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Lollipop) {
                    notificationBuilder.setSmallIcon(R.drawable.ic_launcher_transparent);
                } else {
                    notificationBuilder.setSmallIcon(R.mipmap.ic_launcher);
                }
                notificationBuilder
                        .setContentTitle("Projectname")
                        .setStyle(new NotificationCompat.BigTextStyle()
                                .bigText(intent.getStringExtra("gcm.notification.body")))
                        .setContentText(intent.getStringExtra("gcm.notification.body"))
                        .setAutoCancel(true).setDefaults(Notification.DEFAULT_SOUND).setSound(soundUri)
                        .setContentIntent(pendingIntent).setVisibility(NotificationCompat.VISIBILITY_PUBLIC);

createNotificationManager();
notificationManager.notify(id, notificationBuilder.build());

Dans debug apk cela fonctionne, j'ai vérifié, mais avec la production (release_apk), il ne montre pas de notification. 

S'il vous plaît aider dans cela.

3
Parvindra Singh

D'après le code, il est évident que la NotificationChannel que vous avez créée n'est pas passée dans le NotificationCompat.Builder et que vous êtes donc confronté à ce problème. Vous pouvez en apprendre davantage à ce sujet dans les docs ici _. _ { Here } est un exemple de la notification donnée par Google. Si vous voulez en savoir plus à ce sujet, reportez-vous à la docs

0
war_Hero

Essayez de remplacer:

'com.google.firebase:firebase-core:10.2.0'    
'com.google.firebase:firebase-messaging:10.2.0'

Avec la dernière mise à jour (basée sur cette url ):

implementation 'com.google.firebase:firebase-core:16.0.0'
implementation 'com.google.firebase:firebase-messaging:17.0.0'

Assurez-vous également que vous utilisez les services de Google Play dans la dernière version:

classpath 'com.google.gms:google-services:4.0.1'
0

Assurez-vous que vous avez ajouté le SHA1 de votre certificat de version dans la page Paramètres du projet/Général de votre projet Firebase.

Pour chaque application, vous pouvez ajouter plusieurs SHA1 et vous devez inclure vos certificats de débogage et de libération.

0
CodeChimp