【发布时间】:2018-01-18 06:40:41
【问题描述】:
如何从动态通知服务中获取并显示推送通知中的消息
push: {
aps = {
alert = "My First Notification";
sound = default;
Msg = {
myData = (
{
Msg = "Awesome";
Id = 123;
Date = "Jan 18 2018";
}
);
};
};
}
因为我想在推送通知到达时显示 alert = "My First Notification" 和 Msg = "Awesome"。我不知道如何获取和显示。请帮我解决这个问题。 TIA
我试过下面的代码
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
[application registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]];
[application registerForRemoteNotifications];
return YES;
}
- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
{
NSLog(@"My token is: %@", deviceToken);
NSString *deviceTokenStr = [[[[deviceToken description]
stringByReplacingOccurrencesOfString: @"<" withString: @""]
stringByReplacingOccurrencesOfString: @">" withString: @""]
stringByReplacingOccurrencesOfString: @" " withString: @""];
NSLog(@"Device Token: %@", deviceTokenStr);
}
- (void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error
{
NSLog(@"Failed to get token, error: %@", error);
}
- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo
{
NSLog(@"Received notification: %@", userInfo);
NSUserDefaults * loginDefaults = [NSUserDefaults standardUserDefaults];
UIApplicationState state = [[UIApplication sharedApplication] applicationState];
if (UIApplicationStateActive == state )
{
return;
}
}
我只想在推送通知中显示它。
【问题讨论】:
-
你在 userInfo 中得到了什么?
-
push: { aps = { alert = "我的第一个通知";声音=默认; Msg = { myData = ( { Msg = "Awesome"; Id = 123; Date = "Jan 18 2018"; } ); }; }; }
-
那有什么问题,所有数据都在那里,只是得到它
-
解析 userInfo 中的数据并在 Alert 视图中设置 Title 和 message
-
下面是获取数据的答案,现在创建警报并显示它。如果不起作用,请尝试编写一些代码让我们知道
标签: ios objective-c xcode apple-push-notifications objective-c-2.0