Skip to main content
Solved

Exception "type 'Null' is not a subtype of type 'num' in type cast" after call Purchases.getOfferings()

  • January 15, 2022
  • 1 reply
  • 3706 views

Forum|alt.badge.img+2

Thanks for the Platform, guys! Started working with RevenueCat on the Flutter and after call

await Purchases.getOfferings()

I get an exception

type 'Null' is not a subtype of type 'num' in type cast

Reproduced on the real and virtual Android devices.

 

I wrote issue, but your bot is too evil to let her in) That's why I ask here. Can you help with a solution?

 

This seems to be happening on deserializing JSON like this in this place:

 

Environment

 

Output of `flutter doctor`

Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 2.8.1, on Microsoft Windows [Version 10.0.22000.434], locale ru-UA)
[√] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
[√] Chrome - develop for the web
[√] Android Studio (version 2020.3)
[√] Connected device (3 available)
• No issues found!

 

Debug logs

​
D/[Purchases] - DEBUG(21462):  Debug logging enabled
D/[Purchases] - DEBUG(21462):  SDK Version - 4.6.0
D/[Purchases] - DEBUG(21462):  Initial App User ID - null
D/[Purchases] - DEBUG(21462):  Identifying App User ID: $RCAnonymousID:41e419f3c3a8440dbf9a4b11b83bb4e9
D/[Purchases] - DEBUG(21462):  Deleting old synced subscriber attributes that don't belong to $RCAnonymousID:41e419f3c3a8440dbf9a4b11b83bb4e9
D/[Purchases] - DEBUG(21462):  App foregrounded
D/[Purchases] - DEBUG(21462):  PurchaserInfo cache is stale, updating from network in foreground.
D/[Purchases] - DEBUG(21462):  Offerings cache is stale, updating from network in foreground
D/[Purchases] - DEBUG(21462):  Offerings updated from network.
D/[Purchases] - DEBUG(21462):  Skipping updating pending purchase queue since BillingClient is not connected yet.
D/[Purchases] - DEBUG(21462):  No subscriber attributes to synchronize.
D/[Purchases] - DEBUG(21462):  Listener set
D/[Purchases] - DEBUG(21462):  Sending latest PurchaserInfo to listener.

D/[Purchases] - DEBUG(21462):  Starting connection for com.android.billingclient.api.BillingClientImpl@e0192dd

D/[Purchases] - DEBUG(21462):  Billing Service Setup finished for com.android.billingclient.api.BillingClientImpl@e0192dd
D/[Purchases] - DEBUG(21462):  Updating pending purchase queue
D/[Purchases] - DEBUG(21462):  API request started: GET /subscribers/%24RCAnonymousID%3A41e419f3c3a8440dbf9a4b11b83bb4e9

D/[Purchases] - DEBUG(21462):  API request completed with status: GET /subscribers/%24RCAnonymousID%3A41e419f3c3a8440dbf9a4b11b83bb4e9 304
D/[Purchases] - DEBUG(21462):  PurchaserInfo updated, sending to listener.

D/[Purchases] - DEBUG(21462):  API request started: GET /subscribers/%24RCAnonymousID%3A41e419f3c3a8440dbf9a4b11b83bb4e9/offerings
D/[Purchases] - DEBUG(21462):  API request completed with status: GET /subscribers/%24RCAnonymousID%3A41e419f3c3a8440dbf9a4b11b83bb4e9/offerings 304
D/[Purchases] - DEBUG(21462):  Requesting products from the store with identifiers: hp.99.1m, hp.1099.1y
D/[Purchases] - DEBUG(21462):  Querying purchases
D/[Purchases] - DEBUG(21462):  Cleaning previously sent tokens
D/[Purchases] - DEBUG(21462):  Tokens already posted: []
D/[Purchases] - DEBUG(21462):  Saving tokens []
D/[Purchases] - DEBUG(21462):  Tokens already posted: []
D/[Purchases] - DEBUG(21462):  Products request finished for hp.99.1m, hp.1099.1y
D/[Purchases] - DEBUG(21462):  Retrieved skuDetailsList: SkuDetails: {"productId":"hp.1099.1y","type":"subs","title":"Годовая подписка (Счастье)","name":"Годовая подписка","price":"299,99 грн.","price_amount_micros":299990000,"price_currency_code":"UAH","description":"Все существующие и будущие варианты картин на год. Анимация и звук по тапу.","subscriptionPeriod":"P1Y","skuDetailsToken":"AEuhp4KneCpN9CFP4IGHzA6d3zyfehMuFCWB1zrxmDZwCpjwLLE57vYU7QgMYvU3YXXf"}, SkuDetails: {"productId":"hp.99.1m","type":"subs","title":"Ежемесячная подписка (Счастье)","name":"Ежемесячная подписка","price":"29,99 грн.","price_amount_micros":29990000,"price_currency_code":"UAH","description":"Все существующие и будущие варианты картин на месяц. Анимация и звук по \nтапу.","subscriptionPeriod":"P1M","skuDetailsToken":"AEuhp4LU9whZq6aEykT7aWoESkFhHGit3-3F1AqIJ8nIdGcNUGS-2qNXqBjb54e-kVfP"}
D/[Purchases] - DEBUG(21462):  hp.1099.1y - SkuDetails: {"productId":"hp.1099.1y","type":"subs","title":"Годовая подписка (Счастье)","name":"Годовая подписка","price":"299,99 грн.","price_amount_micros":299990000,"price_currency_code":"UAH","description":"Все существующие и будущие варианты картин на год. Анимация и звук по тапу.","subscriptionPeriod":"P1Y","skuDetailsToken":"AEuhp4KneCpN9CFP4IGHzA6d3zyfehMuFCWB1zrxmDZwCpjwLLE57vYU7QgMYvU3YXXf"}
D/[Purchases] - DEBUG(21462):  hp.99.1m - SkuDetails: {"productId":"hp.99.1m","type":"subs","title":"Ежемесячная подписка (Счастье)","name":"Ежемесячная подписка","price":"29,99 грн.","price_amount_micros":29990000,"price_currency_code":"UAH","description":"Все существующие и будущие варианты картин на месяц. Анимация и звук по \nтапу.","subscriptionPeriod":"P1M","skuDetailsToken":"AEuhp4LU9whZq6aEykT7aWoESkFhHGit3-3F1AqIJ8nIdGcNUGS-2qNXqBjb54e-kVfP"}

D/[Purchases] - DEBUG(21462):  Vending PurchaserInfo from cache.
D/[Purchases] - DEBUG(21462):  Checking if cache is stale AppInBackground false

D/[Purchases] - DEBUG(21462):  Vending Offerings from cache
D/[Purchases] - DEBUG(21462):  Checking if cache is stale AppInBackground false

 

Project in the RevenueCat: https://app.revenuecat.com/projects/7353a3c5

 

Subscription options on the Google Play Console:


 

Best answer by Andrii Syrokomskyi

Seems to have been fixed. Thanks!

Do you guys have any days off?)

View original
Did this post help you find an answer to your question?
This post has been closed for comments

Forum|alt.badge.img+2

Seems to have been fixed. Thanks!

Do you guys have any days off?)


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings