2014-06-04 2 views
2

В документе указано, что [client relayLocalNotification:] должен быть защищен чеком [client isStarted], но не указан в [client relayRemotePushNotificationPayload:] (я доставляю полезную нагрузку удаленного push-уведомления через мой собственный сокет, а не уведомление Apple push).Sinch разъяснение относительно relayRemotePushNotificationPayload:

Мои вопросы:

  • Будет [client relayRemotePushNotificationPayload:] вызывать start автоматически или я бы лучше проверить & буфер полезных нагрузок, которые будут использоваться в clientDidStart делегатом сообщении?
  • Кажется, что в журнале зарегистрирована полезная нагрузка с удаленным push-уведомлением &, сгенерированная несколько раз, когда удаленный пользователь не подключен к сети. это по дизайну?
  • Безопасно ли звонить по телефону [_client start] несколько раз?
  • Должен ли я позвонить [_client stop], когда мое приложение перейдет на задний план? (Я использую свой собственный разъем для доставки полезной нагрузки дистанционного уведомления толчка)

ответ

5

1) [client relayRemotePushNotificationPayload:] будет внутренне вызывать start, когда она передается полезный груз, который требует от клиента быть запущена (например, вызов).

2) Если у вас несколько экземпляров (например, вы вошли в систему на нескольких устройствах) для одного и того же пользователя, это ожидается, поскольку они должны иметь разные push-данные.

3) Да, вызов start несколько раз безопасен.

4) Как правило, вы должны только позвонить stop, когда приложение вот-вот закончится, вместо этого вы можете позвонить stopListeningOnActiveConnection, если вы не хотите, чтобы соединение работало в фоновом режиме (и поскольку вы внедрили свой собственный механизм пробуждения).

+0

Когда '[client relayRemotePushNotificationPayload:]' invoke 'start', вызывается метод' clientDidStart: 'delegate, правильно? благодаря! – wangii

+1

@wangii yes будет вызван метод делегата – cahlbin

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