如何通过swift使用自己的php APNS服务器从推送通知中增加徽章号码?

现在我正在通过swift处理IOS应用程序项目。
我每次需要增加徽章编号时 服务器推送通知到设备。
现在它总是1个徽章没有增加。</ p>

这是我的有效负载。</ p>

  // 创建有效负载主体
$ body ['aps'] =数组(
'警报'=&gt; $消息,
'声音'=&gt;'默认',
'徽章'=&gt; 1
);
//将有效负载编码为JSON
$ payload = json_encode($ body);
$ messageId = $ randomNotiId;
</ code> </ pre>

谢谢!< / p>
</ div>

展开原文

原文

Now I'm working on IOS app project by swift. So I need to increase badge number every time when the server push notification to the device. Right now it is always 1 badge no increasing.

This is my payload.

// Create the payload body
$body['aps'] = array(
    'alert' => $message,
    'sound' => 'default',
    'badge' => 1
    );
// Encode the payload as JSON
$payload = json_encode($body);
$messageId = $randomNotiId;

Thanks!

dook0034
dook0034 它始终是一个,因为您已将1作为徽章的值。设备显示您在有效负载中放置的任何值。
5 年多之前 回复

1个回答



每次推送通知时都需要保存徽章编号,如果用户看到通知则清除所有通知。 </ p>

您需要在看到服务器时将值上传到服务器,然后当您向该用户发送通知时,您可以检索他/她拥有的通知数量并使用该数字+ 1。</ p>

我认为这是最好的选择,但您可以使用NSUserDefaults或类似的东西保存该号码,但如果用户删除该应用并再次使用DL,则会出现问题。</ p>

</ div>

展开原文

原文

You just need to save the badge number every time you push a notification and clear all if user sees them.

You need to upload value to the server when seen and then when you push a notification to that user you can retrieve how many notification he/she has and use that number + 1.

I think thats the best choice, but you can save the number with NSUserDefaults or something like that, but you will have a problem if the user remove the app and DLs it again.

dongzhenju3015
dongzhenju3015 2)您需要使用'didReceiveRemoteNotification'来处理通知并使用它来确保使用已查看,然后将0上传到该用户通知。 不知道是否有更好的方式,但在我的情况下它完全有效。 顺便说一句,如果你找到更好的解决方案,请告诉我:)
5 年多之前 回复
duanke3985
duanke3985 1)是的,每次用户看到通知时,您都需要将通知排队到服务器以更新号码。 如果用户在没有启动通知的情况下看到通知,那么它就像whatsapp一样,您可以看到通知,但在您启动应用程序并转到通知之前,徽章编号不会更改。 如何通知未送达? 如果服务器出现故障,则不要增加该用户的徽章编号,您可以在服务器端控制所有这些内容。
5 年多之前 回复
doumianfeng6979
doumianfeng6979 它并不那么简单。 1)如果用户查看了通知,服务器如何知道? 如果应用程序向服务器发送消息,它可以找到,但用户可以在不启动应用程序的情况下查看通知。 每次发送推送时都不会增加计数,因为推送可能无法传送到设备,因此计数将无效2)应用程序如何知道用户是否已清除所有通知? 它无法找到它。
5 年多之前 回复
dongyu6276
dongyu6276 这意味着与应用程序无关只需要在服务器上创建一些数据库?
5 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐