react-native-tapresearch
TypeScript icon, indicating that this package has built-in type declarations

3.2.2 • Public • Published

react-native-tapresearch

TapResearch Monetized Survey React Native SDK

Releasing the package

  1. Update the version in package.json
  2. Run git tag -a v1.0.0 -m "v1.0.0"
  3. Run git push origin v1.0.0
  4. Run yarn prepack
  5. Run yarn release

Installation

NPM

npm install react-native-tapresearch

Yarn

yarn add react-native-tapresearch

Usage

Full docs are located here https://supply-docs.tapresearch.com/docs/3.x/intro

import {
  PlacementCustomParamsProps,
  TapSdkAdapter,
  TapSdkUI,
  TapUserAttributes,
} from 'react-native-tapresearch';

// create user attributes you'd like to send and filter on
const userAttributes: TapUserAttributes = {
  boolean: true,
  integer: 1,
  double: 1.1,
  string: 'string',
  userIdentifier: userIdentifier,
};
// ...
// create a list of placements you want to use
const placements: string[] = [
  'default-placement-a',
  'interstitial-placement-a',
  'banner-placement-a',
  'capped-and-paced-interstitial-a',
  'floating-interstitial-placement-a',
];
// ...
// Set a unique identifier for the user
TapSdkAdapter.setUniqueUserIdentifier(userIdentifier);
// ...
// Send user identifiers
TapSdkAdapter.sendUserAttributes(userAttributes, "true"|"false");

// Do some things when the sdk is ready
function onTapResearchSdkReady() {
  console.log(
    'TapResearch SDK is ready, you can update the user attributes now',
  );
  userAttributes['testInt'] = 1;
  const now = new Date();
  const oneMonthAgo = new Date(now);
  oneMonthAgo.setMonth(now.getMonth() - 1);
  userAttributes['A Month Ago 8601'] = oneMonthAgo.toISOString();
  userAttributes['isQA'] = "true";
  sendUserAttributes();
}
// Called when content is dismissed
function contentDismissed(contentMessage: any) {
  console.log('Content dismissed', contentMessage);
}
// Called when content is shown
function contentShown(contentMessage: any) {
  console.log('Content shown', contentMessage);
}
// Called when an error occurs
function onError(errorMessage: any) {
  console.error(errorMessage.message);
}
// Called when rewards are received
function doRewards(rewards: Array<any>) {
  console.log('Received some rewards', rewards);
  console.log('Received some rewards type', rewards.constructor.name);
  let totalReward = 0;
  rewards.forEach((reward: any) => {
    totalReward += reward.rewardAmount;
  });
  Toast.show({
    type: 'success',
    text1: 'Reward',
    text2: totalReward.toString(),
  });
}

// ...
// Load up the TapSDK
return (
  <TapSdkUI
    onDidReceiveRewards={doRewards}
    onDidReceiveQQResponse={doQQResponse}
    onContentDismissed={contentDismissed}
    onContentShown={contentShown}
    onDidReceiveError={onError}
    onTapResearchSdkReady={onTapResearchSdkReady}
  />
)
// ...

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

License

MIT


Made with create-react-native-library

Package Sidebar

Install

npm i react-native-tapresearch

Weekly Downloads

112

Version

3.2.2

License

MIT

Unpacked Size

12.6 MB

Total Files

132

Last publish

Collaborators

  • justintapresearch
  • jeoren-tap
  • mike-tap
  • zachcabral10