代码之家  ›  专栏  ›  技术社区  ›  kkesley

带有用户头像的FCM推送通知

  •  0
  • kkesley  · 技术社区  · 7 年前

    我正在尝试创建一个推送通知,比如whatsApp或Gmail,其中用户的头像出现在通知中。有没有办法在react native中实现这一点,尤其是使用expo?

    这是我的fcm有效载荷

    {
    "GCM": "{ \"notification\": { \"title\": \"Sender1\" }, \"text\": \"test message\" } }"
    }
    

    这是我从谷歌那里得到的一个例子,我想实现它。

    enter image description here

    0 回复  |  直到 7 年前
        1
  •  0
  •   Jasper Martin    7 年前

    答复(来源): How to set the app icon as the notification icon in the notification drawer 按用户 @manikanta

    NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(context)
                    .setSmallIcon(R.mipmap.ic_launcher)
                    .setLargeIcon(BitmapFactory.decodeResource(context.getResources(),
                            R.mipmap.ic_launcher))
                    .setContentTitle(title)
                    .setContentText(message)
                    .setAutoCancel(true)
                    .setSound(defaultSoundUri)
                    .setContentIntent(pendingIntent);
    
    android.app.NotificationManager notificationManager =
                    (android.app.NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
    
    notificationManager.notify(0 /* ID of notification */, notificationBuilder.build());
    

    设置大图标就可以了。如果您有任何进一步的信息,请在下面发表评论

    如果您使用的是React-Native(React-Native firebase):

    const notif = new firebase.notifications.Notification({                                                                                                             
        show_in_foreground: true,                                                                                                                                                   
    })
        .android.setSmallIcon('@mipmap/ic_notification') // app icon
    
    // source image might be:
    // URL
    // android resource e.g. @mipmap/ic_launcher
    let source_image = "";
    notif.android.setLargeIcon(source_image) // user avatar
    

    资料来源: https://rnfirebase.io/docs/v5.x.x/notifications/reference/AndroidNotification#setLargeIcon

    推荐文章