2013-12-23 1 views
2

Я пытаюсь внедрить покупки приложений для приложения для Android. Итак, для поддержки различных магазинов приложений (например, Samsung, Google Play, Amazon и т. Д.) Я использую OpenIab от enter link description hereТестирование Amazon InApp с использованием OpenIab

Я успешно использовал OpenIab для Google Play Store.

Но, для Amazon, я не могу проверить покупки InApp. Я хочу протестировать покупки Amazon с помощью тестера Amazon SDK. Для этого я создал amazon.sdktester.json и помещен в /sdcard/amazon.sdktester.json

Теперь asusual, я выполнить следующие шаги

String base64EncodedPublicKey = "xxxxxxxx"; 

Map<String, String> storeKeys = new HashMap<String, String>(); 
     storeKeys.put(OpenIabHelper.NAME_GOOGLE, base64EncodedPublicKey); 
OpenIabHelper helper= new OpenIabHelper(this, storeKeys); 
     helper.startSetup(new IabHelper.OnIabSetupFinishedListener() { 

      @Override 
      public void onIabSetupFinished(IabResult result) { 
       // TODO Auto-generated method stub 

       if (result.isSuccess()) { 
        System.out.println("Successfully Setup finished"); 
       } 
       else { 
        System.out.println("Failed to setup IAB"+result.getMessage()); 
       } 

      } 
     }); 

Теперь IabSetup становится не удалось то, result.isSuccess() возвращается false.

Но, если я использую IAP API, то Amazon SDK tester запускается отлично.

Итак, мой вопрос заключается в том, как использовать тестер Amazon SDK с OpenIab i.e, как протестировать покупки Amazon InApp, используя OpenIab.

ответ

3

Это происходит потому, что OpenIAB должен выбрать правильный магазин для покупки покупок. Покупка маршрутов OpenIAB в Amazon только при обнаружении специальных атрибутов, которые поступают с приложения из Amazon Store.

Чтобы заставить OpenIAB работу за счет использования Amazon следующих подходов:

1) Если вы используете OpenIAB.jar не хотят иметь дело с источниками использовать конструктор OpenIABHelper (контекст, Options), как показано ниже:

Options opts = new Options(); 
    opts.storeKeys = new HashMap<String, String>(); 
    opts.availableStores = new ArrayList<Appstore>(); 
    opts.availableStores.add(new AmazonAppstore(context) { 
     public boolean isBillingAvailable(String packageName) { 
      return true; 
     } 
    }); 
    mHelper = new OpenIabHelper(context, opts); 

Этот код должен использоваться только для целей тестирования. Убедитесь, что вы не отправляете его на производство, потому что OpenIAB будет пытаться маршрутизировать покупки только в Amazon независимо от того, где было установлено приложение от

2) если вы хотите работать с источниками OpenIAB, а не просто переключаться на пару флагов в AmazonStore:

public class AmazonAppstore extends DefaultAppstore { 
    private static final boolean mDebugLog = false; 
    private static final String TAG = AmazonAppstore.class.getSimpleName(); 

    private volatile Boolean sandboxMode = false; // <------- switch to false!!! 

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

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