Моего толчок уведомление работает правильно в обычном случае, но у меня есть проблема с следующим случаем:После получения уведомления, как я могу получить полезную нагрузку при нажатии на значок приложения?
1), когда мое приложение удалить из фона и получить уведомление о & нажмите на значке приложения, то я хочу, чтобы подтолкнуть контроллер представления и отображение полезной нагрузку данных в этом представлении.
2), когда мое приложение в фоновом режиме и получать уведомления & нажмите на значок приложения, то я хочу, чтобы подтолкнуть вид контроллера и отображения полезной нагрузки данных в этой точке зрения контроллера.
следующий мой USERINFO
{
aps = {
alert = "Call from rohan panchal";
appointmentId = 220;
badge = 0;
"call_token" = "T1==cGFydG5lcl9pZD00NTI1ODY1MiZzaWc9MzM1MmM0M2E2MjkwN2JiYWMzNjgyNjk0MjFlZWMyNWEzNTZmZmM3MjpzZXNzaW9uX2lkPTJfTVg0ME5USTFPRFkxTW41LU1UUTNNREl3TVRBd01qVXdOWDV3WXpCRFMyWTRlR2xhUWpGdU1YbFpNamhvV0hoNFVHTi1VSDQmY3JlYXRlX3RpbWU9MTQ3MDIwMTAwMiZyb2xlPXB1Ymxpc2hlciZub25jZT0xNDcwMjAxMDAyLjUyMDM0NDAzNjQzMjMmZXhwaXJlX3RpbWU9MTQ3MDgwNTgwMg==";
doctorId = 238;
"doctor_country" = US;
"doctor_name" = "John smith";
patientId = 239;
"patient_country" = US;
"patient_name" = "Lottry patel";
sessionId = "2_MX40NTI1ODY1Mn5-MTQ3MDIwMTAwMjUwNX5wYzBDS2Y4eGlaQjFuMXlZMjhoWHh4UGN-UH4";
sound = default;
};
}
после моего кода.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// when i remove app from background & click on notification then following code run.
NSDictionary *notificationPayload = launchOptions[UIApplicationLaunchOptionsRemoteNotificationKey];
if(notificationPayload)
{
NSLog(@"%@",notificationPayload);
WebViewController *DashBoard = [[WebViewController alloc]initWithNibName:@"WebViewController" bundle:nil];
self.navcntrl=[[UINavigationController alloc]initWithRootViewController:DashBoard];
}
else
{
DoctorMenuViewController *DoctorVC = [[DoctorMenuViewController alloc]initWithNibName:@"DoctorMenuViewController" bundle:nil];
self.navcntrl=[[UINavigationController alloc]initWithRootViewController:DoctorVC];
}
}
Когда я получил уведомление, вызывается следующий метод.
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
NSLog(@"%@",userInfo);
WebViewController *DashBoard = [[WebViewController alloc]initWithNibName:@"WebViewController" bundle:nil];
[self.navcntrl pushViewController:DashBoard animated:YES];
}
Помогите. Помогите оценить.
Пожалуйста, поделитесь своими USERINFO, в основном вы должны проверить с WebAPI ребятами, что USERINFO они посылают затем с помощью навигационного контроллера навигации к желаемому контроллеру – gurmandeep
@gurmandeep, пожалуйста, проверьте информацию о пользователе. Я обновил свой вопрос. –
В каком поле вы нуждаетесь и на каком контроллере вы хотите перемещаться. Подберите его - (void) application: (UIApplication *) application didReceiveRemoteNotification: (NSDictionary *) userInfo { Состояние UIApplicationState = [[UAppication sharedApplication] applicationState]; если (состояние == UIApplicationStateBackground || состояние == UIApplicationStateInactive) {// получения уведомления, когда приложение находится в фоновом режиме // открыть контроллер вида вы ожидали } еще если (состояние == UIApplicationStateActive) {// уведомление получено, когда ваше приложение находится на переднем плане // ничего не делать } }} – gurmandeep