im登陆后接收消息经常会在线消息收到,apns的推送消息也会收到

ios
标签: #<Tag:0x00007fca7173c1f0>

(1sc_china) #21

试了 还是不行哦。


#22

去掉之后,前台 iOS 10 的还会展示出来吗?还是只会打印日志了?是走的哪一个方法打印的?


(1sc_china) #23

我现在在ios8的机子上测试的 走的 - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInf这个方法


#24

我确认了一下,这个是正常的打印,发送APNS通知不会检测也无法检测是否处于在线状态。只是处于前台时 iOS 10 之前默认不展示,iOS 10 之后可以设置不展示。

针对你所说的

这个问题,请问你是怎么做的未读消息数统计呢?


#25

极光本身有提供未读数的现成接口的,为什么要自己实现呢?是不满足需求么?

如果要自己实现,就得具体根据你的实现来考虑了


(1sc_china) #26

项目里除了im的还有业务的通知数是一起累加的。正常情况下。如果不是在线消息收到 推送的也收到的话。统计是没问题的。但是如果两个都收到的话。由于push推送是自动加1的。这样会导致计数错误


(1sc_china) #27

比如我不在聊天界面的时候 来了一条消息。这时我是登陆了im账号的。app就统计加1 然后setbadge数回im服务器。然后apns又来了。相同的一条消息。由于你们im的push 不是 自动加1的吗。这时我的统计数就多加了1了。


#28

你们 app 那边不要重复做 badge +1 的动作可行吗?就用极光的自动 +1 操作得到的值?


(1sc_china) #29

不行呢。因为我们不止是只有推送。。:joy:


#30

那你们可以在app的统计那里把im的消息过滤出来,其他的业务还是正常的+1


(1sc_china) #31

:joy: 这种情况不是必现的。要是必现的我就这么处理了。偶现的这种。做不做过滤都会有问题…


#32

加个过滤的逻辑和必不必现应该没关系吧?