このプロジェクトについて

tgram-analytics JS SDKは、tgram-analyticsサーバーへ analytics イベントを送信するための軽量クライアントライブラリです。ネイティブAPIのみを使用してブラウザで動作し、外部依存関係がなく、gzip圧縮ビルドファイルは2KB未満のため、読み込みが高速です。 主な機能は以下の通りです: - 依存関係ゼロ、極めて小さなバンドルサイズ。 - 完全なTypeScript型定義を同梱し、個別の@typesパッケージ不要。 - プライバシー重視設計:Cookie不使用、フィンガープリンティングなし、ブラウザのDo Not Track設定の任意遵守、セッションIDはsessionStorageにのみ保存。 - シングルページアプリケーション向けの自動ページビュー追跡。連続する同一URLは重複除去されます。React Router、Vue Router、Next.js、SvelteKit、History APIを使用するあらゆるフレームワークと連携します。 - スカラー値とスカラー配列による複数値プロパティに対応したシンプルなtrackメソッドによる手動イベント追跡。 - identifyメソッドで、以降のすべてのイベントに永続的なユーザープロパティを関連付け。 - ユーザー同意のオプトイン/オプトアウト制御。継続性はアプリケーション側で任意に管理可能。 - ネットワークリクエストを削減するためのオプションのイベントバッチング。最大バッチサイズと最大待機時間で設定可能。 - サーバーURL、自動ページビュー処理、DNT対応、コンテキスト収集、カスタムセッションIDなどの構成オプション。 - npmまたはビルドステップ不要のプロジェクト向けのplain scriptタグでの簡単なインストール。 - init、track、pageview、identify、opt、flush、resetからなる包括的API。 - 無効なイベント形状や未設定の構成に対する明確なエラーハンドリング。 - MITライセンスのもと公開され、コントリビューションを歓迎。 通常の使用方法では、デフォルトエクスポートをインポートし、プロジェクトのAPIキーとサーバーURLで1回initを呼び出し、その後カスタムイベントを記録したい場所でtrackを呼び出します。ページビューは必要がなければ無効化できます。 scriptタグ経由で読み込んだ場合は、モジュールシステムなしでも即時利用可能なグローバルTGAオブジェクトが含まれます。 プライバシー対策により、現在のタブを超えて永続識別子が保持されることはなく、サーバーはプロジェクトごとにドメインホワイトリストを適用して不正なデータ収集を防ぎます。 開発者向けには、ビルドスクリプト、テストスイート、TypeScript型チェック、リンティング、フォーマッティングツール、明確なコントリビューションガイドラインを備えています。 全体として、tgram-analytics JS SDKは、ユーザーのプライバシーを尊重しながら、開発者の使い胜手を重視したシンプルでオーバーヘッドの少ないイベントデータ収集方法を提供します。