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