В настоящее время я пытаюсь использовать биллинг Google в приложении в своем проекте. Теперь есть сложная проблема. Я нажал кнопку, чтобы открыть интерфейс оплаты, и переключил приложение в фоновый режим до появления интерфейса оплаты, затем при повторном открытии приложения интерфейс оплаты не появился и больше не будет отображаться, пока я не перезагружу приложение. Я провел некоторое исследование и обнаружил, что это может быть связано со следующим фрагментом кода
public void Purchase(ProductDefinition product, String developerPayload) {
if (this.purchaseInProgress) {
PurchaseFailureDescription description = new PurchaseFailureDescription(product.storeSpecificId, PurchaseFailureReason.ExistingPurchasePending);
this.unityPurchasing.OnPurchaseFailed(description);
return;
}
Код выше приведен в com.unity.purchasing.googleplay.GooglePlayPurchasing. И причина проблемы, как я подозреваю, заключается в том, что как только я переключаюсь в фоновый режим, прежде чем появится интерфейс оплаты, purchaseInProgress будет всегда иметь значение true, и мне не разрешено начинать другую транзакцию, пока предыдущая еще выполняется , Я не могу изменить этот кусок кода, потому что он находится внутри googleplay SDK, который обеспечивает Unity. Есть идеи, как решить эту проблему?