前言
APP内设置提醒是大多数抢购、秒杀都会涉及到的一个功能应用,ios 应用可以获取系统权限进行本地推送,相对简单,但是安卓由于其系统特殊性以及多样性,难以统一直接获取系统权限进行推送提醒。本文就设置提醒进行推送的可能可以采用的几种形式进行整理说用,以方便大家进行功能设计;
方法一: 本地app设置定时提醒推送
依赖APP本身的定时服务进行提醒,但是前提是你要做的APP可以做到长时间的高保活,否则APP被程序或者用户主动杀掉,手机就无法收到定时提醒了。
当然目前的安卓app要实现长时间的保活,是很难做到的,所以这种方案基本作废。
方法二: 采用servers设置定时提醒推送,包括app推送或者其他形式通知,如手机、微信;
即定时任务本身不依赖与app客户端,而是在service设置定时任务,符合条件后由service进行定时服务推送。
该方案有两个前提,其一,当然是app必须连接互联网,其二是APP必须手机厂商提供的第三方推送服务,以确保自身app不保活的前提下也可以成功收到定时任务推送。如不能接入第三方推送,依赖与自己的服务器推送,则与方案一基本无异。
此方案相对其他方案都是比较建议的方案,由第三方进行推送的情况下,app收到推送后的可操作空间就很大了,如直接启动app进入 指定的页面等等
缺陷是,也有一定推送的概率失败,且安卓手机厂商较多,推送形式不一,需要一 一 进行对接,工作量也会大很多。但就目前来说,安卓app如果要做到高成功率推送,必然要做这一步。
市面上,采用此方案的有京东、淘宝、
方法三:本地设置闹钟进行定时提醒
即通过调用系统闹钟,在设置定时提醒时相当于设置了一个闹钟,在对应时间点以闹钟的形式进行提醒。
这个方案的优点是,闹钟提醒十分强势,与app是否保活无关,相比推送也强势很多,当然也有可能造成用户反感,体验很差。
缺点就比较明显:
其一,在设置和取消的过程中,必须启动并离开自身应用,进入系统闹钟进行设置,虽然可以自动填充时间主题等内容,但是导致用户离开app本身体验并不良好;(开发大佬跟我讲的,如有错误,还请指正)。
其二,每次提醒均会设置一个闹钟,会影响用户系统闹钟列表,体验不良;
其三,用户无法通过提醒直接启动app,更不用讲进入对应页面。
综合,不建议此种方案;
方法四:设置本地日历进行定时提醒
与方法三类似,调用系统日历,在系统日历中写入日程提醒,在对应时间点通过系统日历的推送进行提醒;
优点是 ,与app是否保活无关,相比方案三用户体验也会好很多,日历本身即具有日程提醒的属性,
且在设置和取消过程中,无需离开应用本身即可实现。
缺陷是,用户通过提醒仅能进入系统日历,无法启动app。
在未实现service推送的情况的,此种方案是建议方案之一
采用此中方案的应用,如拼多多。
方法五:利用玩家绑定手机进行推送
此种方案相比于其他四种应该来说比较古老,即在设置定时提醒后,通过用户在APP登录绑定的手机号以短信的方式进行推送,当然限制了必须是登陆状态且有手机号。
优点时推送成功率会应该相对会高很多,但是处于现在用户对于短信的免疫状态,该方法的推送效果感觉不容乐观,当然仅依据我的直观感受,没有数据支持,结果可能与我感受恰恰相反。
还有一个缺陷就是无法直接启动app这个通病。
示例:网易严选
以上方案各有利弊吧,在没有实现推送的情况下,我采用了日历提醒折衷的实现方案。