flutter_iap
flutter_iap copied to clipboard
FormatException during fetchProducts
I added the print statement to see the response :
Launching lib/main.dart on Nexus 9 in debug mode...
Initializing gradle...
Resolving dependencies...
Running 'gradlew assembleDebug'...
Built build/app/outputs/apk/debug/app-debug.apk.
Installing build/app/outputs/apk/app.apk...
I/Choreographer(21684): Skipped 40 frames! The application may be doing too much work on its main thread.
D/TTS (21684): Language is not available - en_US
Syncing files to device Nexus 9...
D/BillingManager(21684): Creating Billing client.
D/BillingManager(21684): Starting setup.
D/BillingManager(21684): Setup finished. Response code: 0
D/BillingManager(21684): Setup successful. Querying inventory.
I/BillingManager(21684): Querying purchases elapsed time: 10ms
I/BillingManager(21684): Querying purchases and subscriptions elapsed time: 32ms
I/BillingManager(21684): Querying subscriptions result code: 0 res: 0
D/BillingManager(21684): Query inventory was successful.
I/flutter (21684): response={"status":"loaded","products":[{"localizedDescription":"Allows the installation of alternative keyboards created in the kbml
I/flutter (21684): language.","localizedTitle":"Install custom keyboards (AAC Keyboard with friends)","price":"$6.99","priceLocale":"CAD","localizedPrice":"$6.99","productIdentifier":"com.rockvole.customize"}]}
E/flutter (21684): [ERROR:topaz/lib/tonic/logging/dart_error.cc(16)] Unhandled exception:
E/flutter (21684): FormatException: Control character in string (at character 126)
E/flutter (21684): ...ion":"Allows the installation of alternative keyboards created in the kbml
E/flutter (21684): ^
E/flutter (21684):
E/flutter (21684): #0 _ChunkedJsonParser.fail (dart:convert/runtime/libconvert_patch.dart:1374:5)
E/flutter (21684): #1 _ChunkedJsonParser.parseString (dart:convert/runtime/libconvert_patch.dart:1047:16)
E/flutter (21684): #2 _ChunkedJsonParser.parse (dart:convert/runtime/libconvert_patch.dart:860:22)
E/flutter (21684): #3 _parseJson (dart:convert/runtime/libconvert_patch.dart:29:10)
E/flutter (21684): #4 JsonDecoder.convert (dart:convert/json.dart:542:36)
E/flutter (21684): #5 JsonCodec.decode (dart:convert/json.dart:169:41)
E/flutter (21684): #6 FlutterIap.stringToResponse (package:flutter_iap/flutter_iap.dart:38:45)
E/flutter (21684): #7 FlutterIap.fetchProducts (package:flutter_iap/flutter_iap.dart:21:12)
E/flutter (21684): <asynchronous suspension>
E/flutter (21684): #8 Globals.hasIAP (package:kbml_viewer/globals.dart:73:45)
E/flutter (21684): <asynchronous suspension>
E/flutter (21684): #9 _PreferencesAboutState.init (package:kbml_viewer/dialogs/about.dart:16:45)
E/flutter (21684): <asynchronous suspension>
E/flutter (21684): #10 _PreferencesAboutState.initState (package:kbml_viewer/dialogs/about.dart:26:5)
E/flutter (21684): #11 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3764:58)
E/flutter (21684): #12 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3630:5)
E/flutter (21684): #13 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2920:14)
E/flutter (21684): #14 Element.updateChild (package:flutter/src/widgets/framework.dart:2723:12)
E/flutter (21684): #15 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4667:14)
E/flutter (21684): #16 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2920:14)
E/flutter (21684): #17 Element.updateChild (package:flutter/src/widgets/framework.dart:2723:12)
E/flutter (21684): #18 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3666:16)
E/flutter (21684): #19 Element.rebuild (package:flutter/src/widgets/framework.dart:3508:5)
E/flutter (21684): #20 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3635:5)
E/flutter (21684): #21 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3630:5)
E/flutter (21684): #22 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2920:14)
E/flutter (21684): #23 Element.updateChild (package:flutter/src/widgets/framework.dart:2723:12)
E/flutter (21684): #24 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4667:14)
E/flutter (21684): #25 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2920:14)
E/flutter (21684): #26 Element.updateChild (package:flutter/src/widgets/framework.dart:2723:12)
E/flutter (21684): #27 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4667:14)
E/flutter (21684): #28 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2920:14)
E/flutter (21684): #29 Element.updateChild (package:flutter/src/widgets/framework.dart:2723:12)
E/flutter (21684): #30 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4667:14)
E/flutter (21684): #31 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2920:14)
E/flutter (21684): #32 Element.updateChild (package:flutter/src/widgets/framework.dart:2723:12)
E/flutter (21684): #33 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4667:14)
E/flutter (21684): #34 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2920:14)
E/flutter (21684): #35 Element.updateChild (package:flutter/src/widgets/framework.dart:2723:12)
E/flutter (21684): #36 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3666:16)
E/flutter (21684): #37 Element.rebuild (package:flutter/src/widgets/framework.dart:3508:5)
E/flutter (21684): #38 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3635:5)
E/flutter (21684): #39 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3782:11)
E/flutter (21684): #40 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3630:5)
E/flutter (21684): #41 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2920:14)
E/flutter (21684): #42 Element.updateChild (package:flutter/src/widgets/framework.dart:2723:12)
E/flutter (21684): #43 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3666:16)
E/flutter (21684): #44
Lost connection to device.
@ened
I got rid of the error by reducing the length of the Managed Product description (localizedDescription) to 66 characters. Although the Google console says that 80 characters max is permitted.
Maybe related to #28