我想将Javafx产品连接到Googe Play商店。为此,我在应用程序计费中包含了gluon插件。但是,对于使用此服务,我仅在http://docs.gluonhq.com/charm/javadoc/4.4.1/com/gluonhq/charm/down/plugins/InAppBillingService.html
中找到了此示例此示例提供了一些相关信息,但并未完全说明Google Play在“上下文胶子”中的计费和购买机制。
我可以得到一个Java代码示例,该示例提供计费和购买机制吗?
这将涵盖以下问题:
-如何通过密钥....
发起与Google Play的连接
-如何购买产品
-如何知道该产品之前是否已经购买?
-....
谢谢
请注意,此示例提供了有关操作的一些想法,但是很遗憾,它不够准确:
-未定义productList。与productDetails通过哪种方式相关?
-将“ finishedProduct.getTitle()”替换为“ finishedProduct.getDetails.getTitle()”
-具有buyedProduct的同上
-“工人订单= service.order(product1);”中的product1;未定义。用“产品”代替“产品1”似乎还好吗?
-私有方法“ order”在语法上不正确
-并且未定义字符串androidBase64LicenseKey(但这很正常:))
答案 0 :(得分:1)
InAppBillingSample是一个完整的工作示例,显示了刚刚发布的应用内结算服务可以如何用于向您的应用添加购买。
应用内结算服务
Charm Down service和设置之一一起添加到了应用程序。
此服务的主要部分是:
检索产品
应用启动后,您可以检索现有产品:
Worker<List<Product>> productDetails = service.fetchProductDetails();
并成功处理它们:
createProductGrid(productDetails.getValue());
在这种情况下,产品将显示在视图的底部,并在可能的情况下带有购买按钮:
购买产品
如果用户决定购买产品,则订单将被处理:
Worker<ProductOrder> order = service.order(product);
成功处理订单后,我们致电finish
来完成订单:
Worker<Product> finish = service.finish(order.getValue());
并在成功后获得购买的产品:
Product finishedProduct = finish.getValue();
...
player.boughtHealthPotion();
样品设置
要在Android和iOS上进行设置,您必须输入Google Play开发者控制台或Apple App Store Connect并注册一些产品以进行应用内购买。
在此示例中,这些产品是:
com.gluonhq.inappbilling.health_potion (consumable product)
com.gluonhq.inappbilling.wooden_shield (non consumable product)
提供一些详细信息,例如价格,名称或描述:
对于Android,您还需要Google Play开发者帐户中的base64编码的RSA公钥,该公钥必须复制到PlayerService
:
private static final String BASE_64_ANDROID_PUBLIC_KEY = "MIIBIjANBgkqhkiG*******DAQAB";
请注意,要测试apk / ipa,您需要进行发布/分发,因此必须正确签名应用。
台式机
在桌面上,应用内结算服务无法正常运行,但您可以到目前为止测试该应用。
样本中有一名可以战斗的球员,每次战斗都会失去一些生命值(从10点开始)。
当您的健康耗尽时,您可以购买健康药水,也可以使用木盾减少每次战斗中失去的健康。当然,这仅适用于移动设备。
您会看到自己的库存:
移动
在Android或iOS上运行该应用程序时,您可以随时购买耗材,而一次性耗材则只能购买一次。
进行测试时,购买时不涉及任何费用:
在Android上:
或在iOS上:
一旦购买了一些物品,就可以从库存中消费了