matomo-react-native
Version:
Enhanced Matomo tracking library for React Native and Expo projects with TypeScript support and automatic platform detection.
25 lines (24 loc) • 2.02 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = require("react");
const MatomoProvider_1 = require("./MatomoProvider");
const useMatomo = () => {
const { instance } = (0, react_1.useContext)(MatomoProvider_1.MatomoContext);
return (0, react_1.useMemo)(() => ({
trackAppStart: (params) => instance === null || instance === void 0 ? void 0 : instance.trackAppStart(params),
trackPageView: (params) => instance === null || instance === void 0 ? void 0 : instance.trackPageView(params),
trackScreenView: (params) => instance === null || instance === void 0 ? void 0 : instance.trackScreenView(params),
trackAction: (params) => instance === null || instance === void 0 ? void 0 : instance.trackAction(params),
trackEvent: (params) => instance === null || instance === void 0 ? void 0 : instance.trackEvent(params),
trackContent: (params) => instance === null || instance === void 0 ? void 0 : instance.trackContent(params),
trackSiteSearch: (params) => instance === null || instance === void 0 ? void 0 : instance.trackSiteSearch(params),
trackLink: (params) => instance === null || instance === void 0 ? void 0 : instance.trackLink(params),
trackDownload: (params) => instance === null || instance === void 0 ? void 0 : instance.trackDownload(params),
updateUserInfo: (params) => instance === null || instance === void 0 ? void 0 : instance.updateUserInfo(params),
removeUserInfo: () => instance === null || instance === void 0 ? void 0 : instance.removeUserInfo(),
trackReferralUrl: (params) => instance === null || instance === void 0 ? void 0 : instance.trackReferralUrl(params),
trackAdClick: (params) => instance === null || instance === void 0 ? void 0 : instance.trackAdClick(params),
trackAdImpression: (params) => instance === null || instance === void 0 ? void 0 : instance.trackAdImpression(params),
}), [instance]);
};
exports.default = useMatomo;