Gdx-Pay iOS商店,找不到产品信息

问题描述 投票:1回答:1

我使用Google App Store实现了针对Android的gdx-pay工作。我这样做了:https://bitbucket.org/just4phil/gdxpayexample/src/

我现在正试图让它在iOS上运行,但找不到任何关于如何做到这一点的文档。在上面链接的项目中,没有“ios app store”或对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;
    }

核心:

// ---- 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中显示此消息:

您的首次应用内购买必须使用新的应用版本提交。从应用程序的应用内购买部分中选择它,然后单击提交。

上传二进制文件并提交第一次应用内购买后,可以使用下表提交其他应用内购买。

没有上传实际的应用程序,没有办法测试?

ios libgdx app-store robovm
1个回答
0
投票

我有同样的问题,并看到相同的错误消息。

我认为让IAP工作的两个关键是:

  1. 使用真实设备进行测试,而不是模拟设备。
  2. 使用沙盒帐户登录,而不是真实帐户。

在itunesconnect上创建您的沙盒帐户。构建您的应用程序并使用xcode将其安装到您的ipad / iphone上。在您的设备上,进入设置并注销。这个很重要。运行您的应用并进行购买。系统将提示您登录。使用您的沙箱帐户。

我做到了这一点并且有效。

© www.soinside.com 2019 - 2024. All rights reserved.