我创建了一个Android版本,其中现在包括Gluonhq InAppBillingService,用于在Google Play商店下购买我的应用。
此版本已加载到Google Play开发者控制台中。
一个测试人员(我自己,另一个Gmail帐户)可以从Google Play商店加载该APK版本并进行安装。
我在带有adb的手机上运行它,以捕获一些调试跟踪,尤其是有关计费API调用的跟踪。
测试结果: PlayerService存在但从未准备就绪。是什么意思?
预先感谢
详细信息:
-我输入PlayerService.getInstance()。 GetService()。 IfPresent(服务-> {..
-但是之后,该服务永远不会准备就绪(直接通过service.isReady()或不通过侦听其更改)
这是我的代码( traceP只是跟踪调试方法):
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);
和调用的方法updateProductDetailsGPS:
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:.....
我使用adb捕获手机中的调试跟踪。结果是:
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
没有有关以下内容的跟踪信息:
-“ interrogerServeurSurLesLicencesHG-测试newValue之前”
-和“ Deb updateProductDetailsGPS”
因此,永远不会调用从Google服务器获取产品详细信息的updateProductDetailsGPS方法。
注意:
我的公共密钥似乎已在BASE_64_ANDROID_PUBLIC_KEY中正确定义。
您通常如何测试与Google Play服务器的这种集成问题?
例如,InAppBillingSample项目是如何完成其计费API(我现在使用的)和Google Play服务器的集成的?
答案 0 :(得分:0)
我对Gluonhq一无所知,但Google Play有a whole web page on recommended process for testing In-app billing。遵循其中的所有步骤非常值得。