Sendbird, функция push-уведомлений Cordova

Я создаю приложение для чата, используя Sendbird и Cordova, однако они, кажется, предлагают API для push-уведомлений. для всех платформ, кроме Javascript. У них есть push-уведомления для Android, ios, Unity и .Net + Xamarin.. Поскольку я новичок, я не уверен, является ли JS API неполным или у них есть дизайнерские решения, чтобы не реализовать его.

Может ли кто-нибудь помочь мне с получением push-уведомлений для Sendbird и Cordova, я предполагаю, что FCM потребуется.


person sqwale    schedule 07.01.2018    source источник


Ответы (2)


Я нашел лоскутное решение.

Вам нужно будет использовать API платформы и установить следующие две команды.

  1. Плагин Cordova add phonegap-plugin-push --variable SENDER_ID="xxxxxxxx" --save
  2. плагин Cordova добавить Cordova-plugin-fcm

Прежде чем вышеизложенное заработает в вашем проекте, вам необходимо выполнить шаги 1 и 2 для Android и /или 1,2 и 3 для iOs.

После того, как все будет завершено, вы должны поместить следующие два файла в корневой каталог вашего проекта, чтобы «www» был родственным файлам с точки зрения иерархии.

  1. google-services.json
  2. GoogleService-Info.plist

после завершения выполните этот шаг из phone-gap-push< /а>. В идеале вам нужен только следующий фрагмент для регистрации токена.

const push = PushNotification.init({
android: {
},
browser: {
    pushServiceURL: 'http://push.api.phonegap.com/v1/push'
},
ios: {
    alert: "true",
    badge: "true",
    sound: "true"
},
windows: {}
});

push.on('registration', (data) => {
 // what you get back in your data variable will be two things
 // registrationId and registrationType

 // Use the returned values to make the platform api call to sendbird    
});

Важно отметить, что sendbird отправляет push-уведомления только тогда, когда вы не в сети. Документация по push-уведомлениям для iOS или Android очень хорошо выделяет эти заявления об отказе от ответственности.

Настроив службу push-уведомлений для приложения, пользователи вашего приложения смогут получать сообщения, даже если они не в сети. Как правило, вы можете захотеть, чтобы пользователи получали push-уведомления после того, как их приложение перейдет в фоновый режим. SendBird SDK автоматически определяет, переходит ли ваше приложение в фоновый режим, и обновляет статус подключения пользователя на Отключено. Поэтому в обычных случаях вам не нужно явно вызывать разъединение.

Вот вам и реализация corodva/phonegap/javascript для push-уведомлений на Sendbird.

И нет, я не могу сказать вам, почему Sendbird не задокументировал подобное! Если у кого-то есть лучший, более эффективный способ, я весь слушаю.

person sqwale    schedule 10.01.2018

Sendbird теперь предоставляет методы в JS SDK для регистрации/отмены регистрации устройств.

getPendingGCMToken(): string;
getPendingAPNSToken(): string;

registerGCMPushTokenForCurrentUser(gcmRegToken: string, callback?: pushSettingCallback): void;
unregisterGCMPushTokenForCurrentUser(gcmRegToken: string, callback?: commonCallback): void;
unregisterGCMPushTokenAllForCurrentUser(callback?: commonCallback): void;

registerAPNSPushTokenForCurrentUser(apnsRegToken: string, callback?: pushSettingCallback): void;
unregisterAPNSPushTokenForCurrentUser(apnsRegToken: string, callback?: commonCallback): void;
unregisterAPNSPushTokenAllForCurrentUser(callback?: commonCallback): void;

unregisterPushTokenAllForCurrentUser(callback?: commonCallback): void; // This removes both All APNS/GCM tokens

Однако у меня есть токены, зарегистрированные таким образом, которые отображаются на панели инструментов sendbird, но я не получаю уведомлений. Я сообщу, когда/если служба поддержки sendbird свяжется со мной.

person William Neely    schedule 31.03.2018