What would happen if # of events exceeds 500 on Firebase Analytics? - firebase-analytics

I have been using Firebase Analytics for my apps and I like it.
Currently I have 300 events set up on one of my apps.
I learned that the max number of events we can have is 500.
What would happen if # of events exceeds 500 on Firebase Analytics?
Would it just stop logging new event? (501st event)
Or is there any better way to avoid it?
I will appreciate your advice!

Extra events are dropped. A firebase_error event is logged with a firebase_error parameter which indicates the error code. See this documentation for more information.
There's no other way to avoid it, but to manage your event logging implementation properly. Note that event in Google Analytics for Firebase is equivalent to the user's interaction within your app.
I would not suggest to create or log an event with incremental index, prefix or suffix in the name. You may also want to use the event parameter.
For example, you have a login page (with authentication methods of using Facebook, Google or Username/Password) and you'd like to track what is the most commonly used by the users. With this, you could log a custom event with the name of "user_login" and a parameter or login_method. After this, add the parameter in the custom parameter reporting to see the counts.
Hope this helps :)

Just for clarification because this confused us and there is no clear documentation on this:
The 500 events limit is per user per day and not per project globally. So events are only dropped after a single user uses more than 500 unique events per day, everyone else will continue to log events.
So if you have more than 500 events thats fine, you dont need to replace them you just need to remove them from your current app from being logged and use new ones, then this user will never use the old events and it does not count towards his 500 event limit.

Related

Google Workspace Addon: Unable to retrigger the onEventOpenTrigger Event

I currently have a onEventOpenTrigger that returns a card with informations from the server as well as information from the event itself.
The problem I am facing is that I can edit the server info as well as info from the event. So I want to render the Card with the updated info every time I reopen the event.
Now I am able to rerender the card by using a different trigger eventUpdateTrigger that helps me re render the card in case theres a change in members or a change in conference solutions. But I can't seem to retrigger it when I change the time.
Does anyone has any better idea than a refresh button to achieve this. Thanks in advance.
Times of the event (start and end) are not supported by Calendar event triggers.
According to the documentation, eventUpdateTrigger will only be triggered if:
- Adds one or more attendees.
- Removes one or more attendees.
- Adds or switches to a different conferencing solution.
There is a feature request on Google's Issue Tracker asking for the date/time fields to be supported. You can click on +1 to give more priority to it and to receive updates.
In the current situation, the refresh button seems to be the best option for your case.

Firebase event is not showing in Event tab

I have created a event on my Firebase dashboard
and can see it in Debug View
But I cannot see it in Events Tab, it's not there and I cannot mark it as a conversation event, as I need to set it.
Creating one from conversations tab does not specify app platform, which I need it to be for my iOS app.
How do I fix this issue?
There's an intended delay before the data shows up in the Events page. The initial data logged usually takes up to 24 hours to display and 3-4 hours delay for the succeeding data. DebugView on the other hand, shows you data (from events, event parameters, and user properties) as Analytics collects the data. This is used to help you set up data collection, troubleshoot issues as issues arise, and understand a user's behavior as the user explores your website or app. For additional information about the delay in Analytics reporting, you can refer to this blog post.

Sending event with user ID via measurment protocol (Universal Analytics)

I need to send offline event via measurment protocol for one of my clients but I encountered an issue.
There have to be userID included in the hit because client want new event to be paired to original online lead event.
I have analytics data view with User ID. There are not any issues. I Can see all the events with user id defined.
However I cannot properly send hit with offline conversion
I tried this:
/collect?v=1&t=event&tid=UA-91553515-1&uid=2cccaee4ea292182&ec=poptavka&ea=smlouva
but when I checked in GA Live view nothing happened
I also tried this
/collect?v=1&t=event&tid=UA-91553515-1&cid=edf3b897-a9ea-4d4e-b12e-8c9ff0d1b510&uid=2cccaee4ea292182&ec=poptavka&ea=smlouva
In this case event appeared in live view and overview later but there is no user id assigned :(
Can somebody help me please?
Thank you

How to reload gmail add-on through background process using app-script

May i get some help on the below points where i am using app-script to develop a gmail add-on:
How can we refresh gmail add-on with back ground process?
=> Here is my case, I need to display card with multiple sections which is the process of hitting multiple apis to fetch data and to display the card. For this initially we will show a card with minimal information to the user once i get information from api, i need to update the basic cards with complete information.
How can we trigger a function on every mail thread open?
=> Currently it works once for a mail, here as explained above point need to refresh a card once we fetch the data. If not, user will be seeing same basic information card every time he opens the mail.
From above mentioned issues for point one we are trying to get solution where we can hit service for certain interval of time to check data availability and if data exists then fetch data and update cards, i mean to say need a setTimeout function kind of thing, unfortunately we did'nt found this in app script and We found sleep/waitLock functions in app-script, but my services may take little time to fetch data as it connects though multiple services so we cant make the user to wait until the whole process is to be completed. So that we will show a card with basic information required then after need to auto refresh the cards once we fetch the data. we tried of keeping refresh button for the user to click and fetch the updated data but here we are losing user experience, trying for auto refresh with out user interference to get updated information.
Need a process / solution where we can auto refresh the card with out user interference after the data available at our end instead of making user to wait until the process to be completed.
Earliest reply will be more helpful for us.
Thanks.
If a data status on a third-party backend changes as the result of a user interaction with your add-on UI, it is recommended that the add-on set a 'state changed' bit to true so that any existing client side cache is cleared. See the ActionResponseBuilder.setStateChanged() method description for additional details.
The card-based interface in Gmail Addons is an Apps Script Service.
You can interlink it with other Apps Script services as well as implement API calls - everything within the same Apps Script file.
Gmail Addons contents automatically update every time the user opens a different e-mail or refreshes his browser.
Within your Apps Script code you can install time-driven triggers to run the data availability check with a customized frequency.
Consider to install for your users an Auto Refresh extension if you do not want them to refresh the card themselves.

Custom HTML5 Geolocation Prompt

As I am testing out one of the HTML5 features - geolocation for my project,
I realized that users can close the prompt without allowing or denying it,
that defeats the whole purpose of the prompt.
And because in my project I want to dynamically display data to users depending on user's location, this can't be done, simply because without knowing user's response,
it doesn't trigger any of the two callbacks - success / error.
so I started searching to see if there's any solution to this,
and a lot of suggestions to this is to set timeout,
I tried and everything works perfectly.
However, one small flaw here is tho, by the time it hits the timeout expiration,
all the data are already displayed, and when i say all, i mean EVERYTHING,
because there's no location detected.
So I came up with two solutions that might work,
1) create a custom geolocation prompt that forces users to allow/deny location to be shared,
and pass the response to browser to set the location preference
2) pause page-load (stop stuff from being rendered) and wait till it hits the timeout expiration or it gets response from users
Does anyone have any idea how to implement one of these two solutions?
PS: sorry if this isn't unclear to you, i know my english sucks, but I can explain in more details.
Thanks guys!
You shouldn't be able to use a custom Geolocation prompt if your project is browser based, because malicious developers could use the method to trick the user. Also, since the Geolocation API is an asynchronous event, it's going to continue loading the rest of the page while it waits.
What I recommend is to use a conditional statement instead with an else clause. This way, your script functions should only execute after location has been shared, and you have a fall back on what should happen if no geolocation information is provided (which I highly recommend as situations will occur when the data isn't provided).
Example of the conditional statement to check for geolocation information using JS:
if (navigator.geolocation) {
// code to run if there is geolocation information
}
else{
// code to run if no geolocation info is given to the browser
}