2013-06-27 1 views
1

Из прошлогоднего опроса (не уверен, что он по-прежнему действует), похоже, что разработчики приносят больше дохода в магазине Amazon App Store, чем Google Играть. Это удивительно, поскольку я думал, что Google Play найден на всех устройствах Android. Предполагается, что он будет получать наибольший доход. Не знаю, почему.Как вы поддерживаете 2 комплекта кода покупки в приложении для Google Play и магазина приложений Amazon

Следовательно, я планировал попробовать в магазине приложений Amazon. Тем не менее, я понимаю, что мне нужно поддерживать 2 набора кода покупки в приложении, для Google Play и Amazon App Store?

Мне было интересно, как большинство из вас поддерживает такой код? Помимо использования RoboBillingLibrary. Я по-прежнему стараюсь не полагаться на стороннюю библиотеку, если только мне это не нужно. Поскольку непросто иметь стабильный поток покупок в приложении. Я получаю сообщение о сбое раз в то время относительно покупки в приложении и не знаю, почему. Хотя почти весь код просто просто копирует n пасту из официального примера кода.

ответ

0

Я использую BAT-файл для создания различных версий (Android, Kindle Fire, iOS). Каждая версия построена с другим значением для условного символа компиляции, который указывает целевой рынок.

Я использую этот подход для моего кода:

  1. Создайте интерфейс IBilling, с типичными членами являются Init(), isAvailable(), покупка (ы), getInventory (игрок) и т.д.
  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 
    } 
    

 Смежные вопросы

  • Нет связанных вопросов^_^