Skip to main content

Core SDK

Zixflow.initialize(config: ZixflowConfig): void

Initialize the SDK with configuration.
Zixflow.initialize({
  apiKey: 'YOUR_API_KEY',
});

Zixflow.identify(params: { userId: string; traits?: object }): void

Identify a user with optional traits.
Zixflow.identify({
  userId: 'user-123',
  traits: { email: 'user@example.com' }
});

Zixflow.clearIdentify(): void

Clear the current user’s identity.
Zixflow.clearIdentify();

Zixflow.track(name: string, properties?: object | Map<string, any>): void

Track a custom event.
Zixflow.track('button_clicked', { button_name: 'signup' });

Zixflow.screen(name: string, properties?: object): void

Track a screen view.
Zixflow.screen('HomeScreen');

Zixflow.setProfileAttributes(attributes: object): void

Set attributes on the user profile.
Zixflow.setProfileAttributes({ plan: 'premium' });

Zixflow.setDeviceAttributes(attributes: object): void

Set attributes on the current device.
Zixflow.setDeviceAttributes({ app_version: '2.0.0' });

Push Messaging

Zixflow.pushMessaging.showPromptForPushNotifications(options): Promise<ZixflowPushPermissionStatus>

Request push notification permission.
const status = await Zixflow.pushMessaging.showPromptForPushNotifications({
  ios: { sound: true, badge: true }
});

In-App Messaging

Zixflow.inAppMessaging.registerEventsListener(callback): EventSubscription

Register a listener for in-app message events.
const listener = Zixflow.inAppMessaging.registerEventsListener((event) => {
  console.log('In-app event:', event);
});

// Remove listener
listener.remove();

Zixflow.inAppMessaging.dismissMessage(): void

Dismiss the currently displayed in-app message.
Zixflow.inAppMessaging.dismissMessage();

Types

ZixflowConfig

Configuration object for SDK initialization.
interface ZixflowConfig {
  apiKey: string;
  logLevel?: ZixflowLogLevel;
  inApp?: {
  };
  autoTrackDeviceAttributes?: boolean;
  trackApplicationLifecycleEvents?: boolean;
  autoTrackScreenViews?: boolean;
  trackingApiUrl?: string;
}

ZixflowLogLevel

Log level enum.
enum ZixflowLogLevel {
  none = 'none',
  error = 'error',
  info = 'info',
  debug = 'debug'
}

ZixflowPushPermissionStatus

Push notification permission status.
enum ZixflowPushPermissionStatus {
  Granted = 'granted',
  Denied = 'denied',
  NotDetermined = 'notDetermined'
}

InAppMessageEventType

In-app message event types.
enum InAppMessageEventType {
  messageShown = 'messageShown',
  messageDismissed = 'messageDismissed',
  messageActionTaken = 'messageActionTaken',
  errorWithMessage = 'errorWithMessage'
}

InAppMessageEvent

In-app message event object.
interface InAppMessageEvent {
  eventType: InAppMessageEventType;
  deliveryId?: string;
  messageId?: string;
  actionName?: string;
  actionValue?: string;
}