为了提高用户体验,现在大多数的应用都会增加推送功能,目前主流的第三方推送有 个推、mi push、百度、Jpush、极光等,但是 推送的到达率却是不尽人意的 ,拿个推而言,服务器这边统计的结果是到达率仅有90%(仅做参考)。当然了还有官方的推送Google Cloud Messaging,可惜在国内然并卵,暂不做讨论。
推送到达率问题的解决是刻不容缓的 ,因为在目前互联网大用户量的场景下,10%的用户数还是相当大的。
我们知道,推送的技术原理主要是保持网络的长连接,在TCP长连接建立成功的基础上,推送不能如期到达的原因主要和网络状况有关,比如网络慢、丢包等等,这个是所有网络访问遇到的问题,不是导致推送到达率如此低的主要原因。
那么,其最主要原因是什么呢?显然是TCP长连接持续保持这个前提未能得到保证,也就是:
推送时,移动端未在线
现在我们找到了其原因所在,那么要解决这个问题,就要从两方面入手:
其实也就是我们常说的 进程保活 ,可以创建一个幽灵进程进行保活 *** 作,也可以直接用应用主进程进行保活,用这个进程中建立TCP连接,保证其存活的最大时长。方案主要以下几种:
注意:
保证移动端在线确实能有效的提高推送的到达率,但是需要注意频繁的唤醒应用会导致应用耗电量的增加,所以要把握一定的度。
监听系统事件广播来唤醒应用,常用的广播有:
注意:
该方案是应用范围最最广泛的一种手段,主要是启动一个前台service,并利用系统漏洞避免其在通知栏处显示Notification。这样既能保证进程的优先级高于普通后台进程,又将用户感知降到最低。
思路:
adb shell dumpsys activity services 查看结果看到前台service已经启动,但在通知栏里并未显示
当然了,我们可以结合上面这两个方案:
创建一个广播 DaemonReceiver ,该广播监听某些系统事件广播,在广播处理中启动 DaemonService
鉴于当app被杀死后是监听不到系统广播的,而我们还需要保持 DaemonService 以确保推送TCP连接的建立,那我们可以在 DaemonService 的 onDestroy() 中启动一个新的service DaemonReStartService , 在 DaemonReStartService 中来重新启动 DaemonService 。
Android中的应用就是这么一步步被玩的卡的不要不要的,所以请谨慎使用。
流程如下:
不以用户利益为出发点的手段都是耍流氓。
进程保活必定导致应用一直保持唤醒状态一直在后台运行,不可避免的导致耗电量增加;发送回执消息则会额外消耗用户流量(可以考虑一段时间内的回执消息合并后统一发送),服务器保存每条推送记录可能会导致服务器压力过大。
所以,在尽可能保证用户到达率的情况下,也要考虑节能和流量,和使用设计模式一样,凡事皆有度,万事不可过。
所谓的推送功能,就是类似于一条信息发布以后,他会通过好友、分享等途径,让更多的人了解这则消息,在手机通信中,大多智能机都支持推送功能。比如,你手机上有一个即时消息软件,当它在运行时它是和服务器相连的。但是一旦退出后,你就失去了连接。这时推送服务就开始工作了。极光推送服务是什么,极光推送怎么样
高送达率,时效保证:极光推送自主协议确认推送消息的送达。开发者可以灵活的自定义推送时间
服务集成SDK简单:简单复制便可直接编译运行
推送内容多样 :除了通知,还有消息、多媒体等
使你的应用程序保持高注意力:即使用户没有打开应用程序,极光推送也能够推送通知到达用户手机
自定义消息内容:JPush SDK把内容完全转给应用程序,由开发者应用程序去处理自定义消息
接入即可用功能:客户端集成SDK即可享受高效 专业的推送服务, *** 作简单的管理后台
多平台:同时支持 Android与iOS平台
高安全性:传输信道加密,推送数据自主加密
高稳定性,大容量,高并发:目前极光推送平台支持 十亿级用户,高达20万/秒的下行速度
省流量,低耗电功能强大:待机流量消耗20K/天,电 量消耗30mAh/天 毕竟国外网络服务在中国都颇为不完善,而且推送服务对网络和服务器端有较高的要求。因此,国内很快就兴起数家像极光推送云消息推送服务的公司,是国内做得较好的一家。
极光推送的极光推送简介
极光推送,英文简称 JPush,是一个面向普通开发者开放的,免费的第三方消息推送服务。 更多了解请参考极光推送官方网站。 开发者可以在管理Portal上查看推送统计信息,直观地评估推送效果。
最近考虑使用极光推送(JPush),有些什么优势
极光推送是国内最早的第三方云推送服务商
极光推送发送消息和通知有什么区别
高送达率,时效保证:极光推送自主协议确认推送消息的送达。开发者可以灵活的自定义推送时间 服务集成SDK简单:简单复制便可直接编译运行 推送内容多样 :除了通知,还有消息、多媒体等 使你的应用程序保持高注意力:即使用户没有打开应用
极光推送自定消息一般实现什么用
推送通知,此时发送的内容只是一条简单的文本消息。 点击消息后,会跳转到一个Activity(此Activity需要在清单文件中注册过滤器 < activity android:name = "examplejpushdemoTestActivity" > < intent-filter > < action android:name = "
极光推送的ios开发环境是什么意思
SDK集成步骤
1、在JPush Portal上创建应用
在JPush的管理Portal上 上传证书并创建应用。如果对APNs证书不太了解 请参考 iOS 证书设置指南
创建成功后自动生成 AppKey 用以标识该应用。
2、导入API开发包到应用程序项目
将SDK包解压,在XCode中选择“Add files to 'Your project name'”,将解压后的lib子文件夹(包含APServiceh、libPushSDKa)添加到你的工程目录中。
3、必要的框架
CFNetworkframework
CoreFoundationframework
CoreTelephonyframework
SystemConfigurationframework
CoreGraphicsframework
Foundationframework
UIKitframework
Securityframework
libzdylib
4、Build Settings
设置 Search Paths 下的 User Header Search Paths 和 Library Search Paths,比如SDK文件夹(默认为lib)与工程文件在同一级目录下,则都设置为"$(SRCROOT)/[文件夹名称]"即可。
5、创建并配置PushConfigplist文件
在你的工程中创建一个新的Property List文件,并将其命名为PushConfigplist,填入Portal为你的应用提供的APP_KEY等参数。
{
"APS_FOR_PRODUCTION" = "0";
"CHANNEL" = "Publish channel";
"APP_KEY" = "AppKey copied from JPush Portal application";
}
CHANNEL
指明应用程序包的下载渠道,为方便分渠道统计。根据你的需求自行定义即可。
APP_KEY
在管理Portal上创建应用时自动生成的(AppKey)用以标识该应用。请确保应用内配置的 AppKey 与第1步在 Portal 上创建应用时生成的 AppKey 一致,AppKey 可以在应用详情中查询。
APS_FOR_PRODUCTION
131版本新增,表示应用是否采用生产证书发布( Ad_Hoc 或 APP Store ),0 (默认值)表示采用的是开发者证书,1 表示采用生产证书发布应用。请注意此处配置与 Web Portal 应用环境设置匹配。
在122或之前版本的配置文件中,有 TEST_MODE 这个键,新版的SDK不再使用,可以将它删除。
6、添加代码
API
APIs 主要集中在 APService 接口类里。
@interface APService : NSObject
init Push
+ (void)setupWithOption:(NSDictionary )launchingOption;
register notification type
+ (void)registerForRemoteNotificationTypes:(NSUInteger)types
>>
极光推送、百度云推送、个推,怎样看极光推送服务好坏
极光推送服务具有如下的优势:
1)极光推送完全开放注册,免费向所有的开发者开放使用
2)SDK流量电量消耗很少
3)集成简单,很快就能够集成跑起来
4)极光推送服务器端推送支持大并发量、延迟小
android开发 怎么使用极光推送
极光推送(JPush)是独立的第三方云推送平台,致力于为全球移动应用开发者提供专业、高效的移动消息推送服务。开发者只需在客户端集成极光推送 SDK,即可轻松地添加Push功能到他的App中。
但是,作为一个菜菜,今天才了解到极光推送的用法:
首先,要先去极光官网创建注册一个账号
登录进入,找到应用管理,添加应用,创建应用。是否启用微软(WinPhone),看你是否需要。创建完毕,记住app的key值和应用包名。
下载Demo查看集成指南
手动集成步骤,集成步骤中给出的是Android Studio 的 *** 作步骤下面我给大家说一下我用eclipse做的步骤
解压下载的Demo,打开文件,将libs下的文件都复制到你新建的项目中对应的libs下(该项目用于极光推送),res中的drawable-hdpi, layout, values也要复制到你的项目中。
然后就是清单文件AndroidManifestxml了。
极光推送站内通知功能是什么意思
高送达率,时效保证:极光推送自主协议确认推送消息的送达。开发者可以灵活的自定义推送时间
服务集成SDK简单:简单复制便可直接编译运行
推送内容多样 :除了通知,还有消息、多媒体等
使你的应用程序保持高注意力:即使用户没有打开应用程序,极光推送也能够推送通知到达用户手机
自定义消息内容:JPush SDK把内容完全转给应用程序,由开发者应用程序去处理自定义消息
接入即可用功能:客户端集成SDK即可享受高效 专业的推送服务, *** 作简单的管理后台
多平台:同时支持 Android与iOS平台
高安全性:传输信道加密,推送数据自主加密
高稳定性,大容量,高并发:目前极光推送平台支持 十亿级用户,高达20万/秒的下行速度
省流量,低耗电功能强大:待机流量消耗20K/天,电 量消耗30mAh/天 毕竟国外网络服务在中国都颇为不完善,而且推送服务对网络和服务器端有较高的要求。因此,国内很快就兴起数家像极光推送云消息推送服务的公司,是国内做得较好的一家。
最近考虑使用极光推送(JPush),有些什么优势
极光推送是国内最早的第三方云推送服务商
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)