离线推送收不到,按照下面步骤一步一步进行排查:
创新互联建站2013年至今,公司自成立以来始终致力于为企业提供官网建设、移动互联网业务开发(微信小程序开发、手机网站建设、成都app开发等),并且包含互联网基础服务(域名、主机服务、企业邮箱、网络营销等)应用服务;以先进完善的建站体系及不断开拓创新的精神理念,帮助企业客户实现互联网业务,严格把控项目进度与质量监控加上过硬的技术实力获得客户的一致赞誉。
0、如果你的app之前可以收到离线推送,突然收不到了,那么先到苹果开发者中心查看推送证书是否过期。如果过期了,需要重新制作证书,然后到环信管理后台将旧的删掉再上传新的,证书名称不要变。过期的一般会被封禁,需要联系环信进行解封操作。
关于管理后台,这里详细讲解下:
如图,登录客服系统,来到 管理员模式--渠道管理--手机APP 页面:
如果手机APP里的【 直接登录IM关联后台 】按钮可点击,那这个app关联就是快速创建的,点击即可进入管理后台上传证书
如果手机APP里的【 直接登录IM关联后台 】按钮不可点击,那这个app关联就是手动关联的,要到IM的Console后台上传证书: Console后台
1、首先已经按照环信的文档集成了离线推送: 离线推送
2、如果是iOS13及以上的系统,那么需要将IM的SDK更新到3.6.4或以上版本。如果更新后还不行那么退出登录、重启app、再登录试下。
HelpDesk 是客服的SDK,Hyphenate 是IM的SDK。
//初始化sdk成功之后打印版本号:
NSString *kfver = [HDClient sharedClient].sdkVersion;
NSString *imver = [HDClient sharedClient].imSdkVersion;
3、测试APNs推送的时候,接收方的APP需要是杀死状态,需要用户长连接断开才会发APNs推送。
所以直接上划杀死APP测试。
4、要确保导出p12时使用的Mac和创建CertificateSigningRequest.certSigningRequest文件的Mac是同一台;导出证书的时候要直接点击导出,不要点击秘钥的内容导出;确认 APP ID 是否带有推送功能;
5、在管理后台上传证书时,选择的证书类型必须与推送证书的环境一致;导出.p12文件需要设置密码,并在上传管理后台时传入;
6、工程中初始化SDK那里填的证书名与环信管理后台上传的证书名称必须是相同的;
7、测试环境测试,需要使用development环境的推送证书,Xcode直接真机运行;
正式环境测试,需要使用production环境的推送证书,而且要打包,打包时选择Ad Hoc,导出IPA安装到手机上。
8、APP杀死后至环信管理后台对应的应用下查看登录的用户ID,确认证书名称是否有绑定(正常情况下,登录成功后会绑定上推送证书,绑定后会显示推送证书名称);还需要确认绑定的证书名称和管理后台上传的证书名称是否一致。
如果没绑定上,那么退出登录、重启app、重新登录再试下。
如果证书名称不一致,改正过来后重新登录试下。
9、如果以上都确认无误,可以联系环信排查。需提供以下信息(请勿遗漏,以免反复询问耽误时间):
appkey、devicetoken、bundle id、证书的.p12文件、证书名称、证书密码、收不到推送的环信id、测试的环境(development or production)、消息的内容和发送时间
会话存储是环信的一个赚钱的业务,不可能让你自己本地化的兄弟......想多了
环信的聊天功能是独立出来的,开发者可以直接集成环信的聊天UI,集成之后可以直接使用它的所有功能,语音,视频,表情,共享位置等,快的3天能集成,慢的一个星期左右
解决办法有三个,随便哪种都能解决:
1.升级涉及到的.a文件
2.在target的Build Settings里面,将Build Active Architecture Only改成YES (I choose this)
3.在target的Build Settings里面,找到Valid Architectures,删除其中的armv7s
所以还是觉得,如果是开源库,直接把源代码包含进项目比较靠谱。