【问题标题】:How do you maintain 2 sets of in-app purchase code for Google Play and Amazon App StoreGoogle Play 和 Amazon App Store 的 2 套应用内购买代码如何维护
【发布时间】:2013-06-27 17:10:36
【问题描述】:

从过去 1 年的调查来看(不确定它是否仍然有效),似乎开发人员在 Amazon App Store 中产生的收入超过了 Google Play。这很令人惊讶,因为我认为每个 Android 设备都可以找到 Google Play。它应该会产生大部分收入。不知道为什么。

因此,我打算在 Amazon App Store 中尝试一下。但是,我意识到我需要为 Google Play 和 Amazon App Store 维护 2 组应用内购买代码?

我想知道,你们中的大多数人如何维护这样的代码? 除了使用RoboBillingLibrary。我仍然尽量不依赖 3rd 方库,除非我真的必须这样做。因为拥有稳定的应用内购买流程并不容易。我有时会收到有关应用内购买的崩溃报告,但不知道为什么。虽然几乎所有代码都只是从官方代码示例中复制粘贴。

【问题讨论】:

    标签: android google-play amazon-appstore


    【解决方案1】:

    我使用 BAT 文件来构建不同的版本(Android、Kindle Fire、iOS)。每个版本都使用不同的值构建用于指示目标市场的条件编译符号。

    我将这种方法用于我的代码:

    1. 创建接口 IBilling,典型成员为 init()、isAvailable()、purchase(sku)、getInventory(player) 等。
    2. 创建类 Billing、BillingGoogle、BillingAmazon 和 BillingApple。都实现了 IBilling。
    3. 在主Billing类的每个方法中,条件编译符号用于调用三个市场Billing类之一中的对应方法。市场特定代码处理细节。

      class Billing implements IBilling
      {
          void init() 
          {
             if marketplace-conditional-var == 'G'
                   BillingGoogle.init();
             if marketplace-conditional-var == 'A'
                   BillingAmazon.init();
             if marketplace-conditional-var == 'P'
                   BillingApple.init();
          }
      
          // similar code for isAvailable(), purchase(sku), etc. follows
       }
      

    【讨论】:

      猜你喜欢
      • 2015-06-30
      • 1970-01-01
      • 2017-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-16
      • 2013-04-06
      • 1970-01-01
      相关资源
      最近更新 更多