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

拼多多 iOS 如何做到无权限显示通知角标

  •  
  •   VictorSu999 · 90 天前 · 2430 次点击
    这是一个创建于 90 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近发现一个很奇怪的事,iOS 拼多多客户端,在没有打开通知权限的情况下居然显示出了通知角标,有人遇到类似问题吗?

    权限设置如下,可以看到是没有通知权限的,拼多多甚至应该都没有请求过通知权限,如果请求过我通过或者拒绝了这里应该是有纪录的。

    权限设置

    再看拼多多的设置,新消息提醒也是关闭的。

    消息设置

    但是,看桌面,显示出了角标。然而虽然有角标,全程拼多多是没有在通知栏里弹过通知的。

    通知角标

    这里补充个细节,当收到新消息时,拼多多并不在通知栏里弹出通知,角标也并不会立即增加。但打开拼多多 app 再返回桌面后,角标变了,更新成了最新的通知数目。有点怀疑是不是并不存在走 iOS 系统通道的通知,而是拼多多在启动后,直接更换了自己的应用图标,创建了一个包括了右上角角标的新应用图标,所以角标数目才在打开 app 时才更新成最新的。

    23 条回复    2024-08-26 07:31:52 +08:00
    Abbeyok
        1
    Abbeyok  
       90 天前
    telegram 开会员可以换图标,他这个会不会也是图标
    VictorSu999
        2
    VictorSu999  
    OP
       90 天前
    如果是以更换图标的方式实现的话,这种做法是否违反了某些开发者协议?能否向苹果投诉?我理解这应该属于滥用了更换图标功能去强行推送干扰用户了吧。
    microka
        3
    microka  
       90 天前   ❤️ 1
    iOS 17.6.1 + 拼多多.app 7.22.0 未能复现,iOS 设置里关闭拼多多的「通知-标记」开关后,拼多多 app 就没有角标数显示了。
    你 iOS 设置里拼多多没有「通知」这一项是有点奇怪,移除 app 并重新下载或许就好了。
    blackox626
        4
    blackox626  
       90 天前 via iPhone
    猜测:app 是可以知道是否开启了通知 传给后端,如果发通知的时候,判断你没开,就先记录下来,当你打开 app 的时候,去查一下,查到了有记录 退到后台就设置角标

    感觉设置角标 不需要通知权限吧
    iOCZS
        5
    iOCZS  
       90 天前
    设置角标不需要任何权限,是一个很简单的 api 。还有一种应用内的前台自定义的通知手段,就是透传消息,就像 IM 那种。
    VictorSu999
        6
    VictorSu999  
    OP
       90 天前
    @microka @blackox626 拼多多版本 7.22.0 ,iOS 版本 17.5.1 ,iPhone12 。角标应该也是要通知权限的(不是特别肯定,但 iOS 的角标权限设置是通知权限设置下的一个子项)。从来没请求过通知权限的 app ,设置里就没有通知这一项的。如果是我猜测的原因的话,这种滥用行为不太可能全量的,就像当初安卓下的拼多多利用 0day 漏洞一样,针对某些画像的机器才触发的。我其实并不关心怎么清除这个角标,所以不打算重装 app 。我更关心是不是违背了 iOS 的应用规定,如果是的话什么途径举报合适。
    xiangyuecn
        7
    xiangyuecn  
       90 天前
    不是在系统设置里面设置通知吗,怎么看截图好像你是在拼多多 app 里面捣鼓拼多多自己的功能页面?
    blackox626
        8
    blackox626  
       90 天前 via iPhone
    @VictorSu999 注册本地通知 不是也可以设置 badgenumber 吗
    VictorSu999
        9
    VictorSu999  
    OP
       90 天前
    @iOCZS “设置角标不需要任何权限,是一个很简单的 api ”。我对 iOS 开发不了解,是否有官方文档可以指个路?如果不需要任何权限,app 的通知权限设置中,为何还会有“标记”这个权限呢。正常情况下,关闭“通知-标记”开关后,一个 app 就不再显示角标了,所以我认为角标是需要通知权限的
    iOCZS
        10
    iOCZS  
       90 天前
    @VictorSu999 通知里有个角标字段,如果你开启标记,icon 的角标会随通知走,否则就不会跟随。但是你仍然可以在 APP 里设置角标值。
    orangy
        11
    orangy  
       90 天前
    你点开“设置”-“通知”,看看这里面拼多多的通知权限是怎么样的
    RobertLyu
        12
    RobertLyu  
       90 天前 via iPhone   ❤️ 1
    我感觉可能是你之前下载并给过拼多多通知权限,然后有一次推送了角标,但是没有查看,有一天删除了。

    这次重新下载了回来,就继承了之前的角标数。
    sunny2580839896
        13
    sunny2580839896  
       90 天前
    pxx 真是无耻,啥都能做出来啊
    lingxiaoli
        14
    lingxiaoli  
       90 天前
    通知在通知设置项里
    djs
        15
    djs  
       90 天前 via iPhone
    没复线,开了有,关了就没了
    djs
        16
    djs  
       90 天前 via iPhone
    而且你这个设置页面一看就不对吧,少了一堆配置
    ldw4033
        17
    ldw4033  
       90 天前
    国人的智力水平确实太高了,在让大众讨厌的事情上能做的淋漓尽致,丝毫无底线啊。
    Building
        18
    Building  
       90 天前
    角标可以 App 随意设置的,不需要权限,系统也会根据通知增减 App 角标数,一大堆 App 角标和通知根本对不上的
    dididi9527
        20
    dididi9527  
       90 天前
    我之前在其它 app 也遇到过这情况,明明没开角标权限,突然有一天显示角标了,我更倾向于这是苹果的 bug ,所以才偶尔出现
    VictorSu999
        21
    VictorSu999  
    OP
       89 天前 via iPhone
    @blackox626 @iOCZS @Building 我找到了 ios 开发文档,确认显示角标是需要通知权限的,但目前拼多多在没有权限的时候显示出了角标。( If your app's local or remote notifications involve user interactions, you must request authorization for the system to perform those interactions on your app's behalf. Interactions include displaying an alert, playing a sound, or badging the app's icon. 来源 https://developer.apple.com/documentation/usernotifications/unusernotificationcenter/requestauthorization(options:completionhandler:)

    但是我今天发现,我进入拼多多 app 里的消息接收设置,点击去开启通知,触发了拼多多的权限请求。再拒绝通知权限(此时系统设置中拼多多终于出现了通知权限条目,并且是拒绝的),然后拼多多就不再会显示任何角标了。

    结合这个现象,和 @dididi9527 提到别的 app 也出现过,感觉可能是先入为主错怪拼多多了。更像是系统在拼多多未请求通知权限直接调用显示角标的功能时,不知道哪里出 bug 了直接显示了,等我后来触发了拼多多的通知权限请求后就恢复正常了。

    感谢大家🙏
    lxlx5434
        22
    lxlx5434  
       89 天前
    @RobertLyu 12 楼正解,这属于 iOS 系统 bug
    wow0o
        23
    wow0o  
       80 天前 via iPhone
    应该是替换了一个图标。 现在都是可以换图标的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5136 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 03:54 · PVG 11:54 · LAX 19:54 · JFK 22:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.