Iniziare
-
Installa il pacchetto
Terminal window npm i @capgo/capacitor-appinsightsTerminal window pnpm add @capgo/capacitor-appinsightsTerminal window yarn add @capgo/capacitor-appinsightsTerminal window bun add @capgo/capacitor-appinsights -
Sincronizza con i progetti nativi
Terminal window npx cap syncTerminal window pnpm cap syncTerminal window yarn cap syncTerminal window bunx cap sync
Utilizzo
Section titled “Utilizzo”Importa il plugin e inizializzalo con le tue credenziali AppInsights:
import { CapacitorAppinsights } from '@capgo/capacitor-appinsights';
// Initialize the SDKconst initializeAnalytics = async () => { await CapacitorAppinsights.init({ partnerId: 'your-partner-id', partnerKey: 'your-partner-key' });};
// Set user ID for trackingconst setUser = async (userId: string) => { await CapacitorAppinsights.setUserId({ userId });};
// Get SDK stateconst checkSDKState = async () => { const state = await CapacitorAppinsights.getState(); console.log('SDK State:', state);};
// Get plugin versionconst checkVersion = async () => { const { version } = await CapacitorAppinsights.getPluginVersion(); console.log('Plugin version:', version);};Riferimento API
Section titled “Riferimento API”init(options)
Section titled “init(options)”Inizializza l’SDK AppInsights con le tue credenziali.
await CapacitorAppinsights.init({ partnerId: 'your-partner-id', partnerKey: 'your-partner-key'});Parametri:
partnerId(string): Il tuo ID partner AppInsightspartnerKey(string): La tua chiave partner AppInsights
setUserId(options)
Section titled “setUserId(options)”Imposta o aggiorna l’ID utente dopo l’inizializzazione.
await CapacitorAppinsights.setUserId({ userId: 'user-123'});Parametri:
userId(string): L’ID utente da impostare per il tracciamento
getState()
Section titled “getState()”Ottieni lo stato corrente dell’SDK.
const state = await CapacitorAppinsights.getState();console.log(state);// {// initCompleted: true,// jobScheduled: true,// permissionAcquired: true// }Restituisce:
initCompleted(boolean): Se l’inizializzazione dell’SDK è completatajobScheduled(boolean): Se il job di raccolta dati è pianificatopermissionAcquired(boolean): Se i permessi necessari sono acquisiti
getPluginVersion()
Section titled “getPluginVersion()”Ottieni la versione del plugin Capacitor nativo.
const { version } = await CapacitorAppinsights.getPluginVersion();console.log('Version:', version);Esempio Completo
Section titled “Esempio Completo”import { CapacitorAppinsights } from '@capgo/capacitor-appinsights';
export class AnalyticsService { private initialized = false;
async initialize(partnerId: string, partnerKey: string) { try { await CapacitorAppinsights.init({ partnerId, partnerKey });
const state = await CapacitorAppinsights.getState(); this.initialized = state.initCompleted;
console.log('AppInsights initialized:', state); } catch (error) { console.error('Failed to initialize AppInsights:', error); } }
async identifyUser(userId: string) { if (!this.initialized) { throw new Error('AppInsights not initialized'); }
await CapacitorAppinsights.setUserId({ userId }); console.log('User identified:', userId); }
async getSDKStatus() { const state = await CapacitorAppinsights.getState(); return { ready: state.initCompleted && state.permissionAcquired, tracking: state.jobScheduled, state }; }}Migliori Pratiche
Section titled “Migliori Pratiche”-
Inizializza presto Inizializza l’SDK non appena la tua app si avvia per garantire un tracciamento accurato:
// In your app initializationawait CapacitorAppinsights.init({partnerId: process.env.APPINSIGHTS_PARTNER_ID,partnerKey: process.env.APPINSIGHTS_PARTNER_KEY}); -
Imposta l’ID utente al login Identifica gli utenti dopo l’autenticazione:
async function onUserLogin(user) {await CapacitorAppinsights.setUserId({userId: user.id});} -
Verifica lo stato dell’SDK Verifica che l’SDK sia pronto prima di operazioni critiche:
const state = await CapacitorAppinsights.getState();if (!state.initCompleted) {console.warn('AppInsights not ready');} -
Gestisci gli errori in modo elegante
try {await CapacitorAppinsights.init(config);} catch (error) {console.error('Analytics initialization failed:', error);// Continue app operation even if analytics fails}
Note sulla Piattaforma
Section titled “Note sulla Piattaforma”- Richiede iOS 10.0+
- Assicurati di avere i permessi necessari in Info.plist per il tracciamento
Android
Section titled “Android”- Richiede Android 5.0 (API 21)+
- Potrebbe richiedere il permesso delle statistiche di utilizzo a seconda delle funzionalità di tracciamento
- Non supportato sulla piattaforma web