【问题标题】:How can I decode data from google rtdn?如何解码来自 google rtdn 的数据?
【发布时间】:2023-02-06 09:40:07
【问题描述】:

我使用 nestjs 并且正在尝试实施 Google IAP。

通过google real-time developer notification向服务器发送订阅数据。

在这个过程中,谷歌告诉我解码base64数据。

对于 ios,我可以通过 app-store-server-api api 轻松解码它。

谷歌的话,不知道有没有这样的api。

【问题讨论】:

    标签: in-app-purchase


    【解决方案1】:

    您可以从 base64 字符串创建一个缓冲区,然后解析为 JSON,这将允许您从 RTDN 访问数据:

    举个例子:

    const b64string = body.message.data;
    
    try {
        const bufferString = Buffer.from(b64string, 'base64').toString();
        data = JSON.parse(bufferString);
      } catch (err) {
        console.log('ERROR parse base64: ', err);
      }
    

    您应该能够访问 purchaseToken,它可用于通过 android 发布者 API 验证购买。您可以使用 Google Android Publisher npm 包来访问 API:

    https://www.npmjs.com/package/@googleapis/androidpublisher

    访问订阅的示例(您需要先设置身份验证并初始化客户端):

        const subscriptionResponse = await androidPublisherClient.purchases.subscriptionsv2.get({
          packageName: ANDROID_BUNDLE_ID,
          token: data.subscriptionNotification.purchaseToken
        });
    

    【讨论】:

      猜你喜欢
      • 2022-10-05
      • 2010-10-26
      • 1970-01-01
      • 2021-09-11
      • 1970-01-01
      • 2012-02-08
      • 2019-05-28
      • 1970-01-01
      相关资源
      最近更新 更多