远程关闭iOS推送通知

ebi*_*ebi 5 iphone objective-c push-notification apple-push-notifications

适用于iOS的Gmail应用可以在应用未运行时接收推送通知(与大多数电子邮件应用一样).

但是,即使应用未运行,用户收件箱的未读数量变为零时,它也能够清除设备中的所有Gmail推送通知.

以下是一个示例序列:1.在您的Gmail帐户中接收新电子邮件.2. iOS设备显示新消息的通知.3.转到Gmail网站并打开邮件(将邮件标记为"已读").4. iOS设备上的通知被驳回.

注意:[[UIApplication sharedApplication] scheduledLocalNotifications]仅提供本地通知,即在iOS应用程序本身内创建的通知.

就Apple的APNS文档所描述的,没有办法远程启动应用程序到后台,并且无法解除远程通知.

那么,Gmail iOS应用如何实现这一目标呢?

sty*_*972 5

通过使用Parse推送此有效负载,我能够清除所有推送通知.为你提供我猜只要content-availablebadge,你应该能够做同样的.我没有在AppDelegate中编写任何其他代码,但我确实必须打开项目目标中的推送通知capabilities.

curl -X POST \
-H "X-Parse-Application-Id: xxxxxxxxxxx" \
-H "X-Parse-REST-API-Key: xxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
       "data": {
         "content-available": "1",
         "badge":"0",
         "sound":""
       },
       "where": {"something":"something_else"}
     }' \
https://api.parse.com/1/push
Run Code Online (Sandbox Code Playgroud)