170 lines
5.2 KiB
Markdown
170 lines
5.2 KiB
Markdown
---
|
||
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文字
|