Android 随着Gluonhq魅力的下降,如何将其InAppBillingService与Google Play服务器集成并测试?
我已经创建了一个Android版本,现在包括Gluonhq InAppBillingService,用于在Google Play Store下购买我的应用程序 此版本加载到Google Play开发者控制台。Android 随着Gluonhq魅力的下降,如何将其InAppBillingService与Google Play服务器集成并测试?,android,javafx,google-play,gluon-mobile,android-billing,Android,Javafx,Google Play,Gluon Mobile,Android Billing,我已经创建了一个Android版本,现在包括Gluonhq InAppBillingService,用于在Google Play Store下购买我的应用程序 此版本加载到Google Play开发者控制台。 一个测试人员(我自己和另一个gmail帐户)可以从Google Play Store加载这个apk版本并安装它。 我用adb在手机上运行它,以捕获一些调试跟踪,特别是关于计费API调用的跟踪 测试结果:PlayerService存在,但从未准备就绪。这是什么意思 提前谢谢 详细信息: -
一个测试人员(我自己和另一个gmail帐户)可以从Google Play Store加载这个apk版本并安装它。
我用adb在手机上运行它,以捕获一些调试跟踪,特别是关于计费API调用的跟踪 测试结果:PlayerService存在,但从未准备就绪。这是什么意思 提前谢谢
详细信息:
-我输入PlayerService.getInstance()。GetService()。如果存在(服务->{..
-但之后,服务永远不会准备好(直接通过service.isReady()或不通过侦听其更改) 以下是我的代码(traceP只是跟踪调试方法): 关于:
-“InterrogerServeUrleSlicesHg-测试前新值”
-和“Deb updateProductDetailsGPS” 因此,从未调用从Google服务器获取产品详细信息的updateProductDetailsGPS方法
注:
我的公钥似乎在BASE_64_ANDROID_public_key中定义正确 您通常如何使用Google Play server测试此类集成问题?
例如,InAppBillingSample项目是如何完成其计费API(我现在使用的)和Google Play服务器的集成的?我对Gluonhq一无所知,但Google Play知道。遵循所有步骤是非常值得的。我的问题不是关于测试过程(我知道的)但是调试两台设备之间的请求/响应的方法:Android手机和远程Google Play服务器。你已经做过这种集成了吗?Google Play支持部门表示,这个问题超出了他们的范围,因为这不是他们的计费解决方案
PlayerService.getInstance().getService().ifPresent(service -> {
traceP("interrogerServeurSurLesLicencesHG - before 1st test service ready");
if (service.isReady()) {
updateProductDetailsGPS(service); // affecte bLicence_STD_HG_achetee
} else {
traceP("interrogerServeurSurLesLicencesHG - before 2nd test service ready");
service.readyProperty().addListener(new ChangeListener<Boolean>() {
// se synchroniser avec le seveur de license GPS
@Override
public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
traceP("interrogerServeurSurLesLicencesHG - before test newValue");
if (newValue) {
traceP("interrogerServeurSurLesLicencesHG - when new value");
updateProductDetailsGPS(service); // affecte bLicence_STD_HG_achetee
service.readyProperty().removeListener(this);
}
}
});
}
});
traceP("Fin interrogerServeurSurListeDesProduitsHG - bInterrogationFaiteAvecSucces " + bInterrogationFaiteAvecSucces);
static void updateProductDetailsGPS(InAppBillingService service) {
traceP("Deb updateProductDetailsGPS");
BillingGPS.setUpdateStateGPS(StateGPSType.NONE);
Worker<List<Product>> productDetails = service.fetchProductDetails();
productDetails.stateProperty().addListener((obs, ov, nv) -> {
switch (nv) {
case CANCELLED:.....
I/System.out(19417): heure : 157 ms --- interrogerServeurSurLesLicencesHG - billingType: GPS
I/System.out(19417): heure : 162 ms --- interrogerServeurSurLesLicencesHG - before 1st test service ready
I/System.out(19417): heure : 162 ms --- interrogerServeurSurLesLicencesHG - before 2nd test service ready
I/System.out(19417): heure : 163 ms --- Fin interrogerServeurSurListeDesProduitsHG - bInterrogationFaiteAvecSucces false