Reputation: 1588
I am facing an issue after installing and implementing in-app purchase plugin Flutter team provided. What I did so far:
InAppPurchaseConnection.enablePendingPurchases();
at the app launchbool available = await _iap.isAvailable();
if (!available) {
print('=========> The store cannot be reached or accessed.');
} else {
Set<String> _kIds = {'farm', 'forest'};
ProductDetailsResponse productsResponse = await _iap.queryProductDetails(_kIds);
List<ProductDetails> products = productsResponse.productDetails;
}
}
queryProductDetails
crashes every single time with the following log:E/AndroidRuntime( 9053): java.lang.NoSuchMethodError: No virtual method getIntroductoryPriceCycles()Ljava/lang/String; in class Lcom/android/billingclient/api/SkuDetails; or its super classes (declaration of 'com.android.billingclient.api.SkuDetails' appears in /data/app/com.my.fancy.app-6ImcBn8ELPgiO8hTXXp_3Q==/base.apk)
E/AndroidRuntime( 9053): at io.flutter.plugins.inapppurchase.Translator.fromSkuDetail(Translator.java:27)
E/AndroidRuntime( 9053): at io.flutter.plugins.inapppurchase.Translator.fromSkuDetailsList(Translator.java:49)
E/AndroidRuntime( 9053): at io.flutter.plugins.inapppurchase.MethodCallHandlerImpl$1.onSkuDetailsResponse(MethodCallHandlerImpl.java:185)
E/AndroidRuntime( 9053): at com.android.billingclient.api.zzj.run(com.android.billingclient:billing@@3.0.0:8)
E/AndroidRuntime( 9053): at android.os.Handler.handleCallback(Handler.java:873)
E/AndroidRuntime( 9053): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 9053): at android.os.Looper.loop(Looper.java:193)
E/AndroidRuntime( 9053): at android.app.ActivityThread.main(ActivityThread.java:6746)
E/AndroidRuntime( 9053): at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime( 9053): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
E/AndroidRuntime( 9053): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
I've tried running this on multiple example projects, and it fails. Tried with both Kotlin and Java project, just to see if there is something buggy with one or the other, but no luck.
EDIT (fixed the issue): Issue was result of a billingClient linked in build.gradle file that was causing this issue. Once I removed it from gradle file, everything started working as expected.
Upvotes: 20
Views: 2515
Reputation: 99
I am posting this in case it may be useful to others: ":billing:4.0.0" change to ":billing:3.0.0" on build.gradle. cause google not using 4 versions
Upvotes: 0
Reputation: 783
This took a while me too, how i solved my problem: 'in_app_purchase' package and 'flutter_inapp_purchase' conflict each other. I removed 'flutter_inapp_purchase' and fix it.
Upvotes: 0
Reputation: 381
This took a while, but none of the above seemed to work for me. I found out, as I'm also using RevenueCat that the two dependencies were clashing. As of today resolving purchases_flutter to 1.2.1 instead of 1.4.3 resolved this for me.
Upvotes: 5