Separate Firebase Analytics from different Firebase apps - firebase

I've a single Firebase project which includes multiple apps in multiple platforms (e.g. delivery company with different apps for customers and riders, some of them web apps, some of them iOS apps, some of them Android apps, etc).
Each of those apps registers Firebase Analytics events. It doesn't make sense to compare together those events, as they are sometimes related to very different use cases. Following with the example of the delivery company:
Customer Android and iOS apps events should be considered together, as they are all the same
Riders Android app should be apart, as they apply only to riders' actions
Landing web page app events should also be separated, as while being triggered by the same audience (potential customers) as the customers, they don't have any thing to do with the customer app events.
The problem is all these events are presented together in Firebase Analytics dashboard and I can't find a way to segregate them by these "concerns". Ideally I would have three separated dashboards (customers, riders and landing page). I've tried creating different audiences, but the dimensions I found didn't made a fit. I can filter by platform, SO, etc, but nothing like "this user triggered these events in this Firebase app".
My bet right now is tagging all the events from the riders app with a default parameters like {'app': 'riders-app'}, but I guess there should be a better way to achieve this.

Not sure if this is the same (I'm also just starting to experiment with this), but you can define Audiences (in Google Analytics) for the different apps.
Go to Configure -> Audiences -> New audience -> Create custom
The filter is under "Platform / device" -> Stream
Note: you might need to play with the scoping parameter, not to have some crosstalk from users that use more apps - I'm not that far yet, so I don't know.

Related

Firebase Analytics for User View in Android/Kotlin App

In My android application I am trying to achieve a page Where I want to show Some Graphs for Stats of App to Users Like Active Users , Avg Time Spent by all users who use the app, Global map indicating Users from which Country with Intensity or more
To what I know Firebase Analytics Provides such details but I think its only for Admin , That is only the people that have access to the project can view it
Is there a possibility of Bringing those Analytics Graphs , Data , Stats into the App to and Show the User ? I am trying to achieve this in Kotlin for a Android App.
Any Indicator or Clear Resource to read abt Would also be helpful With slight info on the part I am trying to Achieve.
Thanks in Advance
I believe you could achieve this by using the Google Analytics 4 Measurement Protocol API. The Measurement Protocol API allows developers to make HTTP requests to send events directly to Google Analytics servers. This allows you to measure how users interact with your business from any HTTP-enabled environment. Notably, this makes it easy to measure interactions that happen server-to-server.
You can use the Measurement Protocol on the following:
Tie online to offline behavior.
Measure interactions both client-side and server-side.
Send events that happen outside standard user-interaction (e.g. offline conversions).
You can go to this documentation for more information.

Firebase Calendars

I have been searching all over for this, and I just haven't been able to find a clear answer to my questions.
I'm developing an app for a client and using Firebase as my backend (it's my first time). I need each user account to have it's own calendar.
I will be using the Firebase O-Auth but I don't want my app to see or edit a users auth account calendar (ie: if a google user logs in I don't want to edit their google calendar). I want our database to store a unique calendar for each unique user.
Will the calendar API allow me to do this? The app could potentially have thousands of calendars. I've seen some docs about limits, but it seems like limits on api calls, which I don't have any estimates for at this time.
Would a service account be appropriate for this application?
I've checked these other posts, but they don't quite answer my questions:
How to create a scalable calendar service backend for an Android app?
Google Calendar API - Designed for?
Any kind of insight would be much appreciated. Thanks!
Generally what we do in this case is create calendars using documents and collections within Firebase. Here is an example of a calendar app that uses Firebase to store its appointments. It is written in Flutter, but the backend design for Firebase should be easy to understand.
https://www.syncfusion.com/kb/12067/how-to-work-with-the-firebase-database-and-the-flutter-calendar-for-appointments

Hierarchy of Google Analytics for Multiple Builds of Same App

I am setting up Google Analytics Accounts for a Product which have multiple builds as frontend for same user base.
So we have one Product called X and have:
Web Build
Mobile Web
Android App 1
iOS App 1
Android App 2
iOS App 2 6.
The main point is identical APIs and User base is used in all platforms and apps. So if we have a user John Doe he can login in any of the web or apps.
We want to extract following information from Google Analytics.
Under User ID feature want, sessions aggregations of that user around all build and apps, but identifiable. So I can know that user John login to web yesterday and used mobile app today.
Each user belong to a customer (company) in our system. So want to segregate all information based on companies.
I already have achieved point 2 by creating a custom dimension in Google Analytics and believe that's the best way to do it.
Now need suggestions from Gurus on how to acheive point 1 using Google Analytics.
Either use single account and single property for all builds and apps
If yes, then how to identify those apps and builds in sessions
If I use multiple properties/apps in GA account then how to aggregate user sessions among all?
Looking forward to hear how guys around hand or should have handled this scenario. Cheers!
This question is extremely broad, IMO any answer your going to get is going to be primarily opinion based. So here is my opinion and a little extra info to boot.
The first issue you are going to have is that there is a difference between Mobile google analytics accounts and web analytics accounts. The two do not mix. Mobile analytics accounts insert screen views with a screen name. While web accounts insert PageViews with a document location.
There is no way to analyze between two different Google analytics web properties. Unless you intend your android and ios apps to run as websites and send it like its a webpage its not going to work. You could potentially download the data into your own system or big query and analyze it there. Comparing your custom dimension to see what the users have done differently. I would wonder at the quality of the analysis you will get as there will be no real way for you to compare the data and match it up beyond using your custom dimensions user id and possibly date.
I am adding this because I am not sure what your saving in your custom dimension.
The second issue you are going to have is tracking. Google analytics TOS does not allow you to send any identifiable information to Google.
The Analytics terms of service, which all Analytics customers must adhere to, prohibits sending personally identifiable information (PII) to Analytics (such as names, social security numbers, email addresses, or any similar data), or data that permanently identifies a particular device (such as a mobile phone’s unique device identifier if such an identifier cannot be reset).
You could for example send your companies customer id for John as a user_id but user_id is an internal valuable used for internal processing this is not something you can extract out via the api.
The User ID enables the association of one or more sessions (and any
activity within those sessions) with a unique and persistent ID that
you send to Analytics.
To implement the User ID, you must be able to generate your own unique
IDs, consistently assign IDs to users, and include these IDs wherever
you send data to Analytics.
For example, you could send the unique IDs generated by your own
authentication system to Analytics as values for the User ID. Any
engagement, like link clicks and page or screen navigation, that
happen while a unique ID is assigned can be sent and connected in
Analytics via the User ID.
The best you could do would be to create a custom dimension and send that with every hit username=johnscustomerId. Which you appear to have already done. This is what I have done in the past and it works perfectly well.

Can I use Single Firebase account for two Google Play Developer account?

I am having two Google play accounts one for games and one for apps.Can I use single Firebase account so that data of all my apps and games will be at one one place.
In short, I want to know,Can I use Single Firebase account for two Google Play Developer account?
is it legal?
You can only link a Firebase Console project to a single Google Play project.
Depending on which features you're interested in, you may be able to get the data connected. The main data that flows directly between the two is some crash reporting information and in app purchase information. If that's the data you want, you can setup two Firebase project, and link both of them to BigQuery to combined the Firebase Analytics data there.

Google Calendar API integration

My scenario is the following: We currently own an online rental marketplace that uses peer to peer bookings just like Airbnb. This means each user has a calendar for their property.We have a Vaway calendar for the bookings on our site however are wanting to integrate google calendar so we can be able to 2 way sync/asynchronous all the Ical calendars to each other from our partner sites who support it.
After much research I have tested my personal google calendar to see how the iCal works and it seems to work perfectly so we decided this architecture would need to be implemented on a much larger scale. This would be used in all new users signups to give our users an all in one calendar that syncs all our Partner sites into one completely synced google calendar for their listing. This basically allows a user who has their listing on 7 different platforms to sync to one calendar showing availability for them to keep track of inside Vaway account.
The google calendar would be completely separate from our Vaway calendar specifically to allow our users to sync all their property bookings from other sites into one integrated calendar.. The problem when reading about google calendar API is it requires OAuth 2.0 which is required user sign in from their existing google account (Calendar, Gmail...etc). Many of our users and new signups will not have google accounts and we do not want them to have to go through a google signup process to log into their calendar. Is there any way around OAuth 2.0? We really just need the functionality of the google calendar and its syncing capabilities inside our dashboard to give read write permission and sync back and forth 2 way with other calendars on other platforms.
With all of the features the google calendar has it seems to be perfect for what we are doing when testing. Each user that signs up with us will have google calendar in their Vaway dashboard provided by vaway however they will manage their own google calendar inside the Vaway platform for their property bookings. All calendars events/bookings would be public to allow the Ical syncing option to push through.
We do not want the users accessing this calendar outside of the platform because the pulls them away from the site. I'm not sure what solution would best suit this business model and am totally at my wits end here after researching. We are trying to keep our overhead low so google apps marketplace is not an option.
You really should reformulate your question, because it's really hard to read and understand right now.
But if I really get your question, you want to enable managing google calendar from a personal application without the end user having to log to any google personal account.
If this is clearly what you want to do, I suggest you to have a look to Service Account with OAuth2.0.
(See here : https://developers.google.com/accounts/docs/OAuth2#serviceaccount)
It will provide a service account for your application, from which you will be able to handle calendars for your app.
And here you will find a sample showing how to do it with Java. (https://code.google.com/p/google-api-java-client/wiki/OAuth2#Service_Accounts)

Resources