Troubleshooting

Are you experiencing issues with Qonversion? Don't worry, we're here to help!

Check out our troubleshooting guide for quick solutions to common problems. If you went through this guide and you're still having problems, reach out to us in our Discussions tab or create a GitHub issue.

📘

Update Qonversion SDK to the latest version

We recommend updating your Qonversion SDK to the latest version. It brings new features, improvements, and bug fixes for optimal performance. Refer to the updated Installing the SDKs documentation for step-by-step instructions on how to seamlessly integrate the latest SDK version into your app.

Active store not found

There are no active stores in the settings of your project.

To fix the error, do the following:

  1. Open the project settings and select the Stores tab.
  2. Activate and set up the required store.

Invalid access token received

  • Make sure that you set the correct Project Key to the Qonversion Configuration Builder.

Invalid Store Credentials Error

iOS

  • Please make sure to provide the correct Shared Secret in the Qonversion Dashboard.

Android

  • Check that your service account registered in the Google Play Console has the necessary account entitlements for Qonversion: View financial data and Manage orders and subscriptions
  • Make some updates in your products configuration in Google Play Console. For example, edit the product description and save it. It will update Google’s cache.

Product not found error

  • Here are the most frequent reasons for receiving a product not found error.

iOS

  1. Your in-app purchases are not configured correctly on the App Store Connect. Navigate to the App Store Connect, select your app, click Manage under the In-App Purchases title on the left menu. Check the value in the Status column. You should see Ready to submit or Ready for sale status for correctly configured purchase.
  2. You are trying to buy a product with a wrong identifier, or you have not set the product identifiers on Qonversion Product Center.
  3. You are trying to buy a product before calling Qonversion's launch() method.
  4. Apple StoreKit returns invalidProductIdentifiers and empty products response.

Android

  1. You are trying to buy a product with a wrong Qonversion Product ID or you have not set the product identifiers in the Qonversion Product Center dashboard.
  2. You are trying to buy a product before calling Qonversion's launch() method.
  3. You are trying to buy a product with the wrong Google Play Store ID configured on the Qonversion Product Center dashboard.

Missing entitlements after purchase

  • In case you are receiving empty or not expected entitlement data:
  1. Ensure that products and entitlements are configured correctly in the Qonversion Product Center. Check if the purchased product is linked to the entitlement.
  2. iOS Only
    Make sure you are not using a .storekit file. Products from the .storekit file are available only on your local phone or simulator. They are unavailable on the App Store Connect and can’t be validated.
  3. Check whether the p8 format App Store Push Key file is inserted at the "Stores" setting correctly.
  4. Android Only
    If in-app products are created before granting users access or linking Google Cloud Project to the service account, it may cause problems with the receipt validation using Google Play Developer API. Google Play Developer API can return the following error "The current user has insufficient permissions to perform the requested operation."
    When encountering this issue, open the In-app products or Subscription tab respectively on the Google Play Console and make some updates. For example, edit the product description and save it.

iOS only

Invalid store product identifiers

Apple StoreKit returns invalidProductIdentifiers and empty products response.
In this case, you will see this error in the log:

❌ Invalid store products identifiers: ("some_product_identifier", "some_other_product_identifier")

There are a few reasons why this error can occur:

  1. Your in-app purchases are not configured correctly on the App Store Connect. Check the first point of this section.
  2. Your app bundle ID does not match the bundle ID from App Store Connect where purchases were created.
  3. You are using .storekit file which is configured with other IDs than you are trying to use.

Receipt validation error

Here are the most frequent reasons for SDK QNAPIErrorReceiptValidation error:

  • Provided shared secret can’t be used for validation. Please, make sure the shared secret you set in the Qonversion's settings dashboard is correct.
  • The receipt is corrupted.
  • The receipt was not found on the Apple server.
  • Apple Receipt Validation service is temporarily unavailable.

Operation couldn't be completed with error: 2

  • In case you're receiving such an error, make sure that you configured App Store Bundle ID at the Store Settings tab correctly.
  • Use a device (not a simulator) when testing iOS purchases.

Android only

SkuDetails error

Here are the most frequent reasons for the SkuDetails error.

  1. Your in-app products are not configured correctly in Google Play Console. Once you have created a product, it has an Inactive status. You have to activate the product to purchase it. For more details, see our Android In-App Products Setup guide.
  2. Your app has an application ID different from the original APK uploaded to Google Play Console. An applicationIdSuffix for the debug buildType in the build.gradle file may also cause an error. When you use applicationIdSuffix you actually change your applicationId. As a result, Google Play Store treats your app as a completely different app.
  3. It could be a problem on the Google side, so we recommend updating the in-app purchase information in the Google Play Console. You can update the in-app purchase description and save it.
  4. In case you don't see the changes applied, please try to clear the Google Play Store cache on your test device.

Billing Unavailable error

The Billing service is unavailable on the device because it is not connected to any Google account at the moment. Here are the possible reasons:

  1. You are testing on an emulator. Please make sure that the emulator has the Play Store installed.
  2. You are not logged into a test device with a google account.

For more details see Android test devices.

The purchase token does not match the package name

  • Ensure that you've inserted your package name correctly in the Store Settings tab. You can find applicationID in your app-level build.gradle file.

Product Unavailable error: The item you requested is not available for purchase

Please make sure that you checked the solutions below:

  1. The app's publish mode on the Google Play Console is Published. It should not be Draft.
  2. The uploaded App Bundle or APK file matches the one you are testing, including the following parameters: versionCode, versionName, applicationId, and keystore signature.
  3. You are not using your developer google account while testing purchases.
  4. You have created a test account in the developer console.
  5. You have configured the test account as follows:
  • You are signed in on your device with your test account.
  • For closed alpha/beta testing, you added your test account to the selected testers group. You have been approved to become a tester and accepted participation in the internal app testing via an invite link.
  1. Clear the cache data of the Google Play App. If the error persists, then log out & log in to your Google account on the device.

Purchase Invalid: Proxy of the BillingClient DEVELOPER_ERROR

Check the following steps to resolve this error:

  • Ensure that the uploaded App Bundle or APK file on the Google Play Console matches the one you are testing, including the following parameters: versionCode, version name, applicationId, and keystore signature.
  • Make sure that you are not using your developer google account while testing purchases.
  • Clear the cache data of the Google Play App. If the error persists, then log out & log in to your Google account on the device.

You can check the details on Developer_Error in Google developer documentation here.