V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ruiwendell
V2EX  ›  分享发现

iOS 中通知无限展示

  •  
  •   ruiwendell · 2019-01-02 13:23:27 +08:00 · 1641 次点击
    这是一个创建于 1933 天前的主题,其中的信息可能已经有所发展或是发生改变。

    之前是在 JSBox 有一个这样的功能,就是可以发出一个通知,用户点击了系统的清除按钮,通知也能马上再显示出来,感觉比较有意思,就研究了一下实现原理,写了一篇文章,欢迎大佬们审阅。

    完整的文章在这里: https://juejin.im/post/5c2c16b66fb9a049e12a4f0e

    运行效果大概是这样:

    9 条回复    2019-01-02 16:22:45 +08:00
    goodryb
        1
    goodryb  
       2019-01-02 14:01:41 +08:00
    “开玩笑的,无线推送这种功能其实苹果很不推荐” ,无线 or 无限 ?
    ruiwendell
        2
    ruiwendell  
    OP
       2019-01-02 14:27:03 +08:00
    @goodryb 是无限推送,就是点击清除还马上显示出来新的,之前字打错了,已经改过来了
    sobigfish
        3
    sobigfish  
       2019-01-02 14:34:09 +08:00
    这个应该算是 app 的 bug 吧,还想强盗的当 feature ?这么弄不怕过不了审?
    ruiwendell
        4
    ruiwendell  
    OP
       2019-01-02 15:10:04 +08:00
    @sobigfish JSBox 中已经有这种固定通知栏的功能了,是在用户选择后启用这种功能的,对于一般的资讯类 app 可以在用户点击清除按钮清除通知后,隔一段时间再发一个本地推送,而不需要在用户点击清除按钮后,将用户行为上报,然后再隔一段时间发送一个远程推送
    goodryb
        5
    goodryb  
       2019-01-02 15:20:18 +08:00
    不管是 bug 还是 feature,个人还是比较反感这种操作,既然手动点击了清楚,为什么隔一段时间还要在发送一次呢?
    ruiwendell
        6
    ruiwendell  
    OP
       2019-01-02 15:27:02 +08:00
    @goodryb 只是目前见到的使用场景是 JSBox 中使用它来做固定通知的功能,但是实际上可以做的事情很多,并不局限于此,例如可以把探探 app 中首页左右滑动,显示推荐用户的功能做在通知里面,通过点击清除按钮来显示下一个推荐用户,这样不用打开 app 也可以使用这种比较简单的功能。我觉得可以利用这个功能更好得服务用户,只要跟用户说明这种功能,让用户可以选择,不强制给用户推无限通知,是不会让用户反感的。
    flyzero
        7
    flyzero  
       2019-01-02 15:41:31 +08:00
    @ruiwendell 首先你得去看下官方文档,比如 app 完全退出了以后,收到这种推送,对推送进行清除应该是没法触发相关 app 逻辑的
    ruiwendell
        8
    ruiwendell  
    OP
       2019-01-02 16:21:14 +08:00
    @flyzero 我的演示视频就是在杀死进程的情况下,点击清除,再显示出通知的,这个机制在 app 后台运行或者是未运行状态下都是可行的,你可以运行一下我的 demo 试一下。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   982 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 20:07 · PVG 04:07 · LAX 13:07 · JFK 16:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.