<dependency>
  <groupId>com.google.firebase</groupId>
  <artifactId>firebase-admin</artifactId>
  <version>6.4.0</version>
</dependency>
初始化firebase app
    @PostConstruct
    public void initFireBase() throws IOException {
        String path = this.getClass().getResource("/rr-hitube-firebase-adminsdk-ivopy-0743e9a8b3.json").getPath();
        FileInputStream serviceAccount = new FileInputStream(path);
        FirebaseOptions options = new FirebaseOptions.Builder()
                .setCredentials(GoogleCredentials.fromStream(serviceAccount))
//                .setDatabaseUrl("https://<DATABASE_NAME>.firebaseio.com/")
                .build();
        FirebaseApp.initializeApp(options);
    }
发消息,注意对于一条消息,格式上要兼容ios和android
public void pushMessage(ConsumerRecord<Long, String> consumerRecord) {
        try {
            PushMessageEvent pushMessageEvent = JSON.parseObject(consumerRecord.value(), PushMessageEvent.class);
            String topic = "";
            if (null != pushMessageEvent && null != pushMessageEvent.getUserId()) {
                topic = "9";
                ApsAlert apsAlert = ApsAlert.builder() //ios格式
                        .setTitle(pushMessageEvent.getTitle())
                        .setBody(pushMessageEvent.getContent())
                        .setLaunchImage(pushMessageEvent.getImage())
                        .build();
                AndroidNotification androidNotification = AndroidNotification.builder() //andorid格式
                        .setTitle(pushMessageEvent.getTitle())
                        .setBody(pushMessageEvent.getContent())
                        .setIcon(pushMessageEvent.getImage())
                        .build();
                Message message = Message.builder()
                        .setApnsConfig(ApnsConfig.builder()
                                .putHeader("apns-priority", "10")
                                .setAps(Aps.builder()
                                        .setAlert(apsAlert)
                                        .setBadge(1)
                                        .build())
                                .build())
                        .setAndroidConfig(AndroidConfig.builder().setNotification(androidNotification).build())
                        .putData("type",pushMessageEvent.getPushType().toString())
                        .setTopic(topic)
                        .build();
                String response = FirebaseMessaging.getInstance().send(message);
                System.out.println("Successfully sent message: " + response);
            }
        } catch (Exception e) {
            log.error("exception:", e);
        }
    }
这样就收到标准的消息了
、