@logicwind/react-native-matomo-tracker
Version:
React-native plugin for matomo analytics
90 lines • 3.52 kB
JavaScript
import { NativeModules, Platform } from 'react-native';
const LINKING_ERROR = `The package '@logicwind/react-native-matomo-tracker' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
ios: "- You have run 'pod install'\n",
default: ''
}) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
const ReactNativeMatomoTracker = NativeModules.ReactNativeMatomoTracker ? NativeModules.ReactNativeMatomoTracker : new Proxy({}, {
get() {
throw new Error(LINKING_ERROR);
}
});
export function createTracker(uri = "", siteId = 0, token = "") {
return ReactNativeMatomoTracker.createTracker(uri, Platform.OS == "ios" ? siteId === null || siteId === void 0 ? void 0 : siteId.toString() : siteId, token);
}
export function trackScreen(screenName, title, actionDimensions) {
return ReactNativeMatomoTracker.trackScreen(screenName, title, actionDimensions);
}
export function trackEvent(category, action, name = "", value = 0, actionDimensions) {
return ReactNativeMatomoTracker.trackEvent(category, action, name, value, actionDimensions);
}
export function trackDispatch() {
return ReactNativeMatomoTracker.trackDispatch();
}
export function trackOutlink(url, actionDimensions) {
return ReactNativeMatomoTracker.trackOutlink(url, actionDimensions);
}
export function trackSearch(keyword, actionDimensions) {
return ReactNativeMatomoTracker.trackSearch(keyword, actionDimensions);
}
export function trackImpression(contentName, actionDimensions) {
return ReactNativeMatomoTracker.trackImpression(contentName, actionDimensions);
}
export function trackInteraction(contentName, contentInteraction, actionDimensions) {
return ReactNativeMatomoTracker.trackInteraction(contentName, contentInteraction, actionDimensions);
}
export function trackDownload(category, action, url, actionDimensions) {
return ReactNativeMatomoTracker.trackDownload(category, action, url, actionDimensions);
}
export function setUserId(id) {
return ReactNativeMatomoTracker.setUserId(id);
}
export function setVisitorId(visitorId) {
return ReactNativeMatomoTracker.setVisitorId(visitorId);
}
export function disableTracking() {
return ReactNativeMatomoTracker.disableTracking();
}
export function enableTracking() {
return ReactNativeMatomoTracker.enableTracking();
}
export function setLogger() {
return ReactNativeMatomoTracker.setLogger();
}
export function startSession() {
return ReactNativeMatomoTracker.startSession();
}
export function trackCampaign(title, campaignUrl, actionDimensions) {
return ReactNativeMatomoTracker.trackCampaign(title, campaignUrl, actionDimensions);
}
export function trackMediaEvent({
siteId,
mediaId,
mediaTitle,
playerName,
mediaType,
mediaResource,
mediaStatus,
mediaLength = "",
mediaProgress = "",
mediaTTP = "",
mediaWidth = "",
mediaHeight = "",
mediaSE = "",
mediaFullScreen = "",
dimension = []
}) {
return ReactNativeMatomoTracker.trackMedia(siteId, mediaId, mediaTitle, playerName, mediaType, mediaResource, mediaStatus, mediaLength, mediaProgress, mediaTTP, mediaWidth, mediaHeight, mediaSE, mediaFullScreen, dimension);
}
export function trackCustomDimension({
dimensions
}) {
return ReactNativeMatomoTracker.trackCustomDimension(dimensions);
}
export function trackGoal(goalId, revenue, actionDimensions) {
return ReactNativeMatomoTracker.trackGoal(goalId, revenue, actionDimensions);
}
export const MediaType = {
VIDEO: 'video',
AUDIO: "audio"
};
//# sourceMappingURL=index.js.map