Do mobile analytics services (like Firebase or Amplitude) generally let me do time-based analysis? - analytics

I work on a camera app, and I'm collecting a stream of analytics events like:
App entered foreground.
The user took a photo.
Let's say I want to find out how long after the app enters foreground the user takes a photo. This requires me to find, for a particular photo event, the most recent foreground event that happened before the photo event, with the same device ID, and subtract the difference in timestamps between them.
Or, let's say I want to find out how many photos a user takes in a typical session, given a stream of events like:
App entered foreground.
User took photo.
User took photo.
App entered background.
This will require me to find, for a given background event, the most recent foreground event that happened before the background event, and then count how many photo events happened between these two events, all for the same device ID.
Are such types of analyses feasible and easy to do with typical analytics services like Firebase Analytics or Amplitude? Or is it easier to log this information myself in my iOS app, say by adding a field to the photo event that tracks how long it has been since the last event.
Which is simpler to do?

Related

Google Analytics Goal Funnel Count has number differences with Production Data

I have this funnel visualization problem in Google Analytics. I have set up the funnel using the virtual pageview like so:
So basically what it tracks is that in activity page, when user clicks a button, it will show up a modal for registration and hits the /activity/virtual/open-volunteer-modal. After they fill out the forms, they click Register, and it will hits the /activity/virtual/submit-volunteer-modal.
Everything was fine, until I saw some difference in GA and Production values.
In GA, there are 3000 users that filled out the forms and submit their data. I was totally happy seeing this, but:
In Production DB, I only got 1906 users submitting their data.
I checked the code, and there is nothing wrong with it. It basically send a virtual page view when the value has been validated, so my question is how is this possible and is there any way to fix this? Or is it just intended behavior?
After further investigation, I found that some of the buttons that has open-volunteer-modal event is redirecting to submit-volunteer-modal. Hence, the submit-volunteer-modal value was bigger than the open.
Should have sipped some coffee first before working.

Scheduling app in ionic which triggers functions after specified time

I'm a newbie to Ionic app development and have a requirement for which I've mined the internet but in vain.
My requirement is as below:
The user can select a Time Period i.e say 3hrs from now, after this time period, a trigger will run within the app and will perform a certain function depending what the user has selected (like play music, send sms or email). I have my individual modules of code ready for playing music, sending sms or email.
I only need to know how to trigger those events in ionic.
The important part is that the trigger should work even when the app is closed, screen is locked and should also survive a reboot.
I've tried the following, http://www.gajotres.net/how-to-use-local-notifications-with-ionic-framework/ ,
https://github.com/wnyc/cordova-plugin-wakeuptimer ,
https://scotch.io/tutorials/build-a-real-time-scheduling-app-using-angularjs-and-firebase but could not meet my requirements and in Vain.
Please help me and guide me through this.
Thanks in Advance,
Thats not possible with ionic, as hack u can use local notification and schedule notification as per ur requirement, on tap u can call any other action.

How can I change the notification level when pushing a bundle containing multiple cards?

A handful of apps such as The New York Times push a bundle containing two or more items to a user's timeline and manage to only play the default "jingle" notification sound once.
The Mirror API currently offers a parameter for notification.level, however the documentation only displays a single available parameter: DEFAULT.
How can I push multiple cards to a user but only play the notification sound once? I'd ideally like to only have the notification sound tied to the bundle cover item.
If you only want the sound on the bundle cover item - just set it for that only. You can leave the notification field empty or null for the cards you don't want to play sound for.

How to raise the notification level of timeline updates?

Are there options other than DEFAULT for the notification level?timelineItem.setNotification(new NotificationConfig().setLevel("DEFAULT"));
I would like the screen to turn on to show my new/updated card instead of just hearing the sound and having to quickly turn the glass on to catch the notification or have to scroll through to find it.
There are only two notification levels: DEFAULT and NULL.
The Glass team has decided against allowing developers to use the Mirror API to automatically turn on screens. There was a feature request that the team closed. Here is the explanation:
This is something that we've considered, but as it turns out, it's really distracting. We're continuing to experiment with ways to make notifications rich, but bringing the screen on automatically is probably not something that we'll ever provide in the Mirror API.

Initiating an app manually

Is it possible for the user to initiate interaction with glassware, rather than responding to cards that appear unsummoned? I plan to create an app that will only be useful in situations the user identifies.
I combed the documentation some and didn't find anything describing this, but it seems necessary.
You can use a Pinned TimelineItem
https://developers.google.com/glass/v1/reference/timeline
set isPinned to true and the card will appear on the left of the home screen. Users can then initiate your app functionalities through that card's custom actions.
A user can initiate interaction by tapping/using heads up to get to the OK GLASS prompt, then swiping to a card inserted by the Glassware, then tapping on the card, then tapping on an action. They can also share various items to contacts inserted by the Glassware. See the documentation on subscribing to user notifications:
https://developers.google.com/glass/about#subscribing_to_timeline_notifications

Resources