Как отправить голосовое push-уведомление с узла js?Я могу отправить VoIP толчок от curl, но не узла - PullRequest
0 голосов
/ 29 сентября 2019

Я делаю приложение ios, используя push-уведомления voip.Я хочу отправить push-уведомление по voip с узла js, но не очень хорошо.

Я прочитал этот учебник Учебник по CallKit iOS Swift для приложений VoIP (Super Easy) , и я создал приложение ios с помощью voip push,Я могу отправить VoIP Push из команды curl.

curl -v -d '{"aps":{"alert":"hello"}}' --http2 --cert chara.pem:passphase https://api.push.apple.com/3/device/ede0d5e78f771d5916345aa48bd098e86aeab40b5e7d985fb9c74586d1a5a681

node index.js

const http2 = require('http2');
const fs = require('fs');

exports.handler = async (event) => {

    const bundleID = 'com.swiswiswift.CharacterAlarm'
    const deviceToken = 'ede0d5e78f771d5916345aa48bd098e86aeab40b5e7d985fb9c74586d1a5a681'

    const headers = {
      'apns-topic': bundleID
    };

    const options = {
      protocol: 'https:',
      method: 'POST',
      hostname: 'api.push.apple.com',
      path: '/3/device/' + deviceToken,
      headers: headers,
      cert: fs.readFileSync('chara.pem'),
      passphrase: "passphrase"
    };

    const client = http2.connect('api.push.apple.com')
    const req = client.request(options)
    req.setEncoding('utf8')

    req.on('response', (headers, flags) => {
      console.log(headers)
    });

    let data = ''
    req.on('data', (d) => data += d)
    req.on('end', () => client.destroy())
    req.end()
}

exports.handler('local-test')

[Object: null prototype] {
  ':status': 405,
  'apns-id': 'xxxxxxx-xxxx-xxxx-xxx-xxxxxxxx' }
...