Browser
Custom analytics
@silicon-jungle/inkwell-sdk/analyticsSend small game events into private creator analytics.
Exact source · npm package · Reference version 0.0.8
API at a glance
analytics.track(name, properties?): voidtrack(name, properties?): void
Names are 1–64 safe characters starting with a letter. Properties are a flat record of string, number, boolean or null values; keep the serialized object within 8 KB.
Do not send passwords, tokens, private chat or personal data. Browser telemetry is untrusted and must not authorize rewards.
All exported symbols
AnalyticsPropertiesanalyticstrack
Exact TypeScript API
Generated from the SDK source, including input options, return values, public types and overloads. Relative imports below are links between SDK source modules, not additional package subpaths. Only the entrypoints listed in the reference index are supported import paths.
export type AnalyticsProperties = Record<string, string | number | boolean | null>;
/** Sends a small custom event through the trusted Inkwell player parent. */
export declare function track(name: string, properties?: AnalyticsProperties): void;
export declare const analytics: Readonly<{
track: typeof track;
}>;
Supporting internal type declarations
These clarify types referenced by the generated signatures; do not import these internal paths directly.
game-services.d.ts
export declare class GameServiceError extends Error {
readonly status: number;
readonly code: string;
constructor(message: string, status?: number, code?: string);
}
export type GameServiceRequest = <T>(service: string, request: Record<string, unknown>) => Promise<T>;
export declare const requestGameService: GameServiceRequest;
/** Server-only adapter. Credentials must never be bundled into browser games. */
export declare function createGameServiceRequest(options: {
baseUrl: string;
token: string;
fetch?: typeof fetch;
}): GameServiceRequest;
protocol.d.ts
export declare const SDK_SOURCE: "inkwell-sdk";
export declare const SDK_VERSION: 1;
export type InkwellMessageType = "ready" | "loading.progress" | "loading.error" | "session.complete" | "analytics.track" | "assets.progress" | "player.get" | "presence.get" | "performance.sample" | "backend.connect" | "backend.fetch";
export type InkwellMessage = {
source: typeof SDK_SOURCE;
version: typeof SDK_VERSION;
type: InkwellMessageType;
payload?: Record<string, unknown>;
sentAt: number;
};
export declare function parentOrigin(): string | null;
export declare function requestId(): string;
export declare function emit(type: InkwellMessageType, payload?: Record<string, unknown>): boolean;