如何处理和发送远程通知 Objective-C

How to handle and send remote notifications Objective-C

我有一些问题一直在思考。我希望在这里得到他们的答复。

1) 我有很多推送通知发送到设备,具体取决于设备上发生的事情。每个推送通知都有不同的用途 ViewController。通过这种方式,我的意思是正在接收推送通知以及 ViewController 需要使用的一些自定义数据。 那么最好的设置方式是什么,以便轻松共享通知中的数据?

2) 正如我之前所说,我有不同类型的通知。我现在所做的方式让我知道如何处理每个通知是我这样发送它们:

data: {
       type: "4",
       some other data....
    }

所以每次收到通知时,我都有 if 语句来检查它是什么类型。这是 legit/correct 的方法还是有其他方法?

希望您能提供一些代码示例,尤其是问题 1。

谢谢!!

-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 是您放置条件的地方。 userInfo 字典是存储通知信息的地方。 例如,要获得你喜欢的类型:

if([userInfo[@"aps"][@"type"] isEqualToString:@"4"])
{
    //your custom code here
}

现在,当您收到远程通知时,您会想要像这样发送本地通知:

[[NSNotificationCenter defaultCenter] postNotificationName:@"yourMessage" object:nil];

然后在您的视图控制器中添加:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(yourCustomMethod) name:@"yourMessage" object:nil];

不要忘记在您的 viewWillDisappear: 方法中注销本地通知,如下所示:

[[NSNotificationCenter defaultCenter] removeObserver:self name:@"yourMessage" object:nil];

希望对您有所帮助,如果不清楚请告诉我。