Capacitor plugin to enable features from Firebase Analytics
enable(): Promise<void>disable(): Promise<void>instance(): Promise<{ id: string }>reset(): Promise<void>setScreen({ name: string; class?: string }): Promise<void>setUserID({ value: string }): Promise<void>setUserProp({ key: string; value: string }): Promise<void>logEvent({ name: string; params?: object }): Promise<void>
For more information check the
definitionsfile
import { Analytics } from 'capacitor-analytics';
const analytics = new Analytics();
//
// user id
analytics.setUserID({ value: '1337' });
//
// user attributes
// google don't allow use of sensitive data
// like names, emails, card numbers, etc.
analytics.setUserProp({
key: 'city',
value: 'San Francisco'
});
//
// some event
analytics.logEvent({
name: 'purchase',
params: { items: '[1, 2, 3]', total: 254.5 }
});Navigate to the project settings page for your app on Firebase.
Download the GoogleService-Info.plist file. In Xcode right-click on the yellow folder named "App" and select the Add files to "App".
Tip: if you drag and drop your file to this location, Xcode may not be able to find it.
Download the google-services.json file and copy it to android/app/ directory of your capacitor project.
ionic start my-cap-app --capacitorcd my-cap-appnpm install --save capacitor-analyticsmkdir www && touch www/index.htmlsudo gem install cocoapods(only once)npx cap add iosnpx cap sync ios(every time you runnpm install)npx cap open ios- sign your app at xcode (general tab)
- add
GoogleService-Info.plistto the app folder in xcode
- In Xcode, select Product > Scheme > Edit scheme
- Select Run from the left menu
- Select the Arguments tab
- In the Arguments Passed On Launch section, add
-FIRAnalyticsDebugEnabled
Tip: every time you change a native code you may need to clean up the cache (Product > Clean build folder) and then run the app again.
ionic start my-cap-app --capacitorcd my-cap-appnpm install --save capacitor-analyticsmkdir www && touch www/index.htmlnpx cap add androidnpx cap sync android(every time you runnpm install)npx cap open android- add
google-services.jsonto yourandroid/appfolder [extra step]in android case we need to tell Capacitor to initialise the plugin:
on your
MainActivity.javafile addimport io.stewan.capacitor.analytics.AnalyticsPlugin;and then inside the init callbackadd(AnalyticsPlugin.class);
Now you should be set to go. Try to run your client using ionic cap run android --livereload --address=0.0.0.0.
Tip: every time you change a native code you may need to clean up the cache (Build > Clean Project | Build > Rebuild Project) and then run the app again.
For existing projects you can upgrade all capacitor related packages (including this plugin) with this single command
npx npm-upgrade '*capacitor*' && npm install
https://github.com/stewwan/capacitor-analytics-demo
Cheers 🍻
Follow me @Twitter
MIT
