2016-02-18 5 views
3

Я пытаюсь отправить APN с помощью GCM. Зарегистрировано устройство OK, принимаются токены устройства GCM и IOS. Когда я пытаюсь послать полезную нагрузку без узла «уведомления»:Устройство GCM IOS не зарегистрировано

{ 
"to":"GCM TOKEN", 
    "data":{ 
      "message": "TEST", 
      "feed_id": 121, 
    } 
} 

Все работает отлично.

{"multicast_id":4767627754343692164,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"0:1455817174655839%663656d2f9fd7ecd"}]} 

Но я хочу, чтобы обрабатывать уведомление, когда приложение находится в фоновом режиме

func application(application: UIApplication, 
     didReceiveRemoteNotification userInfo: [NSObject : AnyObject], 
     fetchCompletionHandler handler: (UIBackgroundFetchResult) -> Void) 

Согласно документации, я изменяю полезную нагрузку:

{  
    "to":"GCM TOKEN", 
    "notification" : { 
     "body" : "great match!", 
     "title" : "Portugal vs. Denmark", 
     "icon" : "myicon" 
    }, 
    "data":{ 
      "message": "TEST", 
      "feed_id": 121, 
    } 
} 

первая попытка:

{"multicast_id":4864342605467955143,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"0:1455817367467043%663656d2663656d2"}]} 

Но нет уведомления не принимаются.

Вторая попытка:

{"multicast_id":8013376855048129620,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"NotRegistered"}]} 

И тогда приложение не получает никакого уведомления, даже при удалении узла уведомления. Поэтому я должен удалить его и переустановить, получить новые токены.

Второй вопрос:

Я попытался проверить APN с помощью NWPusher, но получить ошибки: неверный маркер. лексема пример:

<dab5efc5 42af7327 c2541cb1 06d023c5 2bd4ac44 7a78c8c9 47ea33a6 76f3ffd3> 

Но для регистрации в GCM этот маркер ОК, то почему?

+0

Возможно, аналогичная проблема - http://stackoverflow.com/questions/32410292/background-gcm-push-notification-not-received-on-certain-apple-devices, надеюсь, это может решить вашу проблему e также. Это означает, что вы устанавливаете атрибут 'priority' на высокий. – adjuremods

+1

Любое решение для этой проблемы? Столкновение с теми же симптомами и предлагаемое здесь приоритетное решение не работают. –

ответ

1

Причина моего вопроса заключалась в отсутствии профиля предоставления.

[EDIT разработать на это]:

Похоже, проблема с инициализацией приложения на устройстве.
Чтобы получить толчок и фоновые уведомления снова работает:

  • удалить приложение из тестового устройства
  • выполнения «чистых» в XCode
  • выполнить «сборки» в XCode
  • переустановить приложение к устройство
+0

Можете ли вы подробнее остановиться на этом? –