0.0.1-alpha.6 • Published 7 months ago

@neuralyze.io/analytics-next-server v0.0.1-alpha.6

Weekly downloads
-
License
MIT
Repository
-
Last release
7 months ago

Universal Analytics - Next.js Server

Privacy-first analytics for Next.js server components and server actions.

Installation

npm install @neuralyze.io/analytics-next-server

Usage

Basic Usage

// app/lib/analytics.js
'use server';

import { createAnalytics } from '@neuralyze.io/analytics-next-server';

const analytics = createAnalytics({
  apiKey: process.env.NEURALYZE_API_KEY,
  environment: process.env.NEURALYZE_ENV_ID
});

export { analytics };

Track Page Views

import { analytics } from './lib/analytics';

export default async function Page() {
  // Track page view
  await analytics.trackPageView({
    url: '/dashboard',
    title: 'Dashboard',
    referrer: 'https://example.com'
  });

  return <div>Page content</div>;
}

Track Server Actions

import { analytics } from './lib/analytics';

async function handleFormSubmit(formData) {
  'use server';
  
  // Track form submission
  await analytics.trackServerAction('form_submit', {
    formId: 'contact',
    email: formData.get('email')
  });
}

Track API Routes

export async function POST(request) {
  // Track API usage
  await analytics.trackServerAction('form_submit', {
    endpoint: '/api/contact',
    method: 'POST'
  });
}

Batch Processing

For efficient processing of multiple events:

// app/lib/batch-analytics.js
'use server';

import { AnalyticsBatch } from '@neuralyze.io/analytics-next-server';

const batch = new AnalyticsBatch({
  apiKey: process.env.NEURALYZE_API_KEY,
  environment: process.env.NEURALYZE_ENV_ID,
  batchSize: 10, // Process in batches of 10
  flushInterval: 5000 // Flush every 5 seconds
});

export { batch };

API Reference

UniversalAnalytics

  • trackPageView(url, options) - Track page views with optional metadata
  • trackServerAction(name, data) - Track server actions and API routes
  • getSessionData(sessionId) - Get session analytics data

AnalyticsBatch

  • addEvent(name, data) - Add event to batch queue
  • flush() - Manually flush queued events
  • setConfig(config) - Update batch configuration

Environment Variables

NEURALYZE_API_KEY=your-api-key
NEURALYZE_ENV_ID=your-environment-id

License

MIT

0.0.1-alpha.6

7 months ago

0.0.1-alpha.5

7 months ago

0.0.1-alpha.4

7 months ago

0.0.1-alpha.3

7 months ago

0.0.1-alpha.2

7 months ago