[Решено] Не работает Restore purchases в Unity IAP, Android

Программирование для iPhone & Android

[Решено] Не работает Restore purchases в Unity IAP, Android

Сообщение Nolex 29 июл 2016, 12:06

Восстановление иннапов не работает (non-consumable покупки).

Удаляю игру и ставлю заново.
При запуске игры, магазин успешно инициализируется и по логам видно, что покупка ЕСТЬ на сервере:

Код: Выделить всё
07-28 18:30:20.134: I/UnityIAP(13921): Sku is owned: com.game.mysupergame_donate_pack_2


Но метод ProcessPurchase не вызывается, хотя судя по документации должен автоматически. Ручного восстановления покупок в Unity IAP не предусмотрено для Android.

Ради эксперимента попробуем вручную еще раз купить товар. Смотрим логи. Видим, что товар УЖЕ куплен и далее он нам успешно начисляется:

Код: Выделить всё
07-29 10:33:07.716: I/UnityIAP(13543): Unable to buy item (response: 7:Item Already Owned)
07-29 10:33:07.716: I/UnityIAP(13543): Product purchased successfully!


Почему не работает автоматическое восстановление покупок и не вызывается ProcessPurchase?

Полные логи инициализации при запуске игры:

Код: Выделить всё
07-28 18:30:20.114: I/UnityIAP(13921): Starting in-app billing setup.
07-28 18:30:20.122: I/UnityIAP(13921): Billing service connected.
07-28 18:30:20.123: I/UnityIAP(13921): invoking callback
07-28 18:30:20.123: I/UnityIAP(13921): Checking for in-app billing 3 support.
07-28 18:30:20.126: I/Finsky(7529): [2555] com.google.android.finsky.billing.iab.q.a(160): com.game.mysupergame: Account from first account - [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]
07-28 18:30:20.127: I/UnityIAP(13921): In-app billing version 3 supported for com.game.mysupergame
07-28 18:30:20.129: I/Finsky(7529): [2554] com.google.android.finsky.billing.iab.q.a(160): com.game.mysupergame: Account from first account - [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]
07-28 18:30:20.129: I/UnityIAP(13921): Subscriptions AVAILABLE.
07-28 18:30:20.130: I/UnityIAP(13921): onIabSetupFinished: 0
07-28 18:30:20.130: I/UnityIAP(13921): Requesting 4 products
07-28 18:30:20.130: I/UnityIAP(13921): QueryInventory: 4
07-28 18:30:20.131: I/UnityIAP(13921): invoking callback
07-28 18:30:20.131: I/UnityIAP(13921): Querying owned items, item type: inapp
07-28 18:30:20.131: I/UnityIAP(13921): Package name: com.game.mysupergame
07-28 18:30:20.131: I/UnityIAP(13921): Calling getPurchases with continuation token: null
07-28 18:30:20.133: I/Finsky(7529): [2579] com.google.android.finsky.billing.iab.q.a(160): com.game.mysupergame: Account from first account - [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]
07-28 18:30:20.134: I/UnityIAP(13921): Owned items response: 0
07-28 18:30:20.134: I/UnityIAP(13921): Sku is owned: com.game.mysupergame_donate_pack_2
07-28 18:30:20.134: I/UnityIAP(13921): Continuation token: null
07-28 18:30:20.134: I/UnityIAP(13921): Querying SKU details.
07-28 18:30:20.137: I/Finsky(7529): [2555] com.google.android.finsky.billing.iab.q.a(160): com.game.mysupergame: Account from first account - [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]
07-28 18:30:20.189: I/UnityIAP(13921): Got sku details: SkuDetails:{"productId":"com.game.mysupergame_donate_pack_1","type":"inapp","price":"21,99 грн.","price_amount_micros":21990000,"price_currency_code":"UAH","title":"1000 Coins","description":"Coins for ingame purchases"}
07-28 18:30:20.189: I/UnityIAP(13921): Got sku details: SkuDetails:{"productId":"com.game.mysupergame_donate_pack_2","type":"inapp","price":"43,99 грн.","price_amount_micros":43990000,"price_currency_code":"UAH","title":"Ads removing","description":"Remove all Ads in the game"}
07-28 18:30:20.190: I/UnityIAP(13921): Got sku details: SkuDetails:{"productId":"com.game.mysupergame_donate_pack_2","type":"inapp","price":"43,99 грн.","price_amount_micros":43990000,"price_currency_code":"UAH","title":"Ads removing","description":"Remove all Ads in the game"}
07-28 18:30:20.190: I/UnityIAP(13921): Got sku details: SkuDetails:{"productId":"com.game.mysupergame_donate_pack_3","type":"inapp","price":"149,99 грн.","price_amount_micros":149990000,"price_currency_code":"UAH","title":"Coins double + Ads removing","description":"Coins double + Ads removing"}
07-28 18:30:20.190: I/UnityIAP(13921): Got sku details: SkuDetails:{"productId":"com.game.mysupergame_donate_pack_4","type":"inapp","price":"439,99 грн.","price_amount_micros":439990000,"price_currency_code":"UAH","title":"Unlimited fuel + Coins double + Ads removing","description":"Unlimited fuel + Coins double + Ads removing"}
07-28 18:30:20.190: I/UnityIAP(13921): Querying owned items, item type: subs
07-28 18:30:20.190: I/UnityIAP(13921): Package name: com.game.mysupergame
07-28 18:30:20.190: I/UnityIAP(13921): Calling getPurchases with continuation token: null
07-28 18:30:20.192: I/Finsky(7529): [2554] com.google.android.finsky.billing.iab.q.a(160): com.game.mysupergame: Account from first account - [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]
07-28 18:30:20.193: I/UnityIAP(13921): Owned items response: 0
07-28 18:30:20.193: I/UnityIAP(13921): Continuation token: null
07-28 18:30:20.193: I/UnityIAP(13921): Querying SKU details.
07-28 18:30:20.195: I/Finsky(7529): [2579] com.google.android.finsky.billing.iab.q.a(160): com.game.mysupergame: Account from first account - [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]
07-28 18:30:20.271: I/UnityIAP(13921): onQueryInventoryFinished: true
07-28 18:30:20.271: I/UnityIAP(13921): Inventory refresh successful. (response: 0:OK)

07-28 18:30:20.507: I/Unity(13921): OnInitialized: PASS
07-28 18:30:20.511: I/art(13921): Rejecting re-init on previously-failed class java.lang.Class<org.chromium.content.browser.FloatingWebActionModeCallback>
07-28 18:30:20.512: I/art(13921): Rejecting re-init on previously-failed class java.lang.Class<org.chromium.content.browser.FloatingWebActionModeCallback>

07-28 18:30:20.513: I/Unity(13921): 1000 Coins , 21,99 грн., price_int21.99, iso: UAH
07-28 18:30:20.513: I/Unity(13921): Ads removing , 43,99 грн., price_int43.99, iso: UAH
07-28 18:30:20.513: I/Unity(13921): Coins double + Ads removing , 149,99 грн., price_int149.99, iso: UAH
07-28 18:30:20.514: I/Unity(13921): Unlimited fuel + Coins double + Ads removing , 439,99 грн., price_int439.99, iso: UAH


Unity 5.3.4
Тестировалось на Samsung Galaxy S5 и Nexus 7 2013 (Android 5).
Приложение работает в Google Play в альфе.
Последний раз редактировалось Nolex 01 авг 2016, 14:46, всего редактировалось 1 раз.
Разработка игр в студии Brinemedia .
Аватара пользователя
Nolex
UNIверсал
 
Сообщения: 483
Зарегистрирован: 17 окт 2010, 12:26
Откуда: Украина
Skype: exlumen
  • Сайт
  • ICQ

Re: Не работает Restore purchases в Unity IAP на Android

Сообщение [bm] 31 июл 2016, 20:44

Если покупка одноразовая, то зачем ее заново покупать? Вы же видите в списке что она куплена, так просто отмечайте в игре ее покупку и все.
Mafia Rush: universal iOS game _https://goo.gl/CKq4D Android _https://goo.gl/slFLXx
Shooter Ball: Android _https://goo.gl/21QyPw
skype: bmindfield
Аватара пользователя
[bm]
UNIверсал
 
Сообщения: 426
Зарегистрирован: 11 май 2010, 22:33
Откуда: Россия, Ижевск

Re: Не работает Restore purchases в Unity IAP на Android

Сообщение Nolex 01 авг 2016, 09:58

[bm] писал(а):Если покупка одноразовая, то зачем ее заново покупать? Вы же видите в списке что она куплена, так просто отмечайте в игре ее покупку и все.

Речь про восстановление покупки, которое нужно после переустановки игры или установки на новом девайсе :)
Разработка игр в студии Brinemedia .
Аватара пользователя
Nolex
UNIверсал
 
Сообщения: 483
Зарегистрирован: 17 окт 2010, 12:26
Откуда: Украина
Skype: exlumen
  • Сайт
  • ICQ

Re: Не работает Restore purchases в Unity IAP на Android

Сообщение [bm] 01 авг 2016, 10:26

Nolex писал(а):
[bm] писал(а):Если покупка одноразовая, то зачем ее заново покупать? Вы же видите в списке что она куплена, так просто отмечайте в игре ее покупку и все.

Речь про восстановление покупки, которое нужно после переустановки игры или установки на новом девайсе :)

И я об этом же, вы же получаете при инициализации "магазина": Sku is owned: com.game.mysupergame_donate_pack_2 этого же достаточно. Либо я вас не понимаю.

Какая у вас версия IAP? http://forum.unity3d.com/threads/restor ... st-2718312
Mafia Rush: universal iOS game _https://goo.gl/CKq4D Android _https://goo.gl/slFLXx
Shooter Ball: Android _https://goo.gl/21QyPw
skype: bmindfield
Аватара пользователя
[bm]
UNIверсал
 
Сообщения: 426
Зарегистрирован: 11 май 2010, 22:33
Откуда: Россия, Ижевск

Re: Не работает Restore purchases в Unity IAP на Android

Сообщение Nolex 01 авг 2016, 14:45

Обновил Unity IAP до последний версии [1.6.1] - 2016-07-18 и проблема решилась.
(Services => In-App Purchasing => Import).

Вот теперь логи такие, и видмо что при инициализации происходит восстановление покупок:

Код: Выделить всё
08-01 11:26:38.071: I/Unity(14585): InitializePurchasing is starting...
08-01 11:26:38.354: I/UnityIAP(14585): IAB helper created.
08-01 11:26:38.372: I/art(14585): Background sticky concurrent mark sweep GC freed 46496(2MB) AllocSpace objects, 12(215KB) LOS objects, 22% free, 9MB/11MB, paused 2.929ms total 291.412ms
08-01 11:26:38.476: I/UnityIAP(14585): Starting in-app billing setup.
08-01 11:26:38.477: I/Unity(14585): InitializePurchasing is finish...
08-01 11:26:39.736: I/Choreographer(14585): Skipped 83 frames!  The application may be doing too much work on its main thread.
08-01 11:26:39.736: I/UnityIAP(14585): Billing service connected.
08-01 11:26:39.737: I/UnityIAP(14585): invoking callback
08-01 11:26:39.737: I/UnityIAP(14585): Checking for in-app billing 3 support.
08-01 11:26:39.817: I/Finsky(14391): [4449] com.google.android.finsky.billing.iab.q.a(160): com.game.mysupergame: Account from first account - [xxxxxxxxxxxxxxxxxxxxxx-Hd_84]
08-01 11:26:39.820: I/UnityIAP(14585): In-app billing version 3 supported for com.game.mysupergame
08-01 11:26:39.822: I/Finsky(14391): [4449] com.google.android.finsky.billing.iab.q.a(160): com.game.mysupergame: Account from first account - [xxxxxxxxxxxxxxxxxxxxxx-Hd_84]
08-01 11:26:39.822: I/UnityIAP(14585): Subscriptions AVAILABLE.
08-01 11:26:39.823: I/UnityIAP(14585): onIabSetupFinished: 0
08-01 11:26:39.823: I/UnityIAP(14585): Requesting 4 products
08-01 11:26:39.823: I/UnityIAP(14585): QueryInventory: 4
08-01 11:26:39.824: I/UnityIAP(14585): invoking callback
08-01 11:26:39.824: I/UnityIAP(14585): Querying owned items, item type: inapp
08-01 11:26:39.824: I/UnityIAP(14585): Package name: com.game.mysupergame
08-01 11:26:39.824: I/UnityIAP(14585): Calling getPurchases with continuation token: null
08-01 11:26:39.826: I/Finsky(14391): [4450] com.google.android.finsky.billing.iab.q.a(160): com.game.mysupergame: Account from first account - [xxxxxxxxxxxxxxxxxxxxxx-Hd_84]
08-01 11:26:39.890: I/UnityIAP(14585): Owned items response: 0
08-01 11:26:39.890: I/UnityIAP(14585): Sku is owned: com.game.mysupergame_donate_pack_3
08-01 11:26:39.890: I/UnityIAP(14585): Sku is owned: com.game.mysupergame_donate_pack_2
08-01 11:26:39.890: I/UnityIAP(14585): Continuation token: null
08-01 11:26:39.890: I/UnityIAP(14585): Querying SKU details.
08-01 11:26:39.892: I/Finsky(14391): [4449] com.google.android.finsky.billing.iab.q.a(160): com.game.mysupergame: Account from first account - [xxxxxxxxxxxxxxxxxxxxxx-Hd_84]
08-01 11:26:40.838: I/UnityIAP(14585): Querying owned items, item type: subs
08-01 11:26:40.838: I/UnityIAP(14585): Package name: com.game.mysupergame
08-01 11:26:40.838: I/UnityIAP(14585): Calling getPurchases with continuation token: null
08-01 11:26:40.843: I/Finsky(14391): [4450] com.google.android.finsky.billing.iab.q.a(160): com.game.mysupergame: Account from first account - [xxxxxxxxxxxxxxxxxxxxxx-Hd_84]
08-01 11:26:40.843: I/UnityIAP(14585): Owned items response: 0
08-01 11:26:40.843: I/UnityIAP(14585): Continuation token: null
08-01 11:26:40.843: I/UnityIAP(14585): Querying SKU details.
08-01 11:26:40.849: I/Finsky(14391): [4482] com.google.android.finsky.billing.iab.q.a(160): com.game.mysupergame: Account from first account - [xxxxxxxxxxxxxxxxxxxxxx-Hd_84]
08-01 11:26:40.953: D/GoogleCertificatesImpl(13090): Fetched 318 Google certificates
08-01 11:26:41.320: I/UnityIAP(14585): onQueryInventoryFinished: true
08-01 11:26:41.320: I/UnityIAP(14585): Inventory refresh successful. (response: 0:OK)
08-01 11:26:41.887: I/Unity(14585): OnInitialized: PASS

08-01 11:26:41.894: I/Unity(14585): 1000 Coins , 21,99 грн., price_int21.99, iso: UAH, product.transactionID:
08-01 11:26:41.894: I/Unity(14585): Ads removing , 43,99 грн., price_int43.99, iso: UAH, product.transactionID: gofmjgeddgkddohFREEr@#$!@#1e551X5goGWJtYvg9gX_ldfMf9popEKH-tzwQRVMuobh0VX0TUG7JQWERQERDSAFAfdXy5k0d8yftDyvy5WuoCvFeawbPiXlEVknFTSYshD8Rfk4LUmR0zIahhcJl3FffI9zeAxDFDFj7bEHy7eYI2BEPlBQtXTmyGamXqsChFEduSH8
08-01 11:26:41.894: I/Unity(14585): Coins double + Ads removing , 149,99 грн., price_int149.99, iso: UAH, product.transactionID: mnkgkagajkpmhmepngpccnFDFDF45345DFRETREo3TtxfCg412Ior_uh0j68_XA4HxLauGrzjKumwW_AiTt2-Tl_J3EobB1JCCVSrlDsqThSjnO1nju3SRSzWMADEs0XWp6I3vn7W3vTEiHQWERWERWQERfdfsdf-a-iaieEFdgdTPX8Pw3oemTaM1gLU3EgnWqczbnJBK79fGjHRnKvT32ai_GY1U4
08-01 11:26:41.895: I/Unity(14585): Unlimited fuel + Coins double + Ads removing , 439,99 грн., price_int439.99, iso: UAH, product.transactionID:

08-01 11:26:41.924: I/Unity(14585): ProcessPurchase is starting...
08-01 11:26:41.960: I/Unity(14585): ProcessPurchase: SUCCESS. Product: Remove Ads
08-01 11:26:42.007: I/UnityIAP(14585): Finish transaction:gofmjge234234hnomnmhkdi.AO-J1Ozqc1e551X5goGWJzWEr@#45X_ldfMf9popEKH-t452435Muobh0VX0TUG7J8Q2QSRx1dXy5k0d8yftDyvy5WuoCvFeawbPiXlEasdf234hD8Rfk4LUmR0zIahhcJl3FffI9zeAxbblXyrgj7bEHy7eYI2asdfsfFFErXqsChFEduSH8

08-01 11:26:42.011: I/Unity(14585): ProcessPurchase is starting...
08-01 11:26:42.011: I/Unity(14585): ProcessPurchase: SUCCESS. Product: Coins Doubler + Remove Ads
08-01 11:26:42.015: I/UnityIAP(14585): Finish transaction:mnkgkasdafasdfngpccnbc.AO-J1Oyo3TtxfCg412Ior_uh0j68_XA4HxLauGrzjKumwW_AiTt2-Tl_J3EobB1JCCVSrlDsqThSjnO1nju3SRSzWMADEs0tryrty45654EiHfubcPXf2345fg21iaieEFdgdTPX8Pw3oemTarty42439fGjHRnKvT32ai_GY1U4


Тема на оф. форуме: http://forum.unity3d.com/threads/restor ... id.418919/


UPD: [bm], пропустил твое последнее сообщение) Извини. Спасибо за совет, по делу! :)
Разработка игр в студии Brinemedia .
Аватара пользователя
Nolex
UNIверсал
 
Сообщения: 483
Зарегистрирован: 17 окт 2010, 12:26
Откуда: Украина
Skype: exlumen
  • Сайт
  • ICQ


Вернуться в iPhone & Android

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3