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

170 lines
4.7 KiB
Markdown

---
sidebar_position: 1
_i18n_hash: fbe38264a49d1d3af45c4417fdc9a108
---
# Seguimiento de Aplicaciones
Tianji ofrece un potente SDK para rastrear eventos y el comportamiento de los usuarios en tus aplicaciones. Esta guía explica cómo integrar y utilizar el SDK de Seguimiento de Aplicaciones en tus proyectos.
## Instalación
Instala el SDK de Tianji para React Native en tu proyecto:
```bash
npm install tianji-react-native
# o
yarn add tianji-react-native
# o
pnpm add tianji-react-native
```
## Inicialización
Antes de utilizar cualquier función de seguimiento, necesitas inicializar el SDK de la aplicación con tu URL del servidor Tianji y el ID de la aplicación:
```ts
import { initApplication } from 'tianji-react-native';
initApplication({
serverUrl: 'https://tianji.example.com', // Tu URL del servidor Tianji
applicationId: 'tu-id-de-aplicación' // Tu identificador de aplicación
});
```
## Seguimiento de Eventos
Puedes rastrear eventos personalizados en tu aplicación para monitorear acciones y comportamientos de los usuarios:
```ts
import { reportApplicationEvent } from 'tianji-react-native';
// Rastrear un evento simple
reportApplicationEvent('Botón Clicado');
// Rastrear un evento con datos adicionales
reportApplicationEvent('Compra Completada', {
productId: 'producto-123',
price: 29.99,
currency: 'USD'
});
```
## Seguimiento de Pantallas
Rastrea las vistas de pantalla en tu aplicación para comprender los patrones de navegación de los usuarios:
### Configurando la Pantalla Actual
Puedes establecer la información de la pantalla actual que se incluirá en los eventos subsecuentes:
```ts
import { updateCurrentApplicationScreen } from 'tianji-react-native';
// Actualizar pantalla actual cuando el usuario navega
updateCurrentApplicationScreen('DetallesProducto', { productId: 'producto-123' });
```
### Reportando Vistas de Pantalla
Reporta explícitamente eventos de vista de pantalla:
```ts
import { reportApplicationScreenView } from 'tianji-react-native';
// Reporta la vista de la pantalla actual
reportApplicationScreenView();
// O reporta una vista de pantalla específica
reportApplicationScreenView('Caja', { cartItems: 3 });
```
#### Integración con 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])
}
```
## Identificación del Usuario
Identifica a los usuarios en tu aplicación para rastrear su comportamiento a través de sesiones:
```ts
import { identifyApplicationUser } from 'tianji-react-native';
// Identificar un usuario con su información
identifyApplicationUser({
id: 'usuario-123', // Identificador único del usuario
email: 'usuario@ejemplo.com',
name: 'John Doe',
// Agrega cualquier otra propiedad del usuario
plan: 'premium',
signupDate: '2023-01-15'
});
```
## Referencia de la API
### `initApplication(options)`
Inicializa el SDK de seguimiento de aplicaciones.
**Parámetros:**
- `options`: ApplicationTrackingOptions
- `serverUrl`: Tu URL del servidor Tianji (por ejemplo, 'https://tianji.example.com')
- `applicationId`: Tu identificador de aplicación
### `reportApplicationEvent(eventName, eventData?, screenName?, screenParams?)`
Envía un evento de aplicación al servidor de Tianji.
**Parámetros:**
- `eventName`: Nombre del evento (máx. 50 caracteres)
- `eventData`: (Opcional) Objeto de datos del evento
- `screenName`: (Opcional) Nombre de la pantalla para sobrescribir la pantalla actual
- `screenParams`: (Opcional) Parámetros de la pantalla para sobrescribir los parámetros de la pantalla actual
### `updateCurrentApplicationScreen(name, params)`
Actualiza la información de la pantalla actual de la aplicación.
**Parámetros:**
- `name`: Nombre de la pantalla
- `params`: Objeto de parámetros de la pantalla
### `reportApplicationScreenView(screenName?, screenParams?)`
Envía un evento de vista de pantalla al servidor de Tianji.
**Parámetros:**
- `screenName`: (Opcional) Nombre de la pantalla para sobrescribir la pantalla actual
- `screenParams`: (Opcional) Parámetros de la pantalla para sobrescribir los parámetros de la pantalla actual
### `identifyApplicationUser(userInfo)`
Identifica un usuario en la aplicación.
**Parámetros:**
- `userInfo`: Objeto de datos de identificación del usuario
## Limitaciones de Carga Útil
- Información del idioma: máx. 35 caracteres
- Información del sistema operativo: máx. 20 caracteres
- Información del URL: máx. 500 caracteres
- Nombre del evento: máx. 50 caracteres