170 lines
4.2 KiB
Markdown
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
|