iOS 5 получает информацию из отправленного Push-уведомления, используя NSDictionary - PullRequest
3 голосов
/ 18 января 2012

Можно ли получить информацию из отправленного Push-уведомления, используя NSDictionary?(Например, получение заголовка, сообщения и звука, содержащихся в полезной нагрузке оповещения).

Я также хочу отправить в полезную нагрузку информацию (например, строку) для приложения, которое не связано сзаголовок или сообщение.Опять же, возможно ли это?

Ответы [ 2 ]

8 голосов
/ 18 января 2012

Да, возможны оба варианта!

Для получения необходимой информации выполните следующее:

- (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 голосов
/ 18 января 2012

Да, вы можете получить эту информацию.Внутри экземпляра userInfo NSDictionary есть свойство (которое содержит другой NSDictionary) под ключом aps.Он содержит дополнительные свойства для клавиш оповещения, значка и звуковых клавиш.

Передаваемая вами пользовательская информация будет присутствовать в экземпляре userInfo NSDictionary под параметрами, которые вы указали при отправке push-уведомления.*

См. Ссылку на протокол UIApplicationDelegate для получения дополнительной информации: http://developer.apple.com/library/ios/#documentation/uikit/reference/UIApplicationDelegate_Protocol/Reference/Reference.html

...