Firebase 通知包含标题和消息

Firebase Notification contains both Title and Message

我正在使用 this 教程发送 push notification 使用 Firebase

如何在通知栏中同时显示 Title and Messageenter code here(我仍然得到 message作为通知栏中的*Title*内容)…

如您在this screenshot中所见(正因如此,我unabledeliver完成*message along with Title*给用户,因为在Notification栏标题有限制 maximum 1 line)

我正在使用 Advanced Rest Client (Messaging API) 发送这样的通知:

https://fcm.googleapis.com/fcm/send
Content-Type:application/json
Authorization:key=AIza************adrTY

{ "data": {
    "image": "https://ibin.co/2t1lLdpfS06F.png",
    "message": "Firebase Push Message Using API"
    "AnotherActivity": "True"
  },
  "to" : "f25gYF3***********************HLI"
}

代码

/**
     * Create and show a simple notification containing the received FCM message.
     */

    private void sendNotification(String messageBody, Bitmap image, String TrueOrFalse) {
        Intent intent = new Intent(this, MainActivity.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        intent.putExtra("AnotherActivity", TrueOrFalse);
        PendingIntent pendingIntent = PendingIntent.getActivity(this, 0 /* Request code */, intent,
                PendingIntent.FLAG_ONE_SHOT);

        Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
        NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
                .setLargeIcon(image)/*Notification icon image*/
                .setSmallIcon(R.drawable.firebase_icon)
                .setContentTitle(messageBody)
                .setStyle(new NotificationCompat.BigPictureStyle()
                        .bigPicture(image))/*Notification with Image*/
                .setAutoCancel(true)
                .setSound(defaultSoundUri)
                .setContentIntent(pendingIntent);

        NotificationManager notificationManager =
                (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

        notificationManager.notify(0 /* ID of notification */, notificationBuilder.build());
    }

使用

setContentTitle("title")设置通知的标题

setContentText("text")设置文字。

A example from Android Developers:

NotificationCompat.Builder mBuilder =
    new NotificationCompat.Builder(this)
    .setSmallIcon(R.drawable.notification_icon)
    .setContentTitle("My notification")
    .setContentText("Hello World!");

在您的情况下,您必须将代码更改为:

NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
                .setLargeIcon(image)
                .setSmallIcon(R.drawable.firebase_icon)
                .setStyle(new NotificationCompat.BigPictureStyle()
                        .bigPicture(image))/*Notification with Image*/
                .setAutoCancel(true)
                .setSound(defaultSoundUri)
                .setContentIntent(pendingIntent)
                .setContentTitle(messageTitle) // here
                .setContentText(messageBody);  // and here

如果您想支持新的 Android O 通知

,我建议您也花一些时间学习 NotificationChannel

NotificationChannel example