Files
2026-07-13 12:30:54 +08:00

170 lines
5.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
sidebar_position: 1
_i18n_hash: fbe38264a49d1d3af45c4417fdc9a108
---
# アプリケーショントラッキング
Tianjiは、アプリケーション内のイベントやユーザー行動をトラッキングするための強力なSDKを提供しています。このガイドでは、アプリケーショントラッキングSDKをプロジェクトに統合して使用する方法を説明します。
## インストール
プロジェクトにTianjiのReact Native SDKをインストールします:
```bash
npm install tianji-react-native
# または
yarn add tianji-react-native
# または
pnpm add tianji-react-native
```
## 初期化
トラッキング機能を使用する前に、TianjiサーバーURLとアプリケーションIDを使用してアプリケーションSDKを初期化する必要があります:
```ts
import { initApplication } from 'tianji-react-native';
initApplication({
serverUrl: 'https://tianji.example.com', // TianjiサーバーのURL
applicationId: 'your-application-id' // アプリケーション識別子
});
```
## イベントトラッキング
アプリケーション内でカスタムイベントをトラッキングすることで、ユーザーの行動を監視できます:
```ts
import { reportApplicationEvent } from 'tianji-react-native';
// シンプルなイベントをトラッキング
reportApplicationEvent('Button Clicked');
// 追加データを伴うイベントをトラッキング
reportApplicationEvent('Purchase Completed', {
productId: 'product-123',
price: 29.99,
currency: 'USD'
});
```
## スクリントラッキング
アプリケーション内のスクリーンビューをトラッキングして、ユーザーのナビゲーションパターンを理解します:
### 現在のスクリーン設定
後続のイベントに含まれる現在のスクリーン情報を設定できます:
```ts
import { updateCurrentApplicationScreen } from 'tianji-react-native';
// ユーザーがナビゲートした際に現在のスクリーンを更新
updateCurrentApplicationScreen('ProductDetails', { productId: 'product-123' });
```
### スクリーンビューの報告
スクリーンビューイベントを明示的に報告します:
```ts
import { reportApplicationScreenView } from 'tianji-react-native';
// 現在のスクリーンビューを報告
reportApplicationScreenView();
// または特定のスクリーンビューを報告
reportApplicationScreenView('Checkout', { cartItems: 3 });
```
#### expo-routerとの統合
```tsx
import { useGlobalSearchParams, usePathname } from 'expo-router'
import { reportApplicationScreenView } from 'tianji-react-native'
function App() {
const pathname = usePathname()
const params = useGlobalSearchParams()
useEffect(() => {
reportApplicationScreenView(pathname, params)
}, [pathname, params])
}
```
## ユーザー識別
アプリケーション内のユーザーを識別し、セッションを超えた行動をトラッキングします:
```ts
import { identifyApplicationUser } from 'tianji-react-native';
// ユーザー情報でユーザーを識別
identifyApplicationUser({
id: 'user-123', // ユーザーの一意の識別子
email: 'user@example.com',
name: 'John Doe',
// その他のユーザー属性を追加
plan: 'premium',
signupDate: '2023-01-15'
});
```
## APIリファレンス
### `initApplication(options)`
アプリケーショントラッキングSDKを初期化します。
**パラメータ:**
- `options`: ApplicationTrackingOptions
- `serverUrl`: TianjiサーバーURL(例: 'https://tianji.example.com'
- `applicationId`: アプリケーション識別子
### `reportApplicationEvent(eventName, eventData?, screenName?, screenParams?)`
アプリケーションイベントをTianjiサーバーに送信します。
**パラメータ:**
- `eventName`: イベント名(最大50文字)
- `eventData`: (オプション)イベントデータオブジェクト
- `screenName`: (オプション)現在のスクリーンをオーバーライドするスクリーン名
- `screenParams`: (オプション)現在のスクリーンパラメータをオーバーライドするスクリーンパラメータ
### `updateCurrentApplicationScreen(name, params)`
現在のアプリケーションスクリーン情報を更新します。
**パラメータ:**
- `name`: スクリーン名
- `params`: スクリーンパラメータオブジェクト
### `reportApplicationScreenView(screenName?, screenParams?)`
スクリーンビューイベントをTianjiサーバーに送信します。
**パラメータ:**
- `screenName`: (オプション)現在のスクリーンをオーバーライドするスクリーン名
- `screenParams`: (オプション)現在のスクリーンパラメータをオーバーライドするスクリーンパラメータ
### `identifyApplicationUser(userInfo)`
アプリケーション内でユーザーを識別します。
**パラメータ:**
- `userInfo`: ユーザー識別データオブジェクト
## ペイロード制限
- 言語情報: 最大35文字
- オペレーティングシステム情報: 最大20文字
- URL情報: 最大500文字
- イベント名: 最大50文字