с Gluonhq Charm Down, как интегрировать, а затем протестировать InAppBillingService с сервером Google Play?

Я создал версию для Android, которая теперь включает Gluonhq InAppBillingService для покупки моего приложения в Google Play Store.

Эта версия загружается в консоль разработчика Google Play.
Один тестер (я, с другой учетной записью gmail) может загрузить эту версию apk из Google Play Store и установить ее.
Я запускаю ее на своем телефоне с adb для отлова некоторые следы отладки, особенно в отношении вызовов биллингового API.

Результаты тестирования: PlayerService присутствует, но никогда не готов. Что это значит?

заранее спасибо


Подробно:
- вхожу в PlayerService.getInstance(). ПолучитьСервис(). IfPresent(service -> {..
- Но после этого сервис никогда не будет готов (напрямую через 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 - перед проверкой нового значения"
- и "Deb updateProductDetailsGPS"

Таким образом, метод updateProductDetailsGPS, который получает сведения о продукте с сервера Google, никогда не вызывается.


Примечание.
Похоже, мой открытый ключ правильно определен в BASE_64_ANDROID_PUBLIC_KEY.

Как вы обычно можете проверить такую ​​проблему интеграции с сервером Google Play?

Например, как проект InAppBillingSample завершил интеграцию своего биллингового API (который я сейчас использую) и сервера Google Play?


person Pascal DUTOIT    schedule 14.08.2018    source источник


Ответы (1)


Я ничего не знаю о Gluonhq, но в Google Play есть целая веб-страница, посвященная рекомендуемому процессу. для тестирования биллинга в приложении. Стоит выполнить все шаги там.

person Nick Fortescue    schedule 15.08.2018
comment
Мой вопрос касается не процесса тестирования (который я знаю), а способа использования для отладки запросов/ответов между двумя устройствами: телефоном Android и удаленным сервером Google Play. Вы уже проводили такую ​​интеграцию? - person Pascal DUTOIT; 16.08.2018
comment
Служба поддержки Google Play говорит, что эта проблема выходит за рамки их компетенции, потому что это не их решение для выставления счетов. - person Pascal DUTOIT; 17.08.2018