npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

ionic-capacitor-tenjin

v1.2.0

Published

Tenjin Ionic Capacitor Plugin

Readme

Ionic Capacitor Tenjin Plugin

Summary

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.

Notes:

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

Plugin Integration

Install

npm install ionic-capacitor-tenjin
npx cap sync

Import

import Tenjin from 'ionic-capacitor-tenjin';

Available methods

Initialize

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)

Connect

Tenjin.connect()

OptIn

Tenjin.optIn()

OptOut

Tenjin.optOut()

OptIn with parameters

Tenjin.optIn(params: string[])

OptOut with parameters

Tenjin.optOut(params: string[])

OptIn and OptOut using CMP

Tenjin.optInOutUsingCMP()

Opt out of Google DMA parameters

Tenjin.optOutGoogleDMA()

Opt in of Google DMA parameters

Tenjin.optInGoogleDMA()

Register transaction

transaction(productName: string, currencyCode: string, quantity: number, unitPrice: number)

Send event with name

Tenjin.eventWithName(name: string)

Send event with name and value

Tenjin.eventWithNameAndValue(name: string, value: string)

Get attribution info

Tenjin.getAttributionInfo()

Returns: JSON

Append app subversion

Tenjin.appendAppSubversion(subversion: number)

Send AdMob impression (ILRD)

Tenjin.eventAdImpressionAdMob(json)

Parameters:

  • json: JSON

Send AppLovin impression (ILRD)

Tenjin.eventAdImpressionAppLovin(json)

Parameters:

  • json: JSON

Send HyperBid impression (ILRD)

Tenjin.eventAdImpressionHyperBid(json)

Parameters:

  • json: JSON

Send IronSource impression (ILRD)

Tenjin.eventAdImpressionIronSource(json)

Parameters:

  • json: JSON

Send TopOn impression (ILRD)

Tenjin.eventAdImpressionTopOn(json)

Parameters:

  • json: JSON

Send TradPlus impression (ILRD)

Tenjin.eventAdImpressionTradPlus(json)

Parameters:

  • json: JSON

Send CAS impression (ILRD)

Tenjin.eventAdImpressionCAS(json)

Parameters:

  • json: JSON

Customer User ID

Tenjin.setCustomerUserId(userId)

Parameters:

  • userId: string
Tenjin.getCustomerUserId()

Returns: string

Analytics Installation ID

Tenjin.getAnalyticsInstallationId()

Returns: string

User Profile - LiveOps Metrics

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.

Automatic Tracking

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

Get User Profile Dictionary

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 |

Reset User Profile

Clear all user profile data (useful for testing or user logout):

Tenjin.resetUserProfile();

Send Google DMA Parameters

Tenjin.setGoogleDMAParametersWithAdPersonalization(adPersonalization, adUserData)

Parameters:

  • adPersonalization: Boolean
  • adUserData: Boolean

Update SKAN Postback Conversion Value (iOS only)

Tenjin.updatePostbackConversionValue(conversionValue)

Parameters:

  • conversionValue: number
Tenjin.updatePostbackConversionValueCoarseValue(conversionValue, coarseValue)

Parameters:

  • conversionValue: number
  • coarseValue: string
Tenjin.updatePostbackConversionValueCoarseValueLockWindow(conversionValue, coarseValue, lockWindow)

Parameters:

  • conversionValue: number
  • coarseValue: string
  • lockWindow: boolean

Support

If you have any issues with the plugin integration or usage, please contact us to [email protected]