Приобретение приложения уже работает в моем приложении.В приложении Биллинг без сетевого подключения
Перезагружаем телефон: Запуск моего приложения: отлично работает (я получаю «лакомства» моей покупки)
Это LogCat, что показывает, что он работал:
01-15 21:54:42.039 29574-29616/mypackage D/IabHelper﹕ Got sku details: SkuDetails:{"title":"MySKU","price":"X USD","type":"inapp","description":"My description.","price_amount_micros":x,"price_currency_code":"USD","productId":"myID"}
01-15 21:54:42.039 29574-29616/mypackage D/IabHelper﹕ Querying owned items, item type: subs
01-15 21:54:42.039 29574-29616/mypackage D/IabHelper﹕ Package name: mypackage
01-15 21:54:42.039 29574-29616/mypackage D/IabHelper﹕ Calling getPurchases with continuation token: null
01-15 21:54:42.059 29574-29616/mypackage D/IabHelper﹕ Owned items response: 0
01-15 21:54:42.059 29574-29616/mypackage D/IabHelper﹕ Continuation token: null
01-15 21:54:42.069 29574-29616/mypackage D/IabHelper﹕ Querying SKU details.
01-15 21:54:43.209 29574-29616/mypackage D/IabHelper﹕ Ending async operation: refresh inventory
01-15 21:54:43.219 29574-29574/mypackage D/InAppPurchaseManager﹕ Query inventory finished.
01-15 21:54:43.219 29574-29574/mypackage D/InAppPurchaseManager﹕ Query inventory was successful.
После этого мой если утверждение верно:
if (inventory.hasPurchase(MY_SKU)
Но без интернета он не работает:
LogCat:
01-15 21:36:55.169 27961-27961/mypackage D/IabHelper﹕ In-app billing version 3 supported for mypackage
01-15 21:36:55.179 27961-27961/mypackage D/IabHelper﹕ Subscriptions AVAILABLE.
01-15 21:38:10.289 27961-27961/mypackage D/IabHelper﹕ Starting async operation: refresh inventory
01-15 21:38:11.809 27961-28082/mypackage D/IabHelper﹕ Querying owned items, item type: inapp
01-15 21:38:11.809 27961-28082/mypackage D/IabHelper﹕ Package name: mypackage
01-15 21:38:11.809 27961-28082/mypackage D/IabHelper﹕ Calling getPurchases with continuation token: null
01-15 21:38:11.829 27961-28082/mypackage D/IabHelper﹕ Owned items response: 0
01-15 21:38:11.869 27961-28082/mypackage D/IabHelper﹕ Sku is owned: my_SKU
01-15 21:38:11.899 27961-28082/mypackage D/IabHelper﹕ Continuation token: null
01-15 21:38:11.899 27961-28082/mypackage D/IabHelper﹕ Querying SKU details.
Это та часть, где, если заявление было правдой, так что не продолжил
public void onQueryInventoryFinished(IabResult result, Inventory inventory) {
Log.d(TAG, "Query inventory finished.");
// Have we been disposed of in the meantime? If so, quit.
if (mHelper == null) return;
// Is it a failure?
if (result.isFailure()) {
return;
}
Вы можете видеть, что в обоих случаях:
Он знает Sku владеет: my_SKU
Но g без возможности подключения к Интернету.
Мой вопрос:
Это нормальный рабочий? Должен ли я сохранять некоторые данные на телефоне, которые пользователь уже купил? Или есть способ, которым этот Iab API скажет мне, что пользователь уже купил его. (Я думаю, что это более безопасный способ)
И где я должен сохранить это время? в SQLITE или sharedpreferences? Это безопасно? –