adaptyteam / AdaptyUI-Flutter

Extension to the Adapty SDK that allows you to easily add purchase screens to your application.
https://docs.adapty.io/docs/paywall-builder-getting-started
MIT License
14 stars 5 forks source link

Crash on view.present() #4

Closed al-tush closed 12 months ago

al-tush commented 12 months ago

When I call

    final view = await AdaptyUI().createPaywallView(paywall: myPaywall, locale: 'en_US');
    await view.present();

I've get the crash

E/AndroidRuntime(11544): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.testgames.psyhologytests/com.adapty.internal.crossplatform.ui.AdaptyUiActivity}: com.google.gson.JsonIOException: Abstract classes can't be instantiated! Register an InstanceCreator or a TypeAdapter for this type. Class name: com.adapty.models.AdaptyViewConfiguration$Asset
E/AndroidRuntime(11544):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4035)
E/AndroidRuntime(11544):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4201)
E/AndroidRuntime(11544):    at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)
E/AndroidRuntime(11544):    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
E/AndroidRuntime(11544):    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
E/AndroidRuntime(11544):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2438)
E/AndroidRuntime(11544):    at android.os.Handler.dispatchMessage(Handler.java:106)
E/AndroidRuntime(11544):    at android.os.Looper.loopOnce(Looper.java:226)
E/AndroidRuntime(11544):    at android.os.Looper.loop(Looper.java:313)
E/AndroidRuntime(11544):    at android.app.ActivityThread.main(ActivityThread.java:8663)
E/AndroidRuntime(11544):    at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(11544):    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567)
E/AndroidRuntime(11544):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)
E/AndroidRuntime(11544): Caused by: com.google.gson.JsonIOException: Abstract classes can't be instantiated! Register an InstanceCreator or a TypeAdapter for this type. Class name: com.adapty.models.AdaptyViewConfiguration$Asset
E/AndroidRuntime(11544):    at com.google.gson.internal.ConstructorConstructor$3.construct(ConstructorConstructor.java:136)
E/AndroidRuntime(11544):    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$FieldReflectionAdapter.createAccumulator(ReflectiveTypeAdapterFactory.java:425)
E/AndroidRuntime(11544):    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:381)
E/AndroidRuntime(11544):    at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40)
E/AndroidRuntime(11544):    at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:186)
E/AndroidRuntime(11544):    at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:144)
E/AndroidRuntime(11544):    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.readIntoField(ReflectiveTypeAdapterFactory.java:212)
E/AndroidRuntime(11544):    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$FieldReflectionAdapter.readField(ReflectiveTypeAdapterFactory.java:431)
E/AndroidRuntime(11544):    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:391)
E/AndroidRuntime(11544):    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.readIntoField(ReflectiveTypeAdapterFactory.java:212)
E/AndroidRuntime(11544):    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$FieldReflectionAdapter.readField(ReflectiveTypeAdapterFactory.java:431)
E/AndroidRuntime(11544):    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:391)
E/AndroidRuntime(11544):    at com.google.gson.Gson.fromJson(Gson.java:1214)
E/AndroidRuntime(11544):    at com.google.gson.Gson.fromJson(Gson.java:1124)
E/AndroidRuntime(11544):    at com.google.gson.Gson.fromJson(Gson.java:1034)
E/AndroidRuntime(11544):    at com.google.gson.Gson.fromJson(Gson.java:969)
E/AndroidRuntime(11544):    at com.adapty.internal.crossplatform.SerializationHelper.fromJson(SerializationHelper.kt:67)
E/AndroidRuntime(11544):    at com.adapty.internal.crossplatform.CrossplatformHelper.fromJson(CrossplatformHelper.kt:33)
E/AndroidRuntime(11544):    at com.adapty.internal.crossplatform.ui.PaywallUiManager.getPersistedData(PaywallUiManager.kt:86)
E/AndroidRuntime(11544):    at com.adapty.internal.crossplatform.ui.PaywallUiManager.getData(PaywallUiManager.kt:18)
E/AndroidRuntime(11544):    at com.adapty.internal.crossplatform.ui.PaywallUiManager.setCurrentView(PaywallUiManager.kt:68)
E/AndroidRuntime(11544):    at com.adapty.internal.crossplatform.ui.AdaptyUiActivity.onCreate(AdaptyUiActivity.kt:39)
E/AndroidRuntime(11544):    at android.app.Activity.performCreate(Activity.java:8290)
E/AndroidRuntime(11544):    at android.app.Activity.performCreate(Activity.java:8270)
E/AndroidRuntime(11544):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1329)
E/AndroidRuntime(11544):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4009)
E/AndroidRuntime(11544):    ... 12 more

It is reproduces for adapty_ui_flutter: 2.0.1 and adapty_ui_flutter: 2.0.2 (did not check for earlier versions)

vladd-g commented 12 months ago

hi @al-tush, thank you! Could you please check 2.0.3?

al-tush commented 12 months ago

Hi @vladd-g! Looks like the dependencies are broken for 2.0.3:

Execution failed for task ':adapty_ui_flutter:generateDebugRFile'.
> Could not resolve all files for configuration ':adapty_ui_flutter:debugCompileClasspath'.
   > Could not resolve io.adapty.internal:crossplatform:2.7.1.
     Required by:
         project :adapty_ui_flutter
      > Cannot find a version of 'io.adapty.internal:crossplatform' that satisfies the version constraints:
           Dependency path 'com.adapty.adapty_ui_flutter:adapty_ui_flutter:1.0-SNAPSHOT' --> 'io.adapty.internal:crossplatform:2.7.1'
           Constraint path 'com.adapty.adapty_ui_flutter:adapty_ui_flutter:1.0-SNAPSHOT' --> 'io.adapty.internal:crossplatform:{strictly 2.7.0}' because of the following reason: debugRuntimeClasspath uses version 2.7.0

   > Could not resolve io.adapty.internal:crossplatform:{strictly 2.7.0}.
     Required by:
         project :adapty_ui_flutter
      > Cannot find a version of 'io.adapty.internal:crossplatform' that satisfies the version constraints:
           Dependency path 'com.adapty.adapty_ui_flutter:adapty_ui_flutter:1.0-SNAPSHOT' --> 'io.adapty.internal:crossplatform:2.7.1'
           Constraint path 'com.adapty.adapty_ui_flutter:adapty_ui_flutter:1.0-SNAPSHOT' --> 'io.adapty.internal:crossplatform:{strictly 2.7.0}' because of the following reason: debugRuntimeClasspath uses version 2.7.0
vladd-g commented 12 months ago

@al-tush could you please also update our main sdk to v2.7.1?

al-tush commented 12 months ago

Thank you! The crash resolved