Обновление файла Apple Wallet .pkpass, хранящегося в облачном хранилище, с Firebase Cloud Functions на устройство - PullRequest
0 голосов
/ 08 октября 2019

Я пытаюсь обновить проход в кошельке, мне нужен только последний шаг:

В документации Apple указано:

"Ваш сервер возвращает данные прохода или статус HTTP 304Не изменяется, если передача не изменилась. Поддержите механизм кэширования If-Modified-Since на этой конечной точке. "

functions.https.onRequest((request, response) => {

Прежде всего, я не знаю, как именно должны отправляться данные

    let file = bucket.file('Event.pkpass');

            file.createReadStream()
                .on('error', function(err) {
                    console.log("file get Error", err);
                })
                .on('response', function(resp) {
                // Server connected and responded with the specified status and headers.
                    console.log("file get response", resp);
                })
                .on('end', function() {
                    console.log("File is downloaded");
                    // The file is fully downloaded.
                })
            .pipe(response);

Мой вопрос, что именно ожидает устройство? Как отправить этот pkpass? Я не программист Nodejs (программист iOS), так что терпите меня.

1 Ответ

0 голосов
/ 10 октября 2019
let file = bucket.file('Event_1.pkpass');
            file.createReadStream()
                .on('error', function(err) {
                    console.log("File get Error", err);
                    response.status(501).send();
                })
                .on('response', function(resp) {
                    console.log("File get response", resp);
                })
                .on('end', function() {
                    console.log("File is downloaded");
                    response.status(200).send();
                })
            .pipe(response);

Я понял это сам. Также не забудьте установить правильный заголовок для Content-Type

...