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 中的控制台相同的声音选项?
也许其他人可能会遇到同样的问题,而不是删除。
所以我正在遵循一个教程,但显然它已被弃用。因此,当阅读文档时,我发现我必须做什么。
要创建通知,您必须执行以下操作:
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)