npm.io
1.0.0 • Published 2 years ago

expo-fitbit

Licence
MIT
Version
1.0.0
Deps
4
Size
294 kB
Vulns
0
Weekly
0

@beaverfy/expo-fitbit (image)

@beaverfy/expo-fitbit

Add fitbit authentication to your expo managed react native apps

Getting Started

Installation

Using yarn
yarn add @beaverfy/expo-fitbit
Using NPM
npm install @beaverfy/expo-fitbit
Getting Credentials

Register an app on dev.fitbit.com, fill out your app details and select client, since we'll be using the credentials in our app

Once you've created your app, edit your app to have the redirect url: scheme://fitbit (replacing scheme with your app's scheme)

Intergrating into your project

We're still working on this section

Wrap your app in FitbitProvider:

import { FitbitProvider } from "@beaverfy/expo-fitbit";
import Constants from "expo-constants";
import { MMKV } from 'react-native-mmkv';
export const storage = new MMKV({
    id: `authentication`,
    encryptionKey: 'random-password'
});

<FitbitProvider configuration={{
    clientId: "CLIENT_ID",
    clientSecret: "CLIENT_SECRET",
    appScheme: Constants.expoConfig.scheme,
    scopes: ["profile"],
    storage: {
        get: (key) => storage.getString(key),
        set: (key, value) => storage.set(key, value)
    },
    onLogin(user) => console.log("User logged in:", user);
}}>
    {/* app code... */}
</FitbitProvider>

Get the user's profile data with the useFitbit hook:

const {
    userData,
    isLoading,
    isLoggedIn
} = useFitbit();

return <Text>Logged in as: {userData?.name}</Text>