Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Include X-Installation-ID HTTP header with all requests #1351

Open
3 tasks
kueda opened this issue Jul 23, 2024 · 0 comments
Open
3 tasks

Include X-Installation-ID HTTP header with all requests #1351

kueda opened this issue Jul 23, 2024 · 0 comments
Assignees

Comments

@kueda
Copy link
Member

kueda commented Jul 23, 2024

In iNat Next we log a unique identifier for the installation with every HTTP request the app makes, allowing us to collect metrics about all users, not just signed in users or observers. In order to compare iNat Next with the apps it will ostensibly replace, we want the native apps to do the same thing so we can compare things like signed out retention time in the native iPhone app vs iNat Next.

  • Estimate how long this will take and report before proceeding (if this is hard, leadership may deprioritize it)
  • Store a UUID that is unique for each installation. That means if a user downloads the app, they should have the same installation ID until they uninstall the app. The installation ID should remain the same between app updates and sign in/out.
  • Submit that UUID as the value of the X-Installation-ID header for all requests the app makes to our API, including api.inaturalist.org AND auth-related Rails endpoints like www.inaturalist.org/users/api_token.json

Analogous code in iNat Next is at inaturalist/iNaturalistReactNative@7ea60f7#diff-04caadce6ee341e3b733b5bb94dcf5907f82eaebba541bde03078cd551e42209R11-R17

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants