0

例: - 最小化状態で4種類のローカル通知を生成しました。アプリケーションが最小化されているときにローカル通知テキストを取得する

以下の通知の種類。

  1. メッセージ

  2. フレンドリクエスト

  3. ビデオ通話

  4. オーディオコール

通知は、通知センターに表示されます。

Noow..Iは、どのように私がクリックした通知のどの番号を取得することができ、第二の通知に

  1. をクリックしましたか?

  2. 第2通知体の警告テキスト(コンテンツ)を取得するにはどうすればよいですか? WhatsAppのような

this mehod is not working for minimize state

..私は通知の種類に応じて、特定の画面に移動する必要があります。

- (void)pushRegistry:(PKPushRegistry *)registry didReceiveIncomingPushWithPayload:(PKPushPayload *)payload forType:(NSString *)type { 
NSString *[email protected]""; 
if ([[payload.dictionaryPayload valueForKey:@"type"]isEqualToString:@"video"]) { 
    [email protected]"video"; 
} 
else if ([[payload.dictionaryPayload valueForKey:@"type"]isEqualToString:@"friendRequest"]) { 
    [email protected]"friend Request"; 
} 
else if([[payload.dictionaryPayload valueForKey:@"type"] isEqualToString:@"message"]) 
{ 
    [email protected]"message"; 
} 
else{ 
    [email protected]"audio"; 
} 

私はこのようなUILocalNotificationを作成しています:

UILocalNotification *notification = [[UILocalNotification alloc]init]; 
notification.repeatInterval = NSDayCalendarUnit; 
[notification setAlertBody:Notitype]; 
[notification setFireDate:[NSDate dateWithTimeIntervalSinceNow:1]]; 
[notification setTimeZone:[NSTimeZone defaultTimeZone]]; 
[[UIApplication sharedApplication] setScheduledLocalNotifications:[NSArray arrayWithObject:notification]]; 
+0

あなたのローカル通知の設定方法をコードでお知らせください。 –

+0

私はコードを更新しました。 @NikhleshBagdiyaをチェックしてください –

答えて

0

に設定されたローカル通知として:ローカル通知のタイプは、あなたがdidReceiveLocalNotificationデリゲートを使用することができるよりもクリックがあり得るため

// Schedule the notification 
    UILocalNotification *notification = [[UILocalNotification alloc]init]; 
    notification.repeatInterval = NSDayCalendarUnit; 
    [notification setAlertBody:Notitype]; 
    [notification setFireDate:[NSDate dateWithTimeIntervalSinceNow:1]]; 
    [notification setTimeZone:[NSTimeZone defaultTimeZone]]; 

    //Create user info for local notification. 
    NSDictionary* dict = @{@"Type": @"message", @"ID": @"set your unique ID", @"body": notification.alertBody,}; 
    notification.userInfo = dict; 

    //You can Set Type as: message, friend Request, video call, Audio call. 

    [[UIApplication sharedApplication] setScheduledLocalNotifications:[NSArray arrayWithObject:notification]]; 

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification { 
    //[super application:application didReceiveLocalNotification:notification]; // In most case, you don't need this line 

    //Get notification type 
    NSString *notificationType = [notification.userInfo valueForKey:@"Type"]; 
    //notificationType as: message, friend Request, video call, Audio call. 

    NSString *notificationBody = [notification.userInfo valueForKey:@"Notification_body"]; 

    UIApplicationState state = [application applicationState]; 
    if (state == UIApplicationStateActive) { 
     // Application in foreground when notification is delivered. 

     if ([notificationType isEqual:@"message"]) { 
      //Handle message 
     } else if ([notificationType isEqual:@"friend Request"]) { 
      //Handle friend Request 

     } else if ([notificationType isEqual:@"video call"]) { 
      //Handle video call 

     } else if ([notificationType isEqual:@"Audio call"]) { 
      //Handle Audio call 

     } 

    } else if (state == UIApplicationStateBackground) { 
     // Application was in the background when notification was delivered. 
     if ([notificationType isEqual:@"message"]) { 
      //Handle message 
     } else if ([notificationType isEqual:@"friend Request"]) { 
      //Handle friend Request 

     } else if ([notificationType isEqual:@"video call"]) { 
      //Handle video call 

     } else if ([notificationType isEqual:@"Audio call"]) { 
      //Handle Audio call 

     } 

    } else { 

    } 
} 

更新

DidFinishLaunchingWithOptionsにこれと同じ事を確認してください。また、可能なユーザーは通知に反応するが、アプリを開くには、アプリのアイコンをタップしないでください。ビデオ通話や緊急の場合は、DidFinishLaunchingWithOptions

関連する問題