Observer mode allows you to use Qonversion with your existing in-app subscription flow.
After you installed the SDK follow the steps below.
Launching
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 {
@Override
public void onCreate() {
super.onCreate();
Qonversion.launch(this, "projectKey", true);
}
}
public class App : Application {
override fun onCreate() {
super.onCreate()
Qonversion.launch(this, "projectKey", true)
}
}
QLaunchResult _qLaunchResult;
@override
void initState() {
super.initState();
_launchQonversion();
}
Future<String> _launchQonversion() async {
_qLaunchResult = await Qonversion.launch(
'projectKey',
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 setUserID:@"yourSideUserId"];
Qonversion.setUserID("yourSideUserID");
Qonversion.setUserID("yourSideUserID")
Qonversion.setUserId('yourSideUserId');
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.synchPurchases();
Qonversion.synchPurchases()
Qonversion.syncPurchases(); // checks if Platform.isAndroid under the hood
Qonversion.syncPurchases();
Attention
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()
andacknowledgePurchase()
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
What's Next
Testing |
Integrations Overview |
Analytics |