为了更好地服务开发者,此次我们针对个推消息推送iOS版使用中可能出现的一些常见问题做了整理,提供了一些比较方便掌握的解决方法,希望能帮助到大家。
iOS推送流程是什么样的?
iOS下发的消息分两部分:一部分是通过APN的通知栏消息;另一部分通过个推通道的透传消息。这两部分是服务端推送代码里面由APP开发者自己设定的,分别是两种不同的方法:1)如果消息下发的时候,客户端是在后台、锁屏、或者APP被杀掉(也就是客户端是离线)的状态,将会收到APN的通知,透传消息就会处于离线状态,此时只有下次在线的时候(也就是下次应用到前台的时候)才会下发;2)如果下发的时候应用在前台的,就直接走个推通道下发透传消息,客户端自定义处理透传展示。
iOS 客户端推送收不到APN通知栏提醒怎么办?
首先,请您检查一下客户端是否有获取到devicetoken,如果获取不到,检查客户端iOS 的APN注册是否成功,证书打包是否正确;如果获取到了,用当前客户端获取的devicetoken 去平台上传证书的地方进行测试,查看返回成功还是无效。如果返回无效,请排查客户端环境与上传的证书环境,builderID 是否一致;如果返回成功,则需要卸载重装客户端,然后打开应用到前台,保持CID在线,再退到后台推送测试。
iOS自定义通知铃声如何设置?
把制作好的铃声添加到项目的main bundle中后,在项目设置中 Build Phases–Copy Bundle Resources 中添加您添加的声音文件(铃声文件不能超过30s),服务端APN设置的sound设置成您的铃声文件名。
iOS客户端角标如何自增自减?
开发者可以调用:application.applicationIconBadgeNumber获取到角标数;然后通过 [application setApplicationIconBadgeNumber:]设置当前的角标;通过个推[GeTuiSdk setBadge:]将角标同步给个推服务器;服务端透传消息模板,通过APNPayload类的setAutoBadge方法设置"+1"、"-1"、"1"等,实现角标的自动增减。
如何解决iOS创建的本地消息,不显示标题,只有内容的问题?
在透传模板APNPayload.DictionaryAlertMsg高级字典模式中加上Title。
为什么iOS进入后台后收不到推送?(代码APNs已经配置)
首先根据客户端devicetoken测试,判断环境是否一致,如果能收到测试消息,说明环境一致,接着需要排查下发日志,可以提供下发信息给到技术支持进行排查。
为什么APN统计数据没有展示、点击数?
Apple在iOS 10中新增了Notification Service Extension机制,在集成个推消息推送SDK时,可以添加Notification Service Extension,并在Extensions中添加 GtExtensionSdk 的统计接口,实现消息展示回执统计功能。
iOS透传消息推送过程中,在APP没有启动的情况下发送透传消息(未经APNs),用户启动APP后,可以通过GeTuiSdkDidReceivePayloadData获取消息吗?
只要用户在消息有效离线时间内启动APP,就可以获取。
iOS集成时,GTExtensionSDK.framework是否必须,可以不集成SDK吗?
个推支持 iOS 10 多媒体推送和APNs的展示、点击数统计,不集成对推送没有影响。
iOS自定义参数消息如何设置?
首先,服务端设置APN代码时通过addCustomMsg参数,参照php的代码 ,添加APN自定义参数。然后,当客户端收到APN通知栏提醒并点击会触发客户端didreceiveremotenotification方法,获取payload参数数据,获取到之后便可以自己解析处理跳转。
iOS开发环境推送是否有限制?
有限制,开发环境下离线走苹果APNs通道推送1000条。
苹果手机播放音频时,从后台进入前台,音频被中断怎么解决?出现报错:[avas] AVAudioSession.mm:1177:-[AVAudioSession setActive:withOptions:error:]: Deactivating an audio session that has running I/O. All I/O should be stopped or paused prior to deactivating the audio session.
可以通过设置客户端API方法runBackgroundEnable的参数来处理。runBackgroundEnable表示是否允许SDK后台运行(YES=允许,NO=拒绝),请将参数设为NO。
个推技术团队始终专注于为开发者提供更好的服务,并不断追求技术创新,而开发者们在实践中提供的各类技术反馈和支持也成为我们消息推送产品优化升级的重要推动力。