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-one

v1.6.0

Published

One React Module for the ONE SDK for iOS and Android

Downloads

164

Readme

react-native-one

The Thunderhead ONE SDK React Native Module for iOS and Android.

Installation

To install the ONE React Module, navigate to your app’s folder and run the following command:

// yarn
yarn add react-native-one

// npm
npm install react-native-one

iOS

For iOS, run pod install in Terminal from the iOS project to install the Thunderhead native SDK dependency.

// navigate to iOS project folder
pod install

Note:

  • Requires iOS 9+.

Android

For Android, add the Thunderhead SDK repository url and packagingOptions to your app gradle file.

android {
  // add packagingOptions under the `android` section.
  packagingOptions {
    pickFirst '**/*.so'
  }
}

repositories {
  maven {
   url 'https://thunderhead.mycloudrepo.io/public/repositories/one-sdk-android'
  }
}

Note:

  • Requires minimum API level 21+.

Usage

Initialization

To initialize the ONE React Native Module, call the following method:

import { NativeModules } from 'react-native';
const One = NativeModules.One;

export const ONE_PARAMETERS = {
  "siteKey": "<YOUR-SITE-KEY>",
  "touchpointUri" : "<YOUR-TOUCHPOINT-URI>",
  "apiKey" : "<YOUR-API-KEY>",
  "sharedSecret" : "<YOUR-SHARED-SECRET>",
  "userId" : "<YOUR-USER-ID>",
  "adminMode" : false,
  "hostname" : "<YOUR-HOSTNAME>"
}

One.init(
  ONE_PARAMETERS.siteKey,
  ONE_PARAMETERS.touchpointUri,
  ONE_PARAMETERS.apiKey,
  ONE_PARAMETERS.sharedSecret,
  ONE_PARAMETERS.userId,
  ONE_PARAMETERS.adminMode,
  ONE_PARAMETERS.hostname
);
  • See example of usage here

Send an Interaction

To send an Interaction request without properties, call the following method:

One.sendInteraction("/interactionPath", null);
  • See example of usage here

To send an Interaction request with properties, call the following method:

One.sendInteraction("/interactionPath", {key: 'value'});
  • See example of usage here

Send a response code

To send a response code, call the following method:

One.sendResponseCode("/interactionPath", "yourResponseCode");
  • See example of usage here

Get tid

To get the tid for the current app, call the following public method:

One.getTid();
  • See example of usage here

Opt an end-user out of tracking

To opt an end-user out of all tracking options, when the end-user does not give permission to be tracked in the client app, call the following method:

// Opts out of all tracking options.
One.optOut(true);

To opt back in, call the following method:

// Opt in for all tracking options.
One.optOut(false);

Opt an end user out of city country level tracking

To opt an end-user out of city/country level tracking, call the following method:

// Calling this will opt the end-user back in for all tracking.
One.optOutCityCountryDetection(true);

Opt an end user out of keychain Tid storage (iOS only)

To opt an end-user out of all keychain Tid storage, call the following method:

One.optOutKeychainTidStorage(true);

Access debug information

To configure logging, call the following method:

One.enableLogging(true)
  • See example of usage here

Questions or need help

Thunderhead ONE Support

The Thunderhead team is available 24/7 to answer any questions you have. Just submit a ticket here or visit our docs page for more detailed installation and usage information.

Salesforce Interaction Studio Support

For Salesforce Marketing Cloud Interaction Studio questions, please submit a support ticket via https://help.salesforce.com/home