2012-01-18 9 views
3

NSDictionary?を使用して送信済みプッシュ通知から情報を取得することは可能ですか? (たとえば、アラートペイロードに含まれるタイトル、メッセージ、およびサウンドを取得するなど)。iOS 5は、NSDictionaryを使用して送信プッシュ通知から情報を取得します

また、タイトルやメッセージに関連していないアプリケーションが使用するペイロード(文字列など)の情報も送信したいと考えています。これもまた可能ですか?

答えて

8

はい、両方が可能です!

次の操作を行い、必要な情報を取得を参照:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{  
    // Push notification was received when the app was in the background 

    // ..... 
    if (launchOptions != nil) 
    { 
     NSDictionary* dictionary = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]; 
     if (dictionary != nil) 
     { 
      NSLog(@"Launched from push notification: %@", dictionary); 
      // do something with your dictionary 
     } 
    } 
    // ..... 
    return YES; 
} 

- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo 
{ 
    // Push notification received while the app is running 

    NSLog(@"Received notification: %@", userInfo); 
    // do something with your dictionary 
} 
2

はい、この情報を得ることができます。 userInfo NSDictionaryインスタンスの内部には、キーapsの下にプロパティ(別のNSDictionaryを含む)があります。これには、警告、バッジ、およびサウンドキーの追加プロパティが含まれています。

渡されるカスタム情報は、プッシュ通知が送信されたときに渡したパラメータの下にあるuserInfo NSDictionaryインスタンスに存在します。

は、より多くの情報のためUIApplicationDelegateプロトコルリファレンスを参照してください:http://developer.apple.com/library/ios/#documentation/uikit/reference/UIApplicationDelegate_Protocol/Reference/Reference.html

関連する問題