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

dev*_*ewb 0 java firebase-cloud-messaging

我有一个 Ionic 应用程序和一个使用 Java 的 Mule ESB。当我从在线控制台发送推送通知时,我可以选择启用声音。我怎样才能在Java中实现这一点?

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

    Message message = Message.builder()
            .putData("title", title)
            .putData("body", body)
            .setTopic(topic)
            .build();
Run Code Online (Sandbox Code Playgroud)

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

为了添加声音我尝试过

.putData("sound", "default")
Run Code Online (Sandbox Code Playgroud)

以及一些类似的东西

.setApnsConfig(ApnsConfig.builder().setAps(Aps.builder().setSound("default").build()).build())
Run Code Online (Sandbox Code Playgroud)

.setApnsConfig(ApnsConfig.builder().setAps(Aps.builder().putCustomData("sound", "default").build()).build())
Run Code Online (Sandbox Code Playgroud)

两者都没有任何成功。如何实现与 Java 中的控制台相同的声音选项?

dev*_*ewb 6

也许其他人可能会遇到同样的问题,而不是删除。

所以我正在遵循一个教程,但显然它已被弃用。因此,当阅读文档时,我发现我必须做什么。

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

Notification notification = Notification.builder()
    .setTitle("your title or variable")
    .setBody("your body or variable")
    .build();
Run Code Online (Sandbox Code Playgroud)

这会进入你的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();
Run Code Online (Sandbox Code Playgroud)