FCM,通知类型的邮件,如何像Gmail一样分组?

时间:2017-11-09 08:22:34

标签: android firebase-cloud-messaging android-notifications

当多封邮件逐一到达时,Gmail会对它们进行分组,并在通知区域只显示一条通知消息。我想做同样的事情。我搜索了Google,发现我需要设置tag,但设置相同的tag只是替换了前一个,而不是将多条消息显示为Gmail。

我是否应该使用通知类型,但仅使用数据类型并自行处理通知?如果是这样,这应该是很多人都在做的事情。是否有一个我可以开始的示例项目?

另外,如果我能以某种方式使用通知类型进行分组,它会将数据作为Intent附加功能提供。如果通知将多个项目显示为Gmail,它如何将多个数据传递给我的活动?

{
  "to": "/topics/that",
  "notification": {
    "title": "Title 686",
    "body": "My body",
    "tag": "xxx"
  },
  "data": {
    "title": "Title 686",
    "body": "My body",
  }
}

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以将收件箱样式与通知构建器

一起使用
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);

        NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context)
                .setSmallIcon(R.drawable.ic_glyph)
                .setContentTitle(title)
                .setColor(context.getResources().getColor(R.color.colorPrimary))
                .setContentText(contentText);

            NotificationCompat.InboxStyle inboxStyle = new NotificationCompat.InboxStyle();

            for (int i = 1; i < 11; i++) {
                inboxStyle.addLine(("Message " + i);
            }
            inboxStyle.setBigContentTitle(title);
            mBuilder.setStyle(inboxStyle);