Discussions
FormatException Input string was not in a correct format
Мы пользуемся Unity SDK. У нас в sentry падают много ошибок на iOS девайсах при попытке сделать double.Parse, что в итоге приводит к тому, что не можем получить Offerings. Вот логи:
Crashed in non-app:
System.Number.ParseDouble
QonversionUnity.Product..ctor
Called from:
System.Reflection.MonoCMethod.InternalInvoke
QonversionUnity.Mapper.ConvertObjectsList[T]
QonversionUnity.Offering..ctor
QonversionUnity.Offerings..ctor
QonversionUnity.Mapper.OfferingsFromJson
QonversionUnity.Qonversion.OnOfferings
Пришел такой Offering:
OnOfferings {"main":{"id":"avatar_scan","tag":1,"products":[{"storeProduct":{"subscriptionPeriod":{"numberOfUnits":1,"unit":2},"currencyCode":"EUR","downloadContentVersion":"","isFamilyShareable":false,"discounts":[],"subscriptionGroupIdentifier":"20926564","price":"21.49","productIdentifier":"monthly_subscription_ios","downloadContentLengths":[],"localeIdentifier":"nl_BE@currency=EUR","localizedDescription":"Monthly access to create your avatars","localizedTitle":"Monthly subscription","introductoryPrice":{"numberOfPeriods":0,"subscriptionPeriod":{"numberOfUnits":0,"unit":0},"paymentMode":0,"type":0},"isDownloadable":false},"trialDuration":-1,"id":"monthly_subscription","duration":1,"type":1,"store_id":"monthly_subscription_ios","offeringId":"avatar_scan","prettyPrice":"€ 21,49"},{"storeProduct":{"subscriptionPeriod":{"numberOfUnits":1,"unit":3},"currencyCode":"EUR","downloadContentVersion":"","isFamilyShareable":false,"discounts":[],"subscriptionGroupIdentifier":"20926564","price":"214.99","productIdentifier":"annual_subscription_ios","downloadContentLengths":[],"localeIdentifier":"nl_BE@currency=EUR","localizedDescription":"Annual access to create your avatars","localizedTitle":"Annual subscription","introductoryPrice":{"numberOfPeriods":0,"subscriptionPeriod":{"numberOfUnits":0,"unit":0},"paymentMode":0,"type":0},"isDownloadable":false},"trialDuration":-1,"id":"annual_subscription","duration":4,"type":1,"store_id":"annual_subscription_ios","offeringId":"avatar_scan","prettyPrice":"€ 214,99"}]},"availableOfferings":[{"id":"avatar_scan","tag":1,"products":[{"storeProduct":{"subscriptionPeriod":{"numberOfUnits":1,"unit":2},"currencyCode":"EUR","downloadContentVersion":"","isFamilyShareable":false,"discounts":[],"subscriptionGroupIdentifier":"20926564","price":"21.49","productIdentifier":"monthly_subscription_ios","downloadContentLengths":[],"localeIdentifier":"nl_BE@currency=EUR","localizedDescription":"Monthly access to create your avatars","localizedTitle":"Monthly subscription","introductoryPrice":{"numberOfPeriods":0,"subscriptionPeriod":{"numberOfUnits":0,"unit":0},"paymentMode":0,"type":0},"isDownloadable":false},"trialDuration":-1,"id":"monthly_subscription","duration":1,"type":1,"store_id":"monthly_subscription_ios","offeringId":"avatar_scan","prettyPrice":"€ 21,49"},{"storeProduct":{"subscriptionPeriod":{"numberOfUnits":1,"unit":3},"currencyCode":"EUR","downloadContentVersion":"","isFamilyShareable":false,"discounts":[],"subscriptionGroupIdentifier":"20926564","price":"214.99","productIdentifier":"annual_subscription_ios","downloadContentLengths":[],"localeIdentifier":"nl_BE@currency=EUR","localizedDescription":"Annual access to create your avatars","localizedTitle":"Annual subscription","introductoryPrice":{"numberOfPeriods":0,"subscriptionPeriod":{"numberOfUnits":0,"unit":0},"paymentMode":0,"type":0},"isDownloadable":false},"trialDuration":-1,"id":"annual_subscription","duration":4,"type":1,"store_id":"annual_subscription_ios","offeringId":"avatar_scan","prettyPrice":"€ 214,99"}]},{"id":"games_export","tag":0,"products":[{"storeProduct":{"subscriptionPeriod":{"numberOfUnits":0,"unit":0},"currencyCode":"EUR","downloadContentVersion":"","isFamilyShareable":false,"discounts":[],"price":"9.99","productIdentifier":"gtav_export_ios","downloadContentLengths":[],"localeIdentifier":"nl_BE@currency=EUR","localizedDescription":"Export your avatar to GTA V PC","localizedTitle":"GTA V export","introductoryPrice":{"numberOfPeriods":0,"subscriptionPeriod":{"numberOfUnits":0,"unit":0},"paymentMode":0,"type":0},"isDownloadable":false},"trialDuration":-1,"id":"gtav_export","duration":-1,"type":2,"store_id":"gtav_export_ios","offeringId":"games_export","prettyPrice":"€ 9,99"},{"storeProduct":{"subscriptionPeriod":{"numberOfUnits":0,"unit":0},"currencyCode":"EUR","downloadContentVersion":"","isFamilyShareable":false,"discounts":[],"price":"9.99","productIdentifier":"vrchat_export_ios","downloadContentLengths":[],"localeIdentifier":"nl_BE@currency=EUR","localizedDescription":"Export your avatar to VRChat","localizedTitle":"VRChat Export","introductoryPrice":{"numberOfPeriods":0,"subscriptionPeriod":{"numberOfUnits":0,"unit":0},"paymentMode":0,"type":0},"isDownloadable":false},"trialDuration":-1,"id":"vrchat_export","duration":-1,"type":2,"store_id":"vrchat_export_ios","offeringId":"games_export","prettyPrice":"€ 9,99"}]}]}
Кажется можно пофиксить сконвертировав localeIdentifier в CultureInfo или FormatProvider и послав при парсе double
Posted by Ondar Nordup almost 2 years ago
Google Play Manage Subscriptions
If a user will resubscribe using google play, I cannot get events from qonversion which is to be expected since the transaction did not happen through qonversion.
Now the problem is, the user will never be premium.
Is there a proper way to handle this scenario? Or a way to force user to resubscribe through the app?
Posted by Jalil over 2 years ago
Ios 15 :skadnetwork integration testing
With ios 15, the developers of the app can receive a copy of winning attribution. If a advertsider app doesn’t use an MMP, and want to get the data directly and has done the necessary configuration to receive data from skad, but how this can be tested in a non production environment.
Posted by Rizwan over 2 years ago
Validate an in-app purchases receipts locally
I want to validate an in-app purchases receipts locally in my app. Is it possible?
Posted by Maxine Cole about 3 years ago
Migrating in-app purchases product id from native ios and android to flutter
Hi, I have native mobile apps for iOS and Android and would like to move both to Flutter.
I already have in-app purchases in my apps, so I need to make sure I won’t lose anything and create a special single product id for both apps to use on App Store Console and Google Play.
Can you help me with how to do that if I have two different Product IDs?
Posted by David Jan about 3 years ago
Permission empty after creating Subscription and then cancelling it
Hi
I am testing the integration on Android.
After purchase and cancellation the "Premium permission" was correctly received for some time. Status was QProductRenewState.canceled.
I tested again after few hours and for the same user the empty permissions are being received.
By the way I did this testing in debug mode. So let me know it is something related to that.
On Google Play though status shows Cancels on 6 Jan. So my understanding is API should respond with Active permission till 6th Jan 2022.
Please let me know if I am doing something wrong.
Posted by Vishal over 2 years ago
Subscribing for an already subscribed App
Hi. If the users try to subscribe for a subscription that is already active, for instance after re-installing the App (instead of restoring), will they receive a message automatically from the App Store? Will the users be allowed to subscribe twice? Or do I have to check in my code if there is already an active subscription before sending the request to the App Store? Similarly, how do I manage if the user wants to upgrade or downgrade the current subscription? Thanks
Posted by Ferran over 2 years ago
Please explain how to purchase consumable products? thank you.
I did not find the documentation for purchasing consumable products here (https://documentation.qonversion.io/docs/non-subscription-purchases).
I would like to know how to confirm the one-time consumption. After all, this consumable product can be purchased repeatedly. It seems wrong to use Permission.
Please explain how to purchase consumable products? thank you.
Posted by sky almost 3 years ago
restore purchases on Android
Why do I need to implement the `restore` functionality in my Android app?
Posted by Maxine Parham1998 about 3 years ago
The project id used to call the Google Play Developer API has not been linked in the Google Play Developer Console
Hey Guys,
i was trying to deploy my app from an external service called Codemagic. I'm a developer and trying out some stuff. My current problem is that i have two apps in the playconsole. And to use the API i have to link it to one project. But how can I give API access to my second app. I'm trying now for days and still can't fix this problem. It always tells me that my projectId is not linked.
😭
i've seen there are more people facing this problem. but these solution don't describe how to link TWO projects
Posted by Eduard Reimer about 3 years ago