Проблема с токеном ConnectyCube React Native VoIP pu sh - PullRequest
1 голос
/ 01 апреля 2020

Это моя нормальная, успешная подпитка к каналу apn или gcm

subcribeToPushNotification(deviceToken) {
    const params = {
      notification_channels: Platform.OS !== 'ios' ? 'apns' : 'gcm',
      device: {
        platform: Platform.OS,
        udid: DeviceInfo.getUniqueId()
      },
      push_token: {
        environment: __DEV__ ? 'development' : 'production',
        client_identification_sequence: deviceToken
      }
    }

    // JS SDK v2
    /*ConnectyCube.pushnotifications.subscriptions.create(params)
      .then(result => {console.log("RESULT: ", result)})
      .catch(error => {console.log("ERROR: ", error)});*/

    // JS SDK v1
    ConnectyCube.pushnotifications.subscriptions.create(
      params,
      (error, result) => {
        if (result)
          console.log("RESULT APNS: ", result)
        else
          console.log("ERROR VOIP", error)
      }
    );
  }

Теперь мне нужно использовать уведомление VOIP pu sh, но при попытке ввести следующий код:

subcribeToPushNotificationVoip(deviceToken) {
    const params = {
      notification_channels: Platform.OS === 'ios' ? 'apnsvoip' : 'gcm',
      device: {
        platform: Platform.OS,
        udid: DeviceInfo.getUniqueId()
      },
      push_token: {
        environment: __DEV__ ? 'development' : 'production',
        client_identification_sequence: deviceToken
      }
    }

    // JS SDK v2
    /*ConnectyCube.pushnotifications.subscriptions.create(params)
      .then(result => {console.log("RESULT: ", result)})
      .catch(error => {console.log("ERROR: ", error)});*/

    // JS SDK v1
    ConnectyCube.pushnotifications.subscriptions.create(
      params,
      (error, result) => {
        if (result)
          console.log("RESULT APNS: ", result)
        else
          console.log("ERROR VOIP LAST: ", error)
      }
    );
  }

console.log выдает мне эту ошибку:

 ERROR VOIP LAST:  {"code": 422, "detail": ["Invalid notification channel specified"], "message": {"errors": ["Invalid notification channel specified"]}, "status": "error"}

пример токена voip: 4dd23c212d2a8865c4747ee278de0947d0de80445400f8f85cdb5a6f3923cb74

Я использую универсальный (Sandbox & Production & VoIP) SSL-сертификат

1 Ответ

0 голосов
/ 01 апреля 2020

Для VoIP это должно быть

 notification_channel: "apns_voip"
  • Для вызовов VoIP требуется генерировать отдельный токен pu sh при подписке на пользователя, пожалуйста, посмотрите, как его получить https://github.com/react-native-webrtc/react-native-voip-push-notification#usage

  • Затем, когда токен получен, необходимо подписаться на нажатия VoIP, передав канал 'apns_voip' в запросе на подписку

  • Если вы хотите отправить уведомление voip pu sh, используйте также канал 'apns_voip' при создании события

...