我有一个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内的控制台相同的声音选项?
答案 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();