Tenjin's SDK allows users to track events and installs in their iOS apps. To learn more about Tenjin and our product offering, please visit https://www.tenjin.com.
On iOS:
For AppTrackingTransparency, be sure to update your project .plist file and add NSUserTrackingUsageDescription along with the text message you want to display to users. This library is only available in iOS 14.0+. For further information on this, you can check our iOS documentation
npm install ionic-capacitor-tenjin
npx cap syncimport Tenjin from 'ionic-capacitor-tenjin';You need to initialize the plugin before doing calling any of the other methods available, for this, you would need the api key provided on Tenjin's dashboard:
Tenjin.initialize(sdkKey: string)Tenjin.connect()Tenjin.optIn()Tenjin.optOut()Tenjin.optIn(params: string[])Tenjin.optOut(params: string[])Tenjin.optInOutUsingCMP()Tenjin.optOutGoogleDMA()Tenjin.optInGoogleDMA()transaction(productName: string, currencyCode: string, quantity: number, unitPrice: number)Tenjin.eventWithName(name: string)Tenjin.eventWithNameAndValue(name: string, value: string)Tenjin supports retrieving of attributes, which are required for developers to get analytics installation id (previously known as tenjin reference id). This parameter can be used when there is no advertising id.
Warning
Attribution Info is a paid feature, so please contact your Tenjin account manager if you are interested in.
Tenjin.appendAppSubversion(subversion: number)Tenjin supports the ability to integrate with the Impression Level Ad Revenue (ILRD) feature from,
- AppLovin
- Unity LevelPlay
- AdMob
- TopOn
- Clever Ads Solutions (CAS)
- TradPlus
Warning
ILRD is a paid feature, so please contact your Tenjin account manager to discuss the price at first before sending ILRD events.
Tenjin.setCustomerUserId(userId)Parameters:
userId: string
Tenjin.getCustomerUserId()Returns: string
Tenjin.getAnalyticsInstallationId()Returns: string
The Tenjin SDK automatically tracks user engagement metrics to help you understand player behavior and lifetime value. These metrics are collected automatically and can be accessed programmatically.
The SDK automatically tracks:
- Session metrics: Session count, duration, first/last session dates
- In-App Purchases (IAP): Transaction count, revenue by currency, purchased product IDs
- Ad Revenue (ILRD): Impression-level revenue from supported ad networks
Retrieve the user profile as a dictionary with all metrics:
const profile = await Tenjin.getUserProfileDictionary();
console.log('Session Count:', profile.session_count);
console.log('Total Session Time (ms):', profile.total_session_time);
console.log('Average Session Length (ms):', profile.average_session_length);
console.log('IAP Transaction Count:', profile.iap_transaction_count);
console.log('Total ILRD Revenue USD:', profile.total_ilrd_revenue_usd);Dictionary Keys (Always Present):
| Key | Type | Description |
|---|---|---|
session_count |
number |
Total sessions |
total_session_time |
number |
Total time (milliseconds) |
average_session_length |
number |
Average session (milliseconds) |
last_session_length |
number |
Last session (milliseconds) |
iap_transaction_count |
number |
Total IAP count |
total_ilrd_revenue_usd |
number |
Total ad revenue USD |
Dictionary Keys (Conditional - only if available):
| Key | Type | Description |
|---|---|---|
first_session_date |
string |
ISO8601 formatted date |
last_session_date |
string |
ISO8601 formatted date |
current_session_length |
number |
Active session duration (milliseconds) |
iap_revenue_by_currency |
object |
Map of currency -> revenue |
purchased_product_ids |
array |
Sorted array of product IDs |
ilrd_revenue_by_network |
object |
Map of network -> revenue |
Clear all user profile data (useful for testing or user logout):
Tenjin.resetUserProfile();Tenjin.setGoogleDMAParametersWithAdPersonalization(adPersonalization, adUserData)Parameters:
adPersonalization: BooleanadUserData: Boolean
Tenjin.updatePostbackConversionValue(conversionValue)Parameters:
conversionValue: number
Tenjin.updatePostbackConversionValueCoarseValue(conversionValue, coarseValue)Parameters:
conversionValue: numbercoarseValue: string
Tenjin.updatePostbackConversionValueCoarseValueLockWindow(conversionValue, coarseValue, lockWindow)Parameters:
conversionValue: numbercoarseValue: stringlockWindow: boolean
If you have any issues with the plugin integration or usage, please contact us to support@tenjin.com