我使用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中显示此消息:
您的首次应用内购买必须使用新的应用版本提交。 从应用程序的应用程序内购买部分中选择它,然后单击提交。
上传二进制文件后,您的首次应用程序内购买了 已提交审核,其他应用程序内购买可以 使用下表提交。
如果没有上传实际应用,是否无法测试?
答案 0 :(得分:0)
我遇到了同样的问题并且看到了相同的错误消息。
我认为让IAP工作的两个关键是:
在itunesconnect上创建您的沙盒帐户。 构建您的应用程序并使用xcode将其安装到您的ipad / iphone上。 在您的设备上,进入设置并注销。这个很重要。 运行您的应用并进行购买。系统将提示您登录。使用您的沙箱帐户。
我做到了这一点并且有效。