Я занимаюсь разработкой модуля биллинга в приложении.Но все еще возникают некоторые проблемы.
1) Я внедрил библиотеку проверки лицензии (LVL).Все сделано как образец приложения и успешно протестировано.Но я получил сообщение об ошибке: «Разрешение CHECK_LICENSE не разрешено для бесплатного приложения».когда загрузить приложение на рынок.Я думал, что мне нужно реализовать LVL, потому что это связано с проблемой безопасности биллинга в приложении.Но кажется, что LVL только для платного приложения.Мое приложение бесплатное и включает биллинг в модуль приложения.Когда оно будет доступно для бесплатного приложения?
2) Я реализовал модуль billing-in-app, как показано ниже, когда платеж будет успешно обработан (вызовет метод купилInApp ()):
private class MyAppPurchaseObserver extends PurchaseObserver {
public MyAppPurchaseObserver(Handler handler) {
super(MyAppPurchaseObserver.this, handler);
}
@Override
public void onBillingSupported(boolean supported) {
//Doing something
}
@Override
public void onPurchaseStateChange(PurchaseState purchaseState, String itemId,
int quantity, long purchaseTime, String developerPayload) {
if(purchaseState == PurchaseState.PURCHASED) {
purchasedInApp();
}
}
@Override
public void onRequestPurchaseResponse(RequestPurchase request,
ResponseCode responseCode) {
if (responseCode == ResponseCode.RESULT_OK) {
//OK
} else if (responseCode == ResponseCode.RESULT_USER_CANCELED) {
//Canceled
} else if(responseCode == ResponseCode.RESULT_BILLING_UNAVAILABLE ||
responseCode == ResponseCode.RESULT_ITEM_UNAVAILABLE ||
responseCode == ResponseCode.RESULT_SERVICE_UNAVAILABLE ||
responseCode == ResponseCode.RESULT_DEVELOPER_ERROR) {
//Error
} else {
//Fail
}
}
@Override
public void onRestoreTransactionsResponse(RestoreTransactions request,
ResponseCode responseCode) {
if (responseCode == ResponseCode.RESULT_OK) {
//OK
} else {
//Error
}
}
}
Выше реализованные методы вызываются в основном потоке?Или это отдельная нить?
Заранее спасибо.