ios – 徽章计数没有增加推送通知.总计徽章计数仍为1?

ios – 徽章计数没有增加推送通知.总计徽章计数仍为1?,第1张

概述当应用程序处于推送通知的后台时,我的应用程序徽章数量不会增加.对于第一个推送通知,数量仅增加1,并且始终将徽章计数保留为1,如果我得到超过1个通知,则徽章计数仅保留1个. 以下是我的代码 - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)user 当应用程序处于推送通知的后台时,我的应用程序徽章数量不会增加.对于第一个推送通知,数量仅增加1,并且始终将徽章计数保留为1,如果我得到超过1个通知,则徽章计数仅保留1个.
以下是我的代码

- (voID)application:(UIApplication *)application        dIDReceiveRemoteNotification:(NSDictionary *)userInfo {    Nsstring *message = nil;    ID alert = [userInfo objectForKey:@"aps"];    if ([alert isKindOfClass:[Nsstring class]]) {        message = alert;    }        else if ([alert isKindOfClass:[NSDictionary class]]) {        message = [alert objectForKey:@"alert"];    }    if (alert) {        UIAlertVIEw *alertVIEw = [[UIAlertVIEw alloc] initWithTitle:@"xyz"                                                        message:message                                                       delegate:self                                              cancelbuttonTitle:@"OK"                                              otherbuttonTitles:@"Cancel",nil];        alertVIEw.tag=2525;        [alertVIEw show];     }}-(voID)alertVIEw:(UIAlertVIEw *)alertVIEw      clickedbuttonAtIndex:(NSInteger)buttonIndex  {   if(alertVIEw.tag==2525)  {      [UIApplication sharedApplication].applicationIconBadgeNumber =      [UIApplication sharedApplication].applicationIconBadgeNumber-1;   }}
解决方法 您必须从服务器端执行此 *** 作.在我的情况下,我通过PHP和MysqL完成了它.这是我的数据库

我已经添加了字段badgecount,并且每次使用此代码将推送发送到设备时我都会增加徽章计数

$query = "SELECT badgecount FROM pushnotifications WHERE device_token = '{$device_token}'";        $query = $this->db->query($query);        $row = $query->row_array();        $updatequery = "update pushnotifications set badgecount=badgecount+1 WHERE device_token ='{$device_token}'";        $updatequery = $this->db->query($updatequery);        $device = $device_token;        $payload['aps'] = array('alert' => $pushmessage,'badge' =>$row["badgecount"]+1,'sound' => 'default');        $payload = Json_encode($payload);         ...

而且我还制作了另一个用于制作badgcount 0的API

- (voID) application:(UIApplication *)application dIDReceiveRemoteNotification:(NSDictionary *)userInfo

因此,当看到通知时,它在服务器中再次为零.

总结

以上是内存溢出为你收集整理的ios – 徽章计数没有增加推送通知.总计徽章计数仍为1?全部内容,希望文章能够帮你解决ios – 徽章计数没有增加推送通知.总计徽章计数仍为1?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1065543.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存