This library provides a unified and developer-friendly API for accessing cloud storage services on iOS, Android and Web. It supports document storage and key-value stores across iCloud (on iOS only) and Google Drive (all platforms).
- 💾 Read and write files to the cloud
- 🔑 Store key-value pairs on the cloud
- 🧪 Fully compatible with Expo
- 📱 iOS & Android support, plus Web support for text-based Google Drive operations
- 🏎️ Lightning fast iCloud performance using native iOS APIs
- 🌐 Google Drive REST API implementation for all platforms
- 🧬 Easy to use React Hooks API, or use the imperative
fs-style API - 👌 Zero dependencies, small bundle size
npm install react-native-cloud-storage
cd ios && pod installAfterwards, follow the configuration instructions.
npx expo install react-native-cloud-storageAfterwards, add the provided config plugin and expo prebuild or rebuild your development client.
importReactfrom'react';import{Platform,View,Text,Button}from'react-native';import{CloudStorage,CloudStorageProvider,useIsCloudAvailable}from'react-native-cloud-storage';constApp=()=>{constcloudAvailable=useIsCloudAvailable();React.useEffect(()=>{if(CloudStorage.getProvider()===CloudStorageProvider.GoogleDrive){// get access token via @react-native-google-signin/google-signin or similarCloudStorage.setProviderOptions({accessToken: 'some-access-token'});}},[]);constwriteToCloud=async()=>{awaitCloudStorage.writeFile('/file.txt','Hello, world!');console.log('Successfully wrote file to cloud');};constreadFromCloud=async()=>{constvalue=awaitCloudStorage.readFile('/file.txt');console.log('Successfully read file from cloud:',value);};return(<View>{cloudAvailable ? (<><ButtononPress={writeToCloud}title="Write to Cloud"/><ButtononPress={readFromCloud}title="Read from Cloud"/></>) : (<Text>The cloud storage is not available. Are you logged in?</Text>)}</View>);};A detailed documentation is located here.
See the contributing guide to learn how to contribute to the repository and the development workflow.
There's an example app available in the example directory. To use the Google Drive implementation, you'll need to provide a valid access token for the Google Drive API. For testing purposes, you can create one using the Google OAuth 2.0 Playground.
MIT