以下是我的代码
- (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?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)