如何启用声音进行推送通知(FCM)?

时间:2020-03-18 11:29:31

标签: java firebase-cloud-messaging

我有一个Ionic应用程序和一个使用Java的Mule ESB。从在线控制台发送推送通知时,我可以选择启用声音。如何用Java实现呢?

我目前使用它来定义我的推送消息:

    Message message = Message.builder()
            .putData("title", title)
            .putData("body", body)
            .setTopic(topic)
            .build();

这是正常工作,发送没有任何声音的通知。标题和正文是我正在使用的两个变量。

要添加我尝试做的声音

.putData("sound", "default")

以及类似的行

.setApnsConfig(ApnsConfig.builder().setAps(Aps.builder().setSound("default").build()).build())

以及

.setApnsConfig(ApnsConfig.builder().setAps(Aps.builder().putCustomData("sound", "default").build()).build())

两者均未成功。如何获得与Java内的控制台相同的声音选项?

1 个答案:

答案 0 :(得分:2)

代替删除,也许其他人可能也会遇到相同的问题。

所以我正在关注一个教程,但是显然它已被弃用。因此,在阅读文档时,我发现了必须要做的事情。

要创建通知,您必须执行以下操作:

Notification notification = Notification.builder()
    .setTitle("your title or variable")
    .setBody("your body or variable")
    .build();

这进入您的message。要同时为Android和iOS添加声音,您还必须添加以下内容:

// for iOS
Aps aps = Aps.builder()
    .setSound("default")
    .build();

ApnsConfig apnsConfig = ApnsConfig.builder()
            .setAps(aps)
            .build();

// for Android  
AndroidNotification androidNofi = AndroidNotification.builder()
        .setSound("default")
        .build();

AndroidConfig androidConfig = AndroidConfig.builder()
        .setNotification(androidNofi)
        .build();

// Building the complete message to send out
Message message = Message.builder()
        .setNotification(notification)
        .setApnsConfig(apnsConfig)
        .setAndroidConfig(androidConfig)                
        .putData("page", page)
        .setTopic(topic)
        .build();