Push-уведомление не работает на Android 7.0 (FCM) с release-apk - PullRequest
0 голосов
/ 31 мая 2018

Мое приложение для Android работает в магазине, и его push-уведомление перестало работать внезапно на> 7.0 Android OS.

Зависимости:

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

Код создателя уведомлений:

МЕНЕДЖЕР УВЕДОМЛЕНИЙ:

   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);
        }
    }

СТРОИТЕЛЬ УВЕДОМЛЕНИЙ:

                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());

В отладочном apk это работает, я проверил, но с производством (release_apk) это не показывает уведомление.

Пожалуйста, помогите в этом.

Ответы [ 3 ]

0 голосов
/ 31 мая 2018

Попробуйте заменить:

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

С последним обновлением (на основе этот URL ):

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

И убедитесь, что вы используете Google Playуслуги в последней версии тоже:

classpath 'com.google.gms:google-services:4.0.1'
0 голосов
/ 08 июня 2018

Из кода видно, что NotificationChannel, который вы создали , не передается в NotificationCompat.Builder, поэтому вы столкнулись с этой проблемой, вы можете прочитать об этом в документации здесь . Здесь - пример уведомления от Google.Если вы хотите узнать больше об этом, обратитесь к документам .

0 голосов
/ 31 мая 2018

Убедитесь, что вы добавили SHA1 вашего сертификата выпуска на страницу «Параметры проекта / Общие» для вашего проекта Firebase.

Для каждого приложения вы можете добавить несколько SHA1, и вы должны включить оба своих сертификата отладки и выпуска..

...