Как подключить уведомления Google Play для разработчиков в режиме реального времени к облачной функции Firebase через Pub / Sub? - PullRequest
4 голосов
/ 18 сентября 2019

Я нахожусь на завершающей стадии разработки для моего нового мобильного приложения, но, похоже, не могу найти способ, позволяющий Google Play в реальном времени уведомлять разработчиков о взаимодействии с облачной функцией firebase через рекомендованный Google Pub / Submethod.

Ожидаемый поток полезной нагрузки должен выглядеть следующим образом:

Подписка на пользовательские покупки через Play Store > Play Store отправляет уведомление RT Dev в Pub / Sub > Pub / Sub отправляет сообщение через облачную функцию Firebase > Облачная функция запускается с полезной нагрузкой .

У меня в настоящее время настроен веб-крючок Apple Developer ваналогичным образом, который подключает данные чека к облачной функции iOS, которую я настроил.

На этапе настройки pub / sub страница Pub / Sub просит проверить URL-адрес облачной функции, что я не могу сделать, как я.Я не являюсь истинным веб-мастером домена облачных функций, поэтому я остановился примерно на полпути к документам «Добавить уведомление разработчика в реальном времени», которые предоставляет Google.

Есть лиспособ получить уведомление RT для облачной функции Pub / Sub или облачной функции HTTPS, минуя паб / Sub Google и перейдя непосредственно к webhook, или другой способ выполнить описанный выше поток?

Конечная цельзаключается в том, чтобы убедиться, что сделанная покупка действительно является действительной, а не поддельным запросом, сделанным кем-то, перехватившим клиентский веб-крючок и отправившим свое собственное согласие.

1 Ответ

0 голосов
/ 26 сентября 2019

После создания новой темы вы НЕ должны создать вручную подписку Pub / Sub, как описано в документации .

Чтобы заставить его работать с firebase, вам необходимо развернуть новую облачную функцию, подобную этой:

exports.YOUR_FUNCTION_NAME = functions.pubsub.topic('YOUR_TOPIC_NAME').onPublish((message) => {

  // Decode the PubSub Message body.
  const messageBody = message.data ? Buffer.from(message.data, 'base64').toString() : null;

  // Print the message in the logs.
  console.log(`Hello ${messageBody || 'World'}!`);
  return null;


});

Обратите внимание, что вам нужно заменить YOUR_FUNCTION_NAME и YOUR_TOPIC_NAME.

При развертывании этой функции финиш , вы, наконец, найдете функцию в списке подписки .На этом этапе вы можете редактировать параметры автоматически созданной подписки, и вы найдете конечную точку URL уже , заполненную внутренним URL.

Здесь вы можете найти пример: как настроить облачную функцию, запускаемую PubSub, с помощью Firebase SDK для облачных функций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...