react-native-tapresearch
v3.5.2
Published
TapResearch Monetized Surveys React Native SDK
Downloads
733
Readme
react-native-tapresearch
TapResearch Monetized Survey React Native SDK
Releasing the package
- Update the version in
package.json
- Update the version in 'android/src/main/kotlin/com/tapresearch/tapsdk/ReactNativeBridgeVersion' to be same as package.json version
- Update the version on line 18 in the
init()
function insideTapsdk.swift
native iOS bridge file - Run
git tag -a v1.0.0 -m "v1.0.0"
- Run
git push origin v1.0.0
- Run
yarn prepack
- 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