Да, конечно, это возможно. Но вы не можете отправить много контента с помощью push-уведомления. v Всего push-уведомление может занимать не более 256 байт.
Что вы можете сделать, так это добавить некоторые данные в userInfo уведомления, связать идентификатор. Затем, после того как пользователь откроет ваше приложение, вы получите содержимое с сервера, проанализировав идентификатор в уведомлении.
Если ваше приложение не запускается, когда пользователь нажимает на уведомление
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSDictionary *remoteNotif = [launchOptions objectForKey: UIApplicationLaunchOptionsRemoteNotificationKey];
if (remoteNotif) {
///Handle the notification
}
/* Your regular init */
return YES;
}
Если ваше приложение работает, этот метод вызывается:
- (void) application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
///Handle the notification
}
В NSDictionary
вы можете получить сообщение с уведомлением и любые другие данные, которые вы добавили в уведомление.
--
Часть push-уведомления с информацией о пользователе — это просто JSON, Полезная нагрузка уведомления.
{
"aps" : {
"alert" : "You got your emails.",
"badge" : 9,
"sound" : "bingbong.aiff"
},
"acme1" : "bar",
"acme2" : 42
}
В этом примере от Apple часть aps
JSON указывает приложению отображать 9 на значке значка и «Вы получили свои электронные письма». как текст сообщения. При получении этого уведомления система ищет в пакете приложений звук bingbong.aiff
и, если находит, воспроизводит его.
Другие ключи, amce1
и amce2
отправляются с уведомлением, и вы можете получить доступ к словарю, который является push-уведомлением.
person
rckoenes
schedule
13.06.2012