capacitor-analytics
Capacitor plugin to enable features from Firebase Analytics
API
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
definitions
file
Usage
;const analytics = ; //// user idanalytics; //// user attributes// google don't allow use of sensitive data// like names, emails, card numbers, etc.analytics; //// some eventanalytics;
Add Google config files
Navigate to the project settings page for your app on Firebase.
iOS
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.
Android
Download the google-services.json
file and copy it to android/app/
directory of your capacitor project.
iOS setup
ionic start my-cap-app --capacitor
cd my-cap-app
npm install --save capacitor-analytics
mkdir www && touch www/index.html
sudo gem install cocoapods
(only once)npx cap add ios
npx cap sync ios
(every time you runnpm install
)npx cap open ios
- sign your app at xcode (general tab)
- add
GoogleService-Info.plist
to the app folder in xcode
Enable debug view
- 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.
Android setup
ionic start my-cap-app --capacitor
cd my-cap-app
npm install --save capacitor-analytics
mkdir www && touch www/index.html
npx cap add android
npx cap sync android
(every time you runnpm install
)npx cap open android
- add
google-services.json
to yourandroid/app
folder [extra step]
in android case we need to tell Capacitor to initialise the plugin:
on your
MainActivity.java
file 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.
Updating
For existing projects you can upgrade all capacitor related packages (including this plugin) with this single command
npx npm-upgrade '*capacitor*' && npm install
Sample app
https://github.com/stewwan/capacitor-analytics-demo
You may also like
Cheers 🍻
Follow me @Twitter
License
MIT