2013-11-19 2 views
0

Я получаю push-уведомление в этом сообщении полезной нагрузки. Я получаю один URL-адрес с сообщением в виде push-уведомления. но я не хочу показывать URL-адрес пользователю. Я хочу показывать только сообщение пользователю. возможно ли это с ios стороны.Как мы можем получить push-уведомление в фоновом режиме

ответ

1

Если вы используете url в качестве отдельного ключа в aps, тогда его можно отображать предупреждение только как сообщение, иначе любое сообщение не может изменять сообщение в фоновом режиме.

"aps": { 
     "alert": "alert!", 
     "sound": "default", 
     "URL" : "your url" 
     } 
+0

спасибо vinay !! can u plase mark qiestion as + is in минус plz, так что я могу представить больше вопросов – user2902101

0

да, его возможно, но это также зависит от того, как вы создали свой полезный груз, но его просто, как вы создаете полезную нагрузку с вашей ссылки и сообщения, получить на свой делегат

-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)pushChatObject { 
     // get the message value and NSLog is or set to UIAlert or in NSString 
     (pushChatObject)[@"Message"]; 
} 
+0

Я не хочу показывать URL-адрес в уведомлении, когда он работает на телефоне. – user2902101

+0

Полезная нагрузка - это словарь, и URL-адрес не показывается пользователю, пока вы не получите его из словаря полезной нагрузки и не покажете его пользователю – Retro

+0

, что означает, что когда пользователь увидит уведомление, когда приложение не запущено, пользователь сможет увидеть этот URL-адрес или нет ? – user2902101

0

Вы можете, но вы не должны 't, поскольку

Доставка уведомлений - это «лучшее усилие», не гарантируется. Это не предназначено для доставки данных в ваше приложение, только чтобы уведомить пользователя о том, что имеются новые данные. (с) Apple

Укажите уведомительное сообщение как

{ 
    "aps": { 
     "alert": "alert!", 
     "sound": "default" 
    }, 
    "URL": "http://apple.com" 
} 

При получении уведомления в приложении просто проверить для паров в словаре уведомления:

// Place this method to AppDelegate.m 
- (void)application:(UIApplication *)application didReceiveRemoteNotification: 
             (NSDictionary *)notification {  
    if ([notification objectForKey:@"URL"]) { 
     NSString *url = [[notification objectForKey:@"URL"] stringValue]; 
    } 
} 

Проверить this section руководства по программированию локального и push-уведомлений Apple для получения дополнительной информации

+0

, но мы должны вызвать handlebackgroundNotification, находится в didreceiveremote ??? – user2902101

+0

Я не хочу указывать URL-адрес в уведомлении, когда он появляется на телефоне. – user2902101

+0

См. Мой отредактированный ответ –

0

Я думаю, что в этом случае вы можете использовать Child свойства оповещения собственности, вы используете 1 аргумент в качестве предупреждения и еще один аргумент в качестве URL, как: «АПС»: { «предупреждение»: { "Loc-ключ": "тРЕВОГА", "Loc-арг": [ "Ваше предупредительное сообщение", "Ваш URL"] }, "звук": "по умолчанию" }

Когда устройство получает уведомление, он использует «ALERT» в качестве ключа для поиска связанного строкового значения в файле Localizable.strings в каталоге .lproj для текущий язык. Предполагая, что текущая локализация имеет запись Localizable.strings, такую ​​как: «ALERT» = «% @»;

И позже вы можете получить свой url используя aps NSDictionary.

Смежные вопросы