工信部统一 Android 消息推送标准

目录

一、介绍

二、推送技术发展

1、轮询方式

2、SMS短信推送方式

3、长连接推送方式

三、统一推送

四、作用

五、具体时间表


一、介绍

统一推送联盟成立于2017年10月,挂靠单位是电信终端产业协会(TAF),接受工业和信息化部业务指导,住所设在北京。联盟核心任务是:探索推送行业创新,促进终端生产厂商、应用开发厂商和第三方服务提供商等进行深入合作,整合行业资源,助推形成统一的推送体系,创造绿色环境,减少与终端用户的利益冲突,提升整体行业形象,降低整体行业的实现成本,形成自律基础上的产业链协同发展,实现产业的共同繁荣。

  统一推送联盟是在自愿、平等、互利、合作的基础上,由国内外消息推送产业相关的企、事业单位、社团组织、高等院校、科研院所等自愿结成的跨行业、开放性、非营利性的社会组织。本联盟旨在促进相关主体之间的交流和深度合作,促进供需对接和知识共享,形成优势互补,有效推进消息推送产业的发展,切实解决产业现实问题。

 

二、推送技术发展

“推送”这一概念在1996年由PointCast 网络公司提出,旨在为用户提供更准确、更实时的消息推送。Google公司在2009年开发了C2DM(Cloud toDevice Messaging)推送技术以供Android平台的应用提供方进行消息推送。而后,苹果公司推出了APNS(Apple Push Notification service)推送技术,统一了IOS平台的推送业务。伴随着推送技术的发展,推送技术主要经历3个阶段,从轮询方式、SMS短信推送方式逐渐发展到长连接推送方式。

1、轮询方式

轮询是由客户端主动发起请求的推送方式。客户端通过与服务器的网络连接,以定时任务的方式询问服务器端是否有新的推送消息。这种方式的效率取决于请求频率的设计,如果请求频率过高,会消耗较多的资源;而若请求频率较低,则消息的延时较高,实时性得不到保证。

2、SMS短信推送方式

短信方式通过运营商的短信通道将消息发往客户设备。通过编码可以保证消息的保密性,应用再利用手机系统的短信拦截功能,获取推送消息,反向解码后推送给用户。短信方式的由于通过运营商渠道,推送的稳定性得以保障。但同时,由于要向运营商按推送量进行付费,因此成本较高,通常作为补充手段应用。

3、长连接推送方式

长连接推送方式是最为通用也是受到研究最多的推送方式。不同于“轮询”的消息传递方式,服务方通过保持与客户端的长连接,掌握了消息推送的主动权。客户端按一定频率向客户端发送一个心跳以保持长连接,当消息推送时直接通过长连接发送消息。长连接的推送方式,保证了消息推送的实时性。相比于“轮询”方式,长连接推送节省了客户端电量、流量等资源消耗。当然,当大量设备与服务器保持长连接时,服务器端的压力陡增,必须优化服务器以保持高并发下的良好性能。苹果公司的APNS推送方式、Google的C2DM推送方式以及基于MQTT协议或XMPP协议的推送都是基于长连接的方式进行消息的推送。

 

三、统一推送

由于一些特殊的原因,在国内的用户无法享受到谷歌安卓系统提供的 GMS 消息推送服务,不少国产安卓软件接收消息依靠后台服务存在,也由此出现了用户反映的耗电以及占用内存问题,不过未来这一问题有望得到全面解决。

工信部旗下泰尔终端实验室发布消息称,各个终端厂商的系统级推送通道不可避免的存在差异性,因此,开发者同时接入、维护多条推送通道存在着一定的困难。在此背景下,泰尔终端实验室联合包括华为、OPPO、vivo、小米、三星、魅族、金立、努比亚、谷歌、百度、阿里巴巴、腾讯、个推、极光等国外内主要相关企业共同制定安卓统一推送服务(Unified Push Service,简称UPS)技术标准,旨在为国内的消息推送服务建立统一的标准,为终端用户提供更好的手机使用体验,为应用开发者更好解决消息推送需求,并取得了阶段性成果。

 

四、作用

“统一推送的标准”,对于消息推送会增强管理。例如,通过推送消息的相互拉起明确不被允许,利用透传消息拉起App的行为也被禁止。同时,为了保证用户体验,原则上也不支持推送消息的定制化(包括消息样式的定制化以及提示音的个性化,通知栏图标不允许使用外链),保证消息推送的公平性和用户界面的一致性。

 

五、具体时间表

201931日,联盟开始统一推送标准符合性测试。

20191231日,现有各推送通道兼容统一推送标准。

 


 

<think>嗯,用户问的是uniapp上架问题的面试回答方法。首先,我需要回忆一下uniapp的相关知识,尤其是上架过程中可能遇到的常见问题。比如,不同平台的兼容性处理,比如小程序和App的区别,还有各个应用商店的要求。 用户可能想知道面试时会被问到哪些具体问题,以及应该如何回答。比如,如何处理不同平台的上架规范,或者资源加载的问题。这时候需要分点整理,可能包括平台差异、性能优化、审核被拒的情况、资源路径、第三方插件、启动图配置、隐私政策等。 然后,要考虑回答的结构是否清晰,是否需要步骤化或者分点。可能面试官希望候选人不仅知道问题,还能提供解决方案。例如,遇到审核被拒,应该查看日志,检查权限声明,或者资源是否符合规范。 另外,要确保提到的点都是实际开发中常见的,比如Android和iOS的上架流程差异,比如iOS的证书配置,Android的包名和签名。还有隐私政策弹窗的必要性,现在应用商店对这方面要求严格,必须正确处理。 可能还需要提到一些工具或方法,比如使用HBuilderX的发行功能,云打包和离线打包的区别。还有调试技巧,比如真机测试,使用自定义基座。这些都是实际经验,能体现候选人的实战能力。 还要注意LaTeX的使用,但用户的问题可能不涉及数学公式,所以这部分可能用不上。但需要确保回答的中文流畅,结构清晰,分点明确,方便面试时表达。 最后,检查是否有遗漏的重要点,比如热更新机制,如何处理,或者版本更新的提示。这些也是上架后可能遇到的问题。总之,要覆盖主要平台(微信小程序、App Store、安卓商店),常见问题及解决方法,展示全面的理解和解决问题的能力。</think>以下是在面试中回答uniapp上架问题的结构化思路及示例答案,按常见问题分类整理: --- ### 一、平台差异处理 **面试问题**: "如何处理不同平台(iOS/Android/小程序)的上架规范差异?" **回答模板**: 1. **代码兼容** - 使用`条件编译`区分平台逻辑 ```javascript // #ifdef APP-PLUS // App端特有API调用(如推送、震动) // #endif ``` 2. **配置差异** - iOS需配置隐私政策弹窗、ATS安全协议 - Android需注意`targetSdkVersion`适配(通常≥30) - 小程序需压缩代码包(微信限制2MB) 3. **资源规范** - iOS图标需@2x/@3x多尺寸 - 安卓需不同DPI的启动图 --- ### 二、性能优化关键点 **面试问题**: "如何优化uniapp应用的启动速度?" **回答模板**: 1. **分包加载** ```json // manifest.json "optimization": { "subPackages": true } ``` 2. **资源压缩** - 使用`tinypng`压缩图片 - 开启`代码压缩`(HBuilderX构建选项) 3. **预加载策略** - 首页数据预请求 - 使用`uni.preloadPage`预加载高频页面 --- ### 三、审核被拒应对方案 **高频问题场景**: 1. **iOS隐私政策问题** - 必须配置隐私协议弹窗(App启动时弹出) - 使用`uni.getSystemInfo`获取设备信息前需声明用途 2. **Android权限声明** ```xml <!-- AndroidManifest.xml --> <uses-permission android:name="android.permission.CAMERA" /> ``` 3. **小程序内容合规** - 去除"测试数据"字样 - 敏感词过滤(使用`uni.requireNativePlugin`对接内容安全API) --- ### 四、资源路径问题 **典型问题**: "为什么本地图片在小程序显示正常,App端却无法加载?" **解决方案**: 1. 使用绝对路径:`/static/logo.png`(非`../static`) 2. 动态资源建议转base64: ```vue <image :src="'data:image/png;base64,' + imgData" /> ``` --- ### 五、第三方插件适配 **常见问题**: "如何保证第三方SDK在多平台正常使用?" **处理流程**: 1. 小程序端:通过`uni.requireNativePlugin`调用原生插件 2. App端: - Android需配置`build.gradle`依赖 - iOS需配置`Podfile`和`Info.plist` 3. 统一API封装: ```javascript export function share(content) { // #ifdef MP-WEIXIN wx.share(content) // #endif // #ifdef APP-PLUS uni.share(content) // #endif } ``` --- ### 六、启动图配置规范 **各平台要求**: | 平台 | 尺寸要求 | 格式 | |---------|--------------------------|--------| | iOS | 1242x2688 (@3x) | PNG | | Android | 1080x1920 (xxhdpi) | WebP | | 小程序 | 宽高比5:4(最大2MB) | JPG | --- ### 七、调试技巧 1. **真机调试** - iOS需信任开发者证书 - Android开启USB调试模式 2. **自定义基座** ```bash hbuilderx -> 运行 -> 制作自定义调试基座 ``` 3. **日志采集** ```javascript uni.getLogManager().log("关键节点日志"); ``` --- ### 回答策略总结 1. **问题定位**:先区分是平台限制(如iOS隐私)、框架特性(资源加载)还是代码问题 2. **举证经验**:结合具体项目案例说明(如:"我们项目上架华为商店时遇到...") 3. **工具使用**:强调熟悉HBuilderX调试工具、各应用商店后台操作 4. **规范意识**:突出对苹果审核指南、工信部64号文等合规要求的理解 实际面试中可结合项目经历,用STAR法则(情境-任务-行动-结果)组织回答,展现系统化解决问题能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值