2013-06-27 27 views
1

從過去的1年調查(不確定它仍然有效)來看,開發人員在亞馬遜App Store中創造的收入高於谷歌玩。這很令人驚訝,因爲我認爲Google Play可以在任何Android設備中找到。它假設產生大部分收入。不知道爲什麼。如何爲Google Play和亞馬遜應用商店維護2套應用內購買代碼

因此,我打算在亞馬遜App Store上試一試。但是,我意識到我需要爲Google Play和Amazon App Store維護兩套應用內購買代碼?

我想知道,你們大多數人如何維護這樣的代碼?除了使用RoboBillingLibrary。除非我真的必須,否則我仍然不要依賴第三方庫。因爲擁有穩定的應用內購買流程並不容易。我一度收到關於應用內購買的崩潰報告,不知道爲什麼。儘管幾乎所有的代碼都只是從官方代碼示例複製粘貼。

回答

0

我使用BAT文件來構建不同的版本(Android,Kindle Fire,iOS)。每個版本都有一個不同的值,用於表示目標市場的條件編譯符號。

我用這個方法對我的代碼:

  1. 創建界面IBilling,具有典型的成員是的init(),isAvailable(),購買(SKU),getInventory(播放器)等
  2. 創建班級結算,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 
    }