解决极光推送IOS接收到推送消息后无声音及震动问题
解决极光推送IOS接收到推送消息后无声音及震动问题
海军战士 发表于1年前
解决极光推送IOS接收到推送消息后无声音及震动问题
  • 发表于 1年前
  • 阅读 1375
  • 收藏 0
  • 点赞 0
  • 评论 0

移动开发云端新模式探索实践 >>>   

1.问题:IOS推送没有声音和震动提示

在生产环境中用户接收到消息推送后没有声音和震动提醒,用户手机在设置中对我们app应用通知栏是开启了声音及震动设置的

之前发送消息推送的写法是

getJPushClient().sendIosNotificationWithRegistrationID(msgContent, null, registrationID);

发送成功后在极光后台选择api过滤,然后查看推送详情

2.通过极光的web后台直接推送给该regId,可以接收到声音和震动

3.解决方法

通过构建推送对象,然后设置相应的参数来解决

//向IOS平台推送消息	 JpushHelper.getJPushClient().sendPush(JpushHelper.buildPushObject_ios_audienceMore_regId(registrationID, msgContent));


   /**
     * 构建推送对象:平台是 Andorid 与 iOS,按照registrationId推送
     * 		推送内容是 - 内容为 msgContent 的消息,并且附加字段 from = JPush。
     * 作者:温海金
     * 最后更改时间 : 2017年2月20日 下午4:20:46
     */
    public static PushPayload buildPushObject_ios_audienceMore_regId(String registrationId,String msgContent) {
        return PushPayload.newBuilder()
                .setPlatform(Platform.ios())
                .setAudience(Audience.registrationId(registrationId))
                
                .setNotification(Notification.newBuilder()
                        .addPlatformNotification(IosNotification.newBuilder()
                                .setAlert(msgContent)
                                .setBadge(5)
                                .setSound("default")//这一步是关键,设置默认声音,这样就会使用手机本身的设置
                                .addExtra("from", "Jpush")
                                .build())
                        .build())
                .build();
    }

修改完成后,推送IOS可以得到声音及震动提醒

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 20
博文 112
码字总数 122676
×
海军战士
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: