amplitude / amplitude/Amplitude-TypeScript
Feature Request: Remove the @amplitude/analytics-react-native dependency with async storage and allow a custom storage implementation
- Dominant language
- TypeScript
- Stars
- 180
- Forks
- 68
- Avg merge
- 3d 1h
- Merged PRs (30d)
- 29
Description
## Summary
In `@amplitude/analytics-react-native` sdk, consider making `@react-native-async-storage/async-storage` an optional peer dependency instead of a required dependency. This would allow developers to provide their own storage implementation, such as `react-native-mmkv` or `expo-sqlite/kv-store`, without being forced to include AsyncStorage. This change would reduce APK size and avoid maintaining multiple local data sources.
## Motivations
The `@amplitude/analytics-react-native` SDK has `@react-native-async-storage/async-storage` as a required dependency. This forces us to include an additional local data source, even though we are already using `mmkv` for persistent local storage. It also adds unnecessary weight to the APK.
Contributor guide
Assessment
This issue has not been assessed yet.