有些 app 当天第一次进入时的弹框是怎么实现的 第二次进不会提示 求说说实现方式

有些 app 当天第一次进入时的弹框是怎么实现的 第二次进不会提示 求大神说说实现方式

阅读 6k
4 个回答

一个简单的做法是:
打开app时,读取上次弹窗时间,如果时间已经是昨天了就再弹窗,将新的时间存入本地。

web页也有类似的效果,实现方式是在本地cookie或者localstorage做个标记就可以。打开的时候检查有标记说明弹框已经提示过了,没标记就提示弹框,弹框消失时执行存储标记的回调。app肯定也是类似的道理。

首先,你这个提问的标签,应该是ios或者android吧,而不是php。

这跟原生app的生命周期有关。

所谓的第一次进入,指的是app启动。
第二次进入,我猜想你的操作是,让app最小化,然后再打开?这时,其实只是从后台唤起应用而已,走的不是启动的入口。

如果想当天重现app启动,可以把进程杀掉,再打开app,应该就会有弹框了。

当然,也可能是后端服务控制,app请求接口来控制如何弹框。
比如,一天内只弹一次,之后再也不弹出,之类的。

关于生命周期,附上一张ios的,可以参考一下:

图片描述

既然你在php问,我就以php来答。
用户登陆后,就有一个用户id,用这个用户 id 在sql中插一条数据(如果简单用session 或 cookies 有可能会丢失)。这条数据中有一个日期和一个已经显示了没有的标识。
每一次登录就对比一下这个日期。

大于1天就更新这个日期,并reset标识。少于一天就看看标识今天已经显示过了没有。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题