Commencer
-
Installer the package
Fenêtre de terminal npm i @capgo/capacitor-appinsightsFenêtre de terminal pnpm add @capgo/capacitor-appinsightsFenêtre de terminal yarn add @capgo/capacitor-appinsightsFenêtre de terminal bun add @capgo/capacitor-appinsights -
Synchroniser with Natif projects
Fenêtre de terminal npx cap syncFenêtre de terminal pnpm cap syncFenêtre de terminal yarn cap syncFenêtre de terminal bunx cap sync
Utilisation
Section titled “Utilisation”Importer the plugin and Initialiser it with your AppInsights credentials:
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);};API Référence
Section titled “API Référence”init(Options)
Section titled “init(Options)”Initialiser the AppInsights SDK with your credentials.
await CapacitorAppinsights.init({ partnerId: 'your-partner-id', partnerKey: 'your-partner-key'});Parameters:
partnerId(string): Your AppInsights partner IDpartnerKey(string): Your AppInsights partner key
setUserId(Options)
Section titled “setUserId(Options)”Set or Mise à jour the Utilisateur ID after Initialisation.
await CapacitorAppinsights.setUserId({ userId: 'user-123'});Parameters:
userId(string): The user ID to set for tracking
getState()
Section titled “getState()”Get the current state of the SDK.
const state = await CapacitorAppinsights.getState();console.log(state);// {// initCompleted: true,// jobScheduled: true,// permissionAcquired: true// }Returns:
initCompleted(boolean): Whether SDK initialization is completejobScheduled(boolean): Whether data collection job is scheduledpermissionAcquired(boolean): Whether necessary permissions are acquired
getPluginVersion()
Section titled “getPluginVersion()”Get the Natif Capacitor plugin Version.
const { version } = await CapacitorAppinsights.getPluginVersion();console.log('Version:', version);Terminé Exemple
Section titled “Terminé Exemple”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 }; }}Best Practices
Section titled “Best Practices”-
Initialiser early Initialiser the SDK as soon as your Application starts to ensure accurate tracking:
// In your app initializationawait CapacitorAppinsights.init({partnerId: process.env.APPINSIGHTS_PARTNER_ID,partnerKey: process.env.APPINSIGHTS_PARTNER_KEY}); -
Set Utilisateur ID on Connexion Identify Utilisateurs after authentication:
async function onUserLogin(user) {await CapacitorAppinsights.setUserId({userId: user.id});} -
Vérifier SDK state Verify SDK is ready before critical operations:
const state = await CapacitorAppinsights.getState();if (!state.initCompleted) {console.warn('AppInsights not ready');} -
Handle errors gracefully
try {await CapacitorAppinsights.init(config);} catch (error) {console.error('Analytics initialization failed:', error);// Continue app operation even if analytics fails}
Platform Notes
Section titled “Platform Notes”- Requires iOS 10.0+
- Ensure you have the necessary permissions in Info.plist for tracking
Android
Section titled “Android”- Requires Android 5.0 (API 21)+
- May require Utilisation stats permission depending on tracking Fonctionnalités
- Not supported on web platform