Bạn muốn đọc Handling Local and Remote Notifications
Về cơ bản trong đại biểu ứng dụng của bạn, bạn muốn thực hiện:
- (BOOL)application:(UIApplication *)app didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;
và
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo;
Và xử lý launchOptions/UserInfo cho dữ liệu thông báo.
Làm thế nào tôi thường xử lý dữ liệu là:
- (BOOL)application:(UIApplication *)app didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSDictionary* userInfo =
[launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
if (userInfo) {
[self processRemoteNotification:userInfo];
}
[window addSubview:viewController.view];
[window makeKeyAndVisible];
return YES;
}
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
[self processRemoteNotification:userInfo];
}
Định dạng cho UserInfo được ghi chép lại phần The Notification Payload.
ví dụ: phím "aps" sẽ cung cấp cho bạn một NSDictionary khác, sau đó tra cứu phím "cảnh báo" sẽ cung cấp cho bạn thông báo cảnh báo được hiển thị. Ngoài ra, bất kỳ dữ liệu tùy chỉnh nào bạn gửi trong tải trọng JSON cũng sẽ ở trong đó.
NSDictionary *apsInfo = [userInfo objectForKey:@"aps"];
NSString *alertMsg = @"";
NSString *badge = @"";
NSString *sound = @"";
NSString *custom = @"";
if([apsInfo objectForKey:@"alert"] != NULL)
{
alertMsg = [apsInfo objectForKey:@"alert"];
}
if([apsInfo objectForKey:@"badge"] != NULL)
{
badge = [apsInfo objectForKey:@"badge"];
}
if([apsInfo objectForKey:@"sound"] != NULL)
{
sound = [apsInfo objectForKey:@"sound"];
}
if([userInfo objectForKey:@"Custom"] != NULL)
{
custom = [userInfo objectForKey:@"Custom"];
}
Nguồn
2011-12-31 00:31:06
Tôi vừa theo dõi thông tin trên trang web của Apple và không gặp bất kỳ sự cố nào. Chính xác thì bạn có vấn đề gì? –
đã hiểu !!!! THANKS BẠN VERY VERY RẤT MUCH :) – JackTurky
Cập nhật câu trả lời với thông tin bạn muốn. –