【发布时间】:2016-08-27 07:20:49
【问题描述】:
我想定义推送通知的类型。采取不同的行动。
例如,接收类型A的标签A的徽章被更新,接收类型B的标签B的徽章被更新。
目前的简单payload如下。 {"aps":{"alert":"nickname001."}}
如何定义推送通知的类型?
【问题讨论】:
标签: ios notifications push
我想定义推送通知的类型。采取不同的行动。
例如,接收类型A的标签A的徽章被更新,接收类型B的标签B的徽章被更新。
目前的简单payload如下。 {"aps":{"alert":"nickname001."}}
如何定义推送通知的类型?
【问题讨论】:
标签: ios notifications push
只需在您的有效负载中添加一个键值对
例如:
{
"aps": {
"alert": "nickname001 just liked you!",
"badge": 2
},
"action": 1
}
然后在收到推送通知时,只需检查并按照您的要求进行操作即可。
NSInteger page = [[userInfo objectForKey:@"action"] integerValue];
switch (page) {
case 1:
{
//Update tab A - type A
}
break;
case 2:
{
//Update tab B - type B
}
break;
default:
break;
你也可以分别通过嵌套键和嵌套switch-case来做到这一点……比如:
{
"aps": {
"alert": "nickname001 just liked you!",
"badge": 2
},
"action": {
"tab": 1,
"type": "A"
}
}
分别
NSInteger page = [[[userInfo objectForKey:@“action”] objectForKey:@“tab”] integerValue];
switch (page) {
case 1:
{
NSString *strType = [[[userInfo objectForKey:@"action"] objectForKey:@"type"] uppercaseString];
if ([strType isEqualToString:@"A"]) {
// update type A
}
else {
// update type B
}
}
break;
case 2:
{
}
break;
default:
break;
【讨论】: