The Qonversion Inc. Developer Hub

Welcome to the Qonversion Inc. developer hub. You'll find comprehensive guides and documentation to help you start working with Qonversion Inc. as quickly as possible, as well as support if you get stuck. Let's jump right in!

Get Started    

Observer Mode

Use this mode without changing anything to your existing in-app purchases flow

Observer mode allows you to use Qonversion with your existing in-app subscription flow.
After you installed the SDK follow the steps below.


Import the Qonversion SDK in your module that is responsible for launching third-party dependencies:

import Qonverison
#import "Qonversion.h"
import com.qonversion.android.sdk.Qonversion;
import com.qonversion.android.sdk.Qonversion
import 'package:qonversion_flutter/qonversion_flutter.dart';
import Qonversion from 'react-native-qonversion';
using QonversionUnity;

Initialize the SDK:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    Qonversion.launch(withKey: "projectKey")
    return true
#import "Qonversion.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [Qonversion launchWithKey:@"projectKey"];
    return YES;
public class App extends Application {
    public void onCreate() {
        Qonversion.launch(this, "projectKey", true);
public class App : Application {
    override fun onCreate() {
        Qonversion.launch(this, "projectKey", true)
QLaunchResult _qLaunchResult;

void initState() {

Future<String> _launchQonversion() async {
  _qLaunchResult = await Qonversion.launch(
      isObserveMode: true,
Qonversion.launchWithKey('projectKey', false);
public class QonversionLauncher : MonoBehaviour
    private void Start()
        Qonversion.Launch("projectKey", debugMode);

Get your Qonversion Project Key

Set User ID

To match the events from Qonversion to users on other platforms, you need to set the same user ID on both of them:

[Qonversion setUserID:@"yourSideUserId"];
Qonversion.Launch("projectKey", "yourSideUserID");

The user ID improves event delivery rate to the platforms where event attribution is not exclusively based on IDFA or GAID.

We recommend using UUID as a standard for user identification.

let userID = UUID().uuidString
NSString *userID = [[NSUUID UUID] UUIDString];
String userID = UUID.randomUUID().toString();
String userID = UUID.randomUUID().toString()
import 'package:uuid/uuid.dart';

final userID = Uuid().v1();
import { v4 as uuidv4 } from 'uuid';
const userID = uuidv4();
var userID = Guid.NewGuid().ToString();

Android SDK Only

Set up Google Play Billing Library

You need to set up and initialize Google Play Billing Library, see official Android Developer documentation here.


Please, do not use Google Play Billing AIDL library to integrate Qonversion SDK with your application. It was deprecated and is not supported by Qonversion SDK.

To track purchases data with the SDK, you must call synchPurchases() after every purchase.

Qonversion.syncPurchases(); // checks if Platform.isAndroid under the hood



If you are using Qonversion Android SDK in Observer Mode, Google Billing implementation (including making purchases) is entirely on your side. Do not forget to call consumeAsync() and acknowledgePurchase() of Google BillingClient to attribute purchases to users; otherwise, the purchases will be automatically refunded in 3 days.
See the official Android Developer documentation for BillingClient details.

Updated 2 months ago

Observer Mode

Use this mode without changing anything to your existing in-app purchases flow

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.