Google Analytics GA4: How to send default dimensions and metrics from other platforms - google-analytics-4

This page lists [GA4] Analytics dimensions and metrics that are collected by default, but it doesn't say what the contents of the JSON message must be to simulate these additional dimensions on other non-web and non-android platforms.

Related

how to get around ga4 incompatible combination of dimensions and metrics

I’m trying to use the reporting API but I am getting a "[GA4] Data compatibility" error and can’t get the data that I want.
I want to get newUsers counts by minute but minute dimension and newUsers metrics are incompatible. Is there a way to get around this?
(We are transitioning from Universal Analytics to Google Analytics 4 and this has not been a problem with Universal Analytics)
In this link GA4 Dimensions & Metrics Explorer, you can check if the metrics and dimensions you want are compatible or not. Remember that you need to enter your account and property ID as requested in this photo.
As you choose dimensions & metrics (by clicking the checkbox next to their name), they will be added here. Incompatible dimensions & metrics will be grayed out.

Google Cloud Storage maximum access limits

The system i am building is currently storing videos with Google Cloud Storage, my server will return the link from Google Cloud Storage which is used to play the video on mobile platforms. Is there a limit for how many user can access that link at the same time? . Thank You!
All of the known limits for Cloud Storage are listed in the documentation. It says:
There is no limit to reads of objects in a bucket, which includes reading object data, reading object metadata, and listing objects. Buckets initially support roughly 5000 object reads per second and then scale as needed.
So, no, there are effectively no limits to the number of concurrent downloads.

Flutter and Firestore: debug usage

Is there a way to easily debug the read and write requests a Flutter app makes to Firestore? I'm getting a high number of reads, but battling to find where those are originating from in the app.
Have you tried using the StackDriver logging User Interface?
It offers plenty of log analysis tools that you can use to monitor resources that are writing into your Firestore DataBase.
You can read more about this here [1].
Once you have created logs-based metrics, you can create charts and alerts on said metrics.
[1] https://firebase.google.com/docs/functions/writing-and-viewing-logs

Map Widgets recibing data from different Context Brokers and the workspace tabs

In my Wire Cloud mashup I want to use two different maps, each maps get data from a different operator and each operator consult a different instance of ORION context broker.
When I put this two operators and the two maps in differents workspaces, this components work fine. If I put all this components in the same mashup and the same tab, also works fine. In this two cases, I recieve the data from the context broker, the operator send this data adapted for the map and this one represent the data perfectly.
My problem occurs when I put these operators and maps in the same mashup but in different tab each one. In this case i always obtain the following error:
Exception catched while processing an event that reached the "notiCAM" input endpoint fdcae15cbdc8.js:775
log fdcae15cbdc8.js:775
propagate fdcae15cbdc8.js:853
_notifyLoaded fdcae15cbdc8.js:744
After many hours trying to fix this case, I can´t find why this maps and operators does not work in this third case, is someone in this same situation? which solution worked in your case?
thanks
P.D: For my maps im using google maps API
I'm assuming you're not using the "Map Viewer" widget available on the FI-LAB store.
The problem seems to be related to the way your map widget handles incoming events. Take into account that:
Widgets are loaded when the tab where they are located is displayed or when a first event arrives on any of their input endpoints
Any event arriving on an input endpoint of an unloaded widget/operator gets queued until that widget/operator is fully loaded
WireCloud assumes widget/operators are fully loaded by capturing the "load" event of their iframe
The Google Map API is usually loaded asynchronously, making your widget unable to manage those incoming events until that API get ready (some time after the load event).
Currently, the only viable solution is to buffer events arriving on the "notiCAM" endpoint after the load event but before the google maps api is loaded, handling them just when that api notifies you that it's ready.

is there a service or software for metering data downloads

We have a range of web applications here that allow users to download selected data from a number of databases and online services. Mainly Environmental information. We can track users visiting web pages using tools like Piwik or Google Analytics. We also want to track the amount of resource or data that they use, possibly also applying limits to record downloads.
If this was a single DB system we could track rows delivered within the db. However here we have a SOA with a range of sources and sinks. What I envisage is a service that can be messaged by other systems to register or track the amount of a resource used.
e.g User Andrew was sent 125MB of water quality data.
The central data metering service tracks usage messages from a variety of sources, produces reports and where appropriate applies caps or billing limits.
This service might be expanded to include processing as well as data download.
I would consider this to be a not unusual requirement but I can't find much in the way of existing software for it - perhaps because I am not using the correct terminology.
SO my questions:
What would you call this service - what keywords will lead me to existing systems?
What solutions already exist in this area - in particular FOSS or cloud based systems?
Could something like Google Analytics be persuaded to operate in this fashion?
It would be possible to do with the measurement protocol from Google Universal Analytics in conjunction with the user id feature in Analytics and one or more custom dimensions.
The measurement protocol is a language agnostic vaguely REST-like (inasfar as you send a bunch of parameters to an endpoint) protocol to send tracking data to the Google servers.
User id is a feature to recognize authenticated users across devices and multiple visits.
If the various parts of your setup send http calls build to the measurement protocol and include the user id to recognize the user and a value for a custom dimension for the file size (or rather a custom metric if you want to have sums and averages) and maybe a custom dimension for the file name you can send this to you Analytics account and build a custom report for downloads.
Note that the user id is an internal id that is used to link together visits by the same user from multiple devices - it is not something that shows up in the reports that would allow you to report on individual users in the Analytics interface (if you want that you need to include another id as custom dimension, and you have to check with the Google TOS what kind of id is allowed). Plus you'd need a dedicated data view in GA for sessions with a user id which will not show unauthenicated users.