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

170 lines
4.2 KiB
Markdown

---
sidebar_position: 1
_i18n_hash: fbe38264a49d1d3af45c4417fdc9a108
---
# Pelacakan Aplikasi
Tianji menyediakan SDK yang kuat untuk melacak kejadian dan perilaku pengguna dalam aplikasi Anda. Panduan ini menjelaskan cara mengintegrasikan dan menggunakan SDK Pelacakan Aplikasi dalam proyek Anda.
## Instalasi
Pasang SDK Tianji untuk React Native dalam proyek Anda:
```bash
npm install tianji-react-native
# atau
yarn add tianji-react-native
# atau
pnpm add tianji-react-native
```
## Inisialisasi
Sebelum menggunakan fitur pelacakan apa pun, Anda perlu menginisialisasi SDK Aplikasi dengan URL server Tianji dan ID aplikasi Anda:
```ts
import { initApplication } from 'tianji-react-native';
initApplication({
serverUrl: 'https://tianji.example.com', // URL server Tianji Anda
applicationId: 'your-application-id' // Identifier aplikasi Anda
});
```
## Pelacakan Kejadian
Anda dapat melacak kejadian khusus dalam aplikasi Anda untuk memantau tindakan dan perilaku pengguna:
```ts
import { reportApplicationEvent } from 'tianji-react-native';
// Lacak kejadian sederhana
reportApplicationEvent('Button Clicked');
// Lacak kejadian dengan data tambahan
reportApplicationEvent('Purchase Completed', {
productId: 'product-123',
price: 29.99,
currency: 'USD'
});
```
## Pelacakan Layar
Lacak tampilan layar dalam aplikasi Anda untuk memahami pola navigasi pengguna:
### Menetapkan Layar Saat Ini
Anda dapat menetapkan informasi layar saat ini yang akan disertakan dalam kejadian berikutnya:
```ts
import { updateCurrentApplicationScreen } from 'tianji-react-native';
// Perbarui layar saat ini ketika pengguna bernavigasi
updateCurrentApplicationScreen('ProductDetails', { productId: 'product-123' });
```
### Melaporkan Tampilan Layar
Secara eksplisit melaporkan kejadian tampilan layar:
```ts
import { reportApplicationScreenView } from 'tianji-react-native';
// Laporkan tampilan layar saat ini
reportApplicationScreenView();
// Atau laporkan tampilan layar tertentu
reportApplicationScreenView('Checkout', { cartItems: 3 });
```
#### Integrasi dengan 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])
}
```
## Identifikasi Pengguna
Identifikasi pengguna dalam aplikasi Anda untuk melacak perilaku mereka di berbagai sesi:
```ts
import { identifyApplicationUser } from 'tianji-react-native';
// Identifikasi pengguna dengan informasi mereka
identifyApplicationUser({
id: 'user-123', // Identifier unik pengguna
email: 'user@example.com',
name: 'John Doe',
// Tambahkan properti pengguna lainnya
plan: 'premium',
signupDate: '2023-01-15'
});
```
## Referensi API
### `initApplication(options)`
Menginisialisasi SDK pelacakan aplikasi.
**Parameter:**
- `options`: ApplicationTrackingOptions
- `serverUrl`: URL server Tianji Anda (mis. 'https://tianji.example.com')
- `applicationId`: Identifier aplikasi Anda
### `reportApplicationEvent(eventName, eventData?, screenName?, screenParams?)`
Mengirimkan kejadian aplikasi ke server Tianji.
**Parameter:**
- `eventName`: Nama kejadian (maks 50 karakter)
- `eventData`: (Opsional) Objek data kejadian
- `screenName`: (Opsional) Nama layar untuk mengganti layar saat ini
- `screenParams`: (Opsional) Parameter layar untuk mengganti parameter layar saat ini
### `updateCurrentApplicationScreen(name, params)`
Memperbarui informasi layar aplikasi saat ini.
**Parameter:**
- `name`: Nama layar
- `params`: Objek parameter layar
### `reportApplicationScreenView(screenName?, screenParams?)`
Mengirimkan kejadian tampilan layar ke server Tianji.
**Parameter:**
- `screenName`: (Opsional) Nama layar untuk mengganti layar saat ini
- `screenParams`: (Opsional) Parameter layar untuk mengganti parameter layar saat ini
### `identifyApplicationUser(userInfo)`
Mengidentifikasi pengguna dalam aplikasi.
**Parameter:**
- `userInfo`: Objek data identifikasi pengguna
## Batasan Payload
- Informasi bahasa: maks 35 karakter
- Informasi sistem operasi: maks 20 karakter
- Informasi URL: maks 500 karakter
- Nama kejadian: maks 50 karakter