Skip to main content

How do I test and integrate a ROOK SDK?

The path from an empty project to a live SDK integration: pick a platform, authorize in Sandbox, verify what arrives, then move to Production.

Written by JP Gomez

A ROOK SDK reads health data from Apple Health, Health Connect and Samsung Health on the user's device — the sources that cannot be reached through an API. Integrating one means four things: choose the SDK for your platform, register your app and authorize a user in Sandbox, verify that data arrives at your webhook in the shape you expect, then repeat the configuration in Production. This article is the route; the SDK documentation for your platform has the code.


Which SDK do I need?

ROOK publishes five: iOS, Android, React Native, Flutter and Capacitor. The Capacitor SDK is written in TypeScript and works from both TypeScript and JavaScript.

What each one reads depends on the platform: on iOS, data comes from Apple Health; on Android, from Health Connect, Samsung Health and the operating system itself.

How do I test the integration?

Work in Sandbox first, so nothing you do touches real users.

  1. Register your app. SDK authentication uses your Client UUID, a Secret Word and your bundle ID or package name, configured in the ROOK Portal. See How do ROOK Sandbox and Production credentials work?.

  2. Install the SDK for your platform, following its own documentation.

  3. Implement authorization. The SDK shows the permission prompt that asks the user for access to their health data. Without it, nothing is extracted.

  4. Start extraction and confirm it runs in the background. Data should update without the app being in the foreground.

  5. Verify what arrives at your webhook. Check the structure and content of the JSON against the schemas you expect. See How do I set up webhooks in the ROOK Portal?.

You can also exercise your endpoint without a device at all — see How do I test ROOK without real user data? — and see the SDK running end to end in the iOS demo app. See How do I install the ROOK demo app on iOS?

What should I check while testing?

  • Extraction runs in the background. The SDK respects app state, device settings and platform request limits, so timing is approximate rather than guaranteed.

  • Historical data arrives on connection. The window is counted from the moment the SDK registers the user with updateUserID. How far back it reaches, and how to configure it, is covered in How much historical data does ROOK retrieve when a user connects?.

  • The payload matches daily deliveries. The JSON structure for events and summaries is the same one you will receive in production.

How do I move to Production?

Production is a separate environment with its own credentials and its own configuration, so everything you set up in Sandbox has to be set up again there — SDK authentication, webhooks and product settings, including your pre-existing data window. A Client UUID from Sandbox will not authenticate against Production.

Production unlocks on its own once your legal documents are signed and, if you are contracting through the portal, a plan is active. You do not need to ask ROOK to enable it. See How do ROOK Sandbox and Production credentials work?, and contact ROOK if you have questions about the move rather than to request it.

Did this answer your question?