Memulai
-
Instal paket
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 -
Sinkronkan dengan proyek native
Terminal window npx cap syncTerminal window pnpm cap syncTerminal window yarn cap syncTerminal window bunx cap sync
Penggunaan
Section titled “Penggunaan”Impor plugin dan inisialisasi dengan kredensial AppInsights Anda:
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);};Referensi API
Section titled “Referensi API”init(options)
Section titled “init(options)”Inisialisasi AppInsights SDK dengan kredensial Anda.
await CapacitorAppinsights.init({ partnerId: 'your-partner-id', partnerKey: 'your-partner-key'});Parameter:
partnerId(string): ID partner AppInsights AndapartnerKey(string): Kunci partner AppInsights Anda
setUserId(options)
Section titled “setUserId(options)”Atur atau perbarui ID pengguna setelah inisialisasi.
await CapacitorAppinsights.setUserId({ userId: 'user-123'});Parameter:
userId(string): ID pengguna yang akan diatur untuk pelacakan
getState()
Section titled “getState()”Dapatkan status SDK saat ini.
const state = await CapacitorAppinsights.getState();console.log(state);// {// initCompleted: true,// jobScheduled: true,// permissionAcquired: true// }Mengembalikan:
initCompleted(boolean): Apakah inisialisasi SDK selesaijobScheduled(boolean): Apakah pekerjaan pengumpulan data dijadwalkanpermissionAcquired(boolean): Apakah izin yang diperlukan diperoleh
getPluginVersion()
Section titled “getPluginVersion()”Dapatkan versi plugin Capacitor native.
const { version } = await CapacitorAppinsights.getPluginVersion();console.log('Version:', version);Contoh Lengkap
Section titled “Contoh Lengkap”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 }; }}Praktik Terbaik
Section titled “Praktik Terbaik”-
Inisialisasi lebih awal Inisialisasi SDK segera setelah aplikasi Anda dimulai untuk memastikan pelacakan yang akurat:
// In your app initializationawait CapacitorAppinsights.init({partnerId: process.env.APPINSIGHTS_PARTNER_ID,partnerKey: process.env.APPINSIGHTS_PARTNER_KEY}); -
Atur ID pengguna saat login Identifikasi pengguna setelah otentikasi:
async function onUserLogin(user) {await CapacitorAppinsights.setUserId({userId: user.id});} -
Periksa status SDK Verifikasi SDK siap sebelum operasi kritis:
const state = await CapacitorAppinsights.getState();if (!state.initCompleted) {console.warn('AppInsights not ready');} -
Tangani error dengan baik
try {await CapacitorAppinsights.init(config);} catch (error) {console.error('Analytics initialization failed:', error);// Continue app operation even if analytics fails}
Catatan Platform
Section titled “Catatan Platform”- Memerlukan iOS 10.0+
- Pastikan Anda memiliki izin yang diperlukan di Info.plist untuk pelacakan
Android
Section titled “Android”- Memerlukan Android 5.0 (API 21)+
- Mungkin memerlukan izin statistik penggunaan tergantung pada fitur pelacakan
- Tidak didukung di platform web