Set up HumanBehavior SDK with Remix applications
Show How to get your API Key
Example screenshot – your actual API key will be different.
npm install humanbehavior-js # or yarn add humanbehavior-js
app/root.tsx
import { Links, Meta, Outlet, Scripts, ScrollRestoration, useLoaderData, } from "@remix-run/react"; import { HumanBehaviorProvider} from 'humanbehavior-js'; import type { LinksFunction, LoaderFunctionArgs } from "@remix-run/node"; // Add loader export const loader = async ({ request }: LoaderFunctionArgs) => { return { ENV: { HUMANBEHAVIOR_API_KEY: process.env.HUMANBEHAVIOR_API_KEY, }, }; }; export function Layout({ children }: { children: React.ReactNode }) { ... } export default function App() { const data = useLoaderData<typeof loader>(); return ( <HumanBehaviorProvider apiKey={data.ENV.HUMANBEHAVIOR_API_KEY}> <Outlet /> </HumanBehaviorProvider> ); }
import { useHumanBehavior } from 'humanbehavior-js/react'; export default function MyComponent() { const tracker = useHumanBehavior(); const handleButtonClick = async () => { // Track custom event await tracker.customEvent('button_clicked', { buttonLocation: 'header' }); }; const handleLogin = async (user) => { // Identify user after successful authentication await tracker.identifyUser({ userProperties: { email: user.email, name: user.name, userId: user.id } }); }; return ( <div> <button onClick={handleButtonClick}>Click Me</button> </div> ); }
# .env HUMANBEHAVIOR_API_KEY=your-api-key-here
// In your code const tracker = HumanBehaviorTracker.init(process.env.HUMANBEHAVIOR_API_KEY);