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 🙏

© 2024 – Pkg Stats / Ryan Hefner

react-native-tenjin

v1.1.3

Published

Tenjin is a unique growth infrastructure platform that helps you streamline your mobile marketing.

Downloads

1,363

Readme

React Native Tenjin Plugin

Summary

The Tenjin React Native Plugin allows users to track events and installs in their iOS/Android 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

Getting started

$ npm install react-native-tenjin --save

Mostly automatic installation

$ react-native link react-native-tenjin

Import

import Tenjin from 'react-native-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(apiKey)

Parameters:

  • apiKey: String

Connect

Tenjin.connect()

Set AppStore type (only available for Android)

Tenjin.setAppStore(type)

Parameters:

  • type: String, possible values (googleplay, amazon, other)

OptIn

Tenjin.optIn()

OptOut

Tenjin.optOut()

OptIn with parameters

Tenjin.optIn(parameters)

Parameters:

  • parameters: Array

OptOut with parameters

Tenjin.optOut(parameters)

Parameters:

  • parameters: Array

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

transactionWithReceipt(productName, currencyCode, quantity, unitPrice, transactionId, receipt)

Parameters:

  • productName: String
  • currencyCode: String
  • quantity: Number
  • unitPrice: Number
  • transactionId: String
  • receipt: String (Base 64)

Send event with name

Tenjin.eventWithName(name)

Parameters:

  • name: String

Send event with name and value

Tenjin.eventWithNameAndValue(name, value)

Parameters:

  • name: String
  • value: String

Get attribution info

Tenjin.getAttributionInfo(
    (success) => {
        console.log(`Attibution info found! ${success}`);
    },
    () => {
        console.error(`Attribution info failed`);
    }
)

Parameters:

  • successCallback: Callback
  • errorCallback: Callback

Append app subversion

Tenjin.appendAppSubversion(subversion)

Parameters:

  • subversion: Number

Customer User ID

Tenjin.setCustomerUserId(userId)

Parameters:

  • userId: string
Tenjin.getCustomerUserId()

Returns: callback -> string

Get Analytics Installation ID

Tenjin.getAnalyticsInstallationId()

Returns: callback -> string

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 Google DMA Parameters

Tenjin.setGoogleDMAParametersWithAdPersonalization(adPersonalization, adUserData)

Parameters:

  • adPersonalization: Boolean
  • adUserData: Boolean

SKAdNetwork and Conversion value (iOS)

As part of SKAdNetwork, we created a wrapper method for updatePostbackConversionValue(conversionValue: Integer). Our method will register the equivalent SKAdNetwork methods and also send the conversion values to our servers.

updatePostbackConversionValue(conversionValue: Integer) 6 bit value should correspond to the in-app event and shouldn’t be entered as binary representation but 0-63 integer.

As of iOS 16.1, which supports SKAdNetwork 4.0, you can now send coarseValue (String, with possible variants being "low", "medium" or "high") and lockWindow (Boolean) as parameters on the update postback method:

updatePostbackConversionValue(conversionValue: Integer, coarseValue: String)

updatePostbackConversionValue(conversionValue: Integer, coarseValue: String, lockWindow: Bool)

  • For iOS version 16.1+ which supports SKAdNetwork 4.0, you can call this method as many times as you want and can make the conversion value lower or higher than the previous value.

  • For iOS versions lower than 16.1 supporting SKAdnetWork versions lower than 4.0, you can call this method and our SDK will automatically detect the iOS version and update conversionValue only.

Support

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