Some users have no data sources but have data in Google Fit app [closed] - rest

Closed. This question needs debugging details. It is not currently accepting answers.
Edit the question to include desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem. This will help others answer the question.
Closed 3 years ago.
Improve this question
My team has published an app that retrieves users' Google Fit data using the REST API to display how active they are and grade their fitness level. I'm interested in the steps and active_minutes metrics.
About 50% of our users have either no data sources or limited data sources. Some of these users are on my team and I have verified they have accepted the required scopes and that the Fit app is indeed recording data.
To test users, I am refreshing their access token (which works fine) and then calling this endpoint to retrieve a list of available data sources:
GET fitness/v1/users/me/dataSources (https://developers.google.com/fit/rest/v1/reference/users/dataSources/list)
Sometimes the datasources will be an empty array, and sometimes it will have a very limited number of data sources (ex. data sources involving calories, but not steps, even though steps are showing up just fine in Fit).
I am requesting the following scopes:
fitness.activity.read
fitness.body.write
The other 50% of our users work just fine and I am completely stumped at what is different about the users that appear to have no (or limited) data sources.

I found that some users had syncing disabled for Google Fit. To enable syncing you must go into the Settings app of your Android phone:
Settings -> Accounts -> Select your Google account being used for Google Fit -> Ensure that Google Fit is enabled for syncing.
This answers the most puzzling case where we had users with some data sources, but not all of the expected data sources such as estimated steps. I presume the limited data sources available were from a short time period before syncing was disabled, or while the user was using an outdated version of Google Fit. I'm also finding users with more obvious problems, like using OAuth with a Google account different than the one connected to Google Fit.

Related

Accessing Google home for usage statistics

I hope you can help me with a problem:
I want to create a web application that requests user data from a Google Home device. I then want to create an interface that summarizes all this data and shows convenient data analytics to the user. For example: How many times I switched a light on during a week, or what music I'm listening to, or which light are on or off at a certain moment.
The problem is that I have no idea where to begin, I've been searching through Google and stackoverflow without avail. I came across a site called home-assistant.io, but that seems to be a program that consists of different modules and has the Google assistant "on the side" instead of using the Google assistant to gather the data.
So I guess it boils down to is it possible to use the Google Home to gather usage statistics, or isn't that possible (yet)?
In short - it isn't.
Users can see what they've done using their Google account, including through the Assistant, using https://myactivity.google.com.
However, third-party developers have no access to on-device activity, no access to the content at myactivity.google.com, and no way to intercept or view what a user is doing using the Assistant. In short - no way to gather statistics outside of their own, specific, Action.
There are lots of reasons this isn't allowed, but probably the biggest is security and privacy. Google gets a lot of criticism for collecting this information, and would probably get even more if it was possible for those outside Google to get it as well. (Google also has a business reason for limiting outside access to this information, admittedly.)

Google Fit Rest Api Step Counts inconsistent and different from Fit App

This seems to be a common enough problem that there are a lot of entries when one googles for help but nothing has helped me yet.
I am finding that the results provided by the REST API for estimated_steps are wildly different from those that appear in the device app.
I am running a fetch task for users via cron job on a PHP/Laravel app.
I'm using this https://developers.google.com/fit/scenarios/read-daily-step-total - estimated_steps to retrieve the step count.
Some days the data is correct. Some days its wildly different. For instance, on one given day, the REST API gives step count of 5661 while the app shows 11,108. Then there are six seven days when the stream is correct.
Has anyone faced this sort of behavior? I've tested for timezone differences, logged and analyzed the response json to see if i'm making some obvious mistake, but nope.
You may check this How do I get the same step count as the Google Fit app? documentation. Be noted that even when using the right data source, your step count may still be different from that of the Google Fit app.
This could be due to one of the following reasons:
On Wear, the Fit MicroApp when connected will display step counts queried on the phone and transferred over via the Wearable APIs. Other MicroApps accessing local-only data will only get watch steps. We are working on making this easier for developers.
Sometimes the step calculation code for the Google Fit app is updated with bug fixes before we are able to release the fixes to developers (which requires a Google Play Services release). We are also working on making it possible for developers to access fixes at the same time.
The Fit app uses a specific data source for steps and it adds some functionality (which can be seen on the documentation) on top of the default merged steps stream.
You can access the "estimated" steps stream as shown here:
derived:com.google.step_count.delta:com.google.android.gms:estimated_steps
Hope this helps!

Is it possible to connect my app to my QBO account using the intuit development server indefinitely?

I originally posted this question as an 'answer' to:
Can a single company really not use QB API?...Semi Rant
but am reposting, because it is a question.
The original poster and I face a similar problem wanting to use the QBO API for an application designed for a single company. What would be the disadvantage of connecting my app to my QBO account using the intuit development server indefinitely, i.e., never take my app through the production qualification process?
Thank you.
I believe that is possible but then you can use at max 10 developer connections.
As we already mentioned we do not not support custom integrations at this time.
Even we wouldn’t recommend moving you to production as it would cost us $1k per year to security review it, and we would only recover about $60 per year in connection fees.
So, the disadvantage for you will be in terms of number of connections, limited support and your app vulnerability since it has not gone through the security review process.
Please read the policy docs mentioned here:
https://developer.intuit.com/docs/0025_quickbooksapi/0005_introduction_to_quickbooksapi/z_developer_policies_and_guidelines
Edit for the question asked:
When you login into developer.intuit.com, Go to Manage My Apps, then click your app.
You will see the number of connections for that app under Test connections.
It refers to the numbers of company files your app is associated with or has been authorized to access data.

Own Backend vs BaaS [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
I am trying to decide between two development firms. One wants to go with Parse while the other wants to build a backend. I would like to get feedback and reasons why building a backend or using a BaaS such as Parse, Stackmob is better in terms of scalability and performance.
For example let's use SnapChat a highly used app that handles millions of users and data requests. What would happen if a newly created app were to experience a large increase in users and data request. Would the backend be able to handle this? Would I be looking to have it fixed shortly after the increase in users?
Something like Parse.com gives you a lot of value for very little capital investment. With BaaS, all of the gory details of infrastructure management are hidden. Deployment, system capacity issues, system availability, system security, database administration and a myriad of other task simply go away when using a good BaaS. Parse.com for instance, uses Amazon Web Services and elastic load balancing to dynamically add more capacity to the system as usage increases. This is the nirvana of capacity management.
Parse.com is a special kind of BaaS. Parse.com's intended purpose is to be a light-weight back-end back-end for mobile apps. I believe Parse.com is a very good mobile backend-as-a-service (MBaaS - link to a Forrester article on the subject).
That said, there are times when Parse.com is not the right solution. Estimate the number of users for the application and the number of HTTP requests and average user would send in a day. Parse.com charges by the number of transactions. The Pro Plan has these limits:
15 million HTTP requests per month
Burst limit of 40 requests per second
Many small transactions can result in a higher cost to the app owner. For example, if there are 4,500 users, each sending 125 HTTP requests to Parse.com per day, then you are already looking at 16,850,000 requests every 30 days. Parse.com also offers a higher level of service called Parse Enterprise. Details about this plan are not published.
The services provided by a BaaS/MBaaS save much time and energy on the part of the application developer, but impose some constraints. For example, the response time of Parse.com might be too slow for your needs. Unless you upgrade to their Enterprise plan, you have no control over response times. You currently have no control over where your app is hosted (Parse apps are presently run out of Amazon's data centers in Virginia, I believe).
The BaaS providers I have looked at do not provide quality-of-service metrics. Even if they did, there is no community agreement on what metrics would be meaningful. You just get what you get and hope it is good enough for your needs.
An application is a good candidate for an MBaaS if :
It is simple or the application logic can run entirely on the client (phone, tablet...)
It is impossible to estimate the number of users or the number of users could be huge.
You don't want a big upfront capital investment.
You don't want to hire infrastructure specialists to handle capacity/security/data/recovery/network engineering.
Your application does not have strict response time requirements.
Parse's best use case is the iPhone developer who wrote a game and needs to store the user's high scores, but knows nothing about servers. That said, complex application like Hipmunk are using Parse. Have a look at Parse.com's portfolio of case studies. Can you imagine your application in that portfolio or is it very different from those apps?
Even if a BaaS is not the right solution, a PaaS or IaaS might be. Look at Rackspace and AWS. In this day and age, buying hardware and running a data center is tough to justify.
BaaS providers like apiomat or parse have to handle the requests of thousands of apps. Every app can have lots of users there. The providers are forced to make the system absolutely secure and scalable because if there are any issues about one of those points it will be the end of their business... Building scalable secure backends on your own is not as easy a you would expect. Those companys mentioned above have invested some man-years in that.

Which is better for mobile analytic Localytics or GoogleAnalytics? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
I wanna use mobile analytics inside my iPhone app, i have read about both they are similar to each other but some persons say that Localytics is better and others say the GoogleAnalytics is better, advice is highly appreciated.
I am currently using Localytics inside my app , it is good analytics but it has disadvantage compared to google analytics which is you can track limited events per user and if you tried to register more than that number they will remove all your events attributes, so that i will remove my localytis account and start using google analytics because it does not use such limiting , because of the importance of the events and there attributes i will leave localytics and go google analytics , All other analytics things the same
The biggest difference between Localytics and Google Analytics is that Localytics is designed for apps, not websites. Localytics collects a richer data set by default and allows you to create any number of events with any number of attributes (GA limits you to just one). SDKs are available for all leading platforms, are very lightweight and provided in source code.
Localytics has both free and paid versions. The free version, called Community, does have some limits on event occurrences, collecting personal data and data cardinality, but very few customers hit those limits. And unlike Google, Localytics doesn't sample your app usage. Additionally, Localytics Enterprise customers have access to session-level data for integration with other systems.
Much more info is available on our website, including technical docs (http://localytics.com/docs). If you don't find what you need there or you have more questions, please ping me and I would be happy to help.
Just for anyone reading this as of 2015 - Google Analytics allows up to 50 custom dimensions with your events and each event contains three hierarchical fields by default, plus a value field. Google analytics doesn't "Sample App Usage", unless you hit extraordinarily high limits, but does have reporting limits, beyond which the reports will be based on a sample of the data collected. With Google Analytics Premium you can get the unsampled data also. GA also supports tracking users between a website and native apps using a unique member token.