2017-02-21 7 views
1

У меня есть рабочая реализация gdx-pay для Android с помощью Google App Store. Я сделал следующее: https://bitbucket.org/just4phil/gdxpayexample/src/.Gdx-Pay iOS store, не может найти информацию о товаре

Теперь я пытаюсь заставить его работать с iOS, но не могу найти никаких документов о том, как это сделать. В связанном выше проекте нет «магазина приложений ios» или любых изменений, внесенных в проект ios. Кто-нибудь имеет ссылку на пример работы с ios?

Я попробовал некоторый материал и получил это далеко:

IOSResolver:

public class IOSResolver extends PlatformResolver { 

    public IOSResolver(MyGdxGame myGame) { 
     super(myGame); 

     PurchaseManagerConfig config = myGame.purchaseManagerConfig; 
     initializeIAP(null, myGame.purchaseObserver, config); 
     installIAP(); 
    } 

IOSLauncher:

@Override 
    protected IOSApplication createApplication() { 
     IOSApplicationConfiguration config = new IOSApplicationConfiguration(); 
     config.orientationLandscape = false; 
     config.orientationPortrait = true; 
     config.useCompass = false; 
     config.useAccelerometer = false; 
     game = new MyGdxGame(new IOSPlatform()); 
     return new IOSApplication(game, config); 
    } 

@Override 
    public boolean didFinishLaunching(UIApplication application, UIApplicationLaunchOptions launchOptions) { 
     boolean finished = super.didFinishLaunching(application, launchOptions); 
     game.setPlatformResolver(new IOSResolver(game)); 
     return finished; 
    } 

Core:

// ---- IAP: define products --------------------- 
     purchaseManagerConfig = new PurchaseManagerConfig(); 
     purchaseManagerConfig.addOffer(new Offer().setType(OfferType.ENTITLEMENT).setIdentifier(ios_productId)); 

Это дает мне ошибку :

[GdxPay/AppleIOS] Requesting product info for test.product.id 
2017-02-20 16:58:58.089803 IOSLauncher[5611:2144625] [info] gdx-pay: calls purchasemanager.purchase() 
[GdxPay/AppleIOS] Error purchasing product (wrong product info count returned: 0)! 
com.badlogic.gdx.utils.GdxRuntimeException: java.lang.RuntimeException: Error purchasing product (wrong product info count returned: 0)! 
    at com.scene2d.space_camp.MyGdxGame$1.handlePurchaseError(MyGdxGame.java) 
    at com.badlogic.gdx.pay.ios.apple.PurchaseManageriOSApple$AppleProductsDelegatePurchase.didReceiveResponse(PurchaseManageriOSApple.java) 
    at com.badlogic.gdx.pay.ios.apple.PurchaseManageriOSApple$AppleProductsDelegatePurchase.$cb$productsRequest$didReceiveResponse$(PurchaseManageriOSApple.java) 
    at org.robovm.apple.uikit.UIApplication.main(UIApplication.java) 
    at org.robovm.apple.uikit.UIApplication.main(UIApplication.java) 
    at com.scene2d.tut.IOSLauncher.main(IOSLauncher.java) 
Caused by: java.lang.RuntimeException: Error purchasing product (wrong product info count returned: 0)! 
    ... 5 more 

Я зарегистрировал приложение в iTunes Connect и настроил продукт. Однако я не писал двоичные файлы, мне нужно для тестирования IAP? Он показывает это сообщение в iTunes Connect:

Your first In-App Purchase must be submitted with a new app version. Select it from the app’s In-App Purchases section and click Submit.

Once your binary has been uploaded and your first In-App Purchase has been submitted for review, additional In-App Purchases can be submitted using the table below.

Нет ли способа протестировать без загрузки фактического приложения?

+0

Вы когда-нибудь решали эту проблему? – grimrader22

+0

@ grimrader22 Я этого не сделал, но я пришел к выводу, что вам нужно настроить кучу вещей (контракт подписать и т. Д.) В itunesConnect, чтобы проверить. Поэтому я предполагаю, что именно поэтому. –

+0

Это действительно проблема. Как только мое соглашение с Paid Apps обработало IAP, стало доступно в приложении. – grimrader22

ответ

0

У меня была такая же проблема и я видел такое же сообщение об ошибке.

Я думаю, что два ключ к получать ваш IAPS работы являются следующим:

  1. Используйте реальное устройство для тестирования, а не эмулируемые один.
  2. Войти с учетной записью песочницы, а не реальной.

Создайте свою учетную запись изолированной программы на itunesconnect. Создайте приложение и установите его на свой ipad/iphone с помощью xcode. На вашем устройстве перейдите в настройки и выйдите из системы. Это важно. Запустите приложение и совершите покупку. Вам будет предложено войти в систему. Используйте свою учетную запись для песочницы.

Я сделал это, и это сработало.