如何为Google Play和Amazon App Store维护2套应用内购买代码

时间:2013-06-27 17:10:37

标签: android google-play amazon-appstore

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

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

我在想,大多数人如何维护此类代码?除了使用RoboBillingLibrary之外。我仍然尽量不依赖第三方库,除非我真的需要。因为要获得稳定的应用内购买流程并不容易。我收到关于应用内购买的崩溃报告,并且不知道为什么。虽然几乎所有的代码都只是从官方代码示例中复制粘贴。

1 个答案:

答案 0 :(得分:0)

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

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

  1. 创建IBilling接口,典型成员为init(),isAvailable(),buy(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
     }