UNPKG

react-native-priv-sdk

Version:

Official MyCover.ai SDK. Supercharge your product with MyCover AI Insurance offerings. Create embedded insurance offerings or full white label insurance applications that excite your customers.

160 lines (111 loc) 4.2 kB
# mca-react-native-sdk Official MyCover.ai SDK. Supercharge your product with MyCover AI Insurance offerings. Create embedded insurance offerings or full white label insurance applications that excite your customers. ## Installation ```sh npm i @mycoverai/mca-react-native-sdk ``` ## Additional Setup - To install all necessary dependencies, run: ```sh npm install mca-react-native-sdk react-native-screens react-native-safe-area-context react-native-svg-transformer @react-native-community/geolocation @react-native-clipboard/clipboard react-native-svg react-native-gesture-handler @react-native-community/datetimepicker @pusher/pusher-websocket-react-native lottie-react-native react-native-image-picker react-native-reanimated react-native-vision-camera react-native-orientation-locker react-native-fs ``` ## Create or Update metro.config.js & paste the following ```js const { getDefaultConfig, mergeConfig } = require('@react-native/metro-config'); const defaultConfig = getDefaultConfig(__dirname); const { assetExts, sourceExts } = defaultConfig.resolver; const config = { transformer: { babelTransformerPath: require.resolve('react-native-svg-transformer'), }, resolver: { assetExts: assetExts.filter((ext) => ext !== 'svg'), sourceExts: [...sourceExts, 'svg'], }, }; module.exports = mergeConfig(defaultConfig, config); ``` ## Create or Update babel.config.js & paste the following ```js module.exports = { presets: ['module:metro-react-native-babel-preset'], plugins: ['react-native-reanimated/plugin'], }; ``` ## Link the assets in your React Native project: For React Native >= 0.60, add this to your react-native.config.js: ```js module.exports = { project: { ios: {}, android: {}, }, assets: ['node_modules/mca-react-native-sdk/src/assets/fonts/'], }; ``` And run ```sh npx react-native-asset ``` ## Android Permissions - In your AndroidManifest.xml, add the following permissions: ```js <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> ``` ## Usage ```js import MyCoverAI from '@mycoverai/mca-react-native-sdk'; type SectionProps = PropsWithChildren<{ title: string; }>; function App(): React.JSX.Element { const backgroundStyle = { flex: 1, }; return ( <SafeAreaView style={backgroundStyle}> <MyCoverAI apikey="MCAPUBK_TEST|49303c8b-4fb4-4d8b-a4d3-c2f6f6d0fb62" // transactionType="claim" /> </SafeAreaView> ); } ``` ## Properties The MyCoverAIProps type defines the properties you can pass into the SDK for configuration: 1. **apikey:** - Your API key for authentication. This is required. 2. **policyId (optional):** - Required only if transactionType is set to claims or inspection. 3. **policyNumber (optional):** - Required only if transactionType is set to claims. 4. **referenceNumber:** - Required only if paymentOption is set to wallet. 5. **email (optional):** - Required only if transactionType is set to claims. 6. **transactionType:** - Type of transaction. Available options: - continuePurchase: For continuing a purchase transaction - purchase: For a new purchase transaction - inspection: For inspections - claim: For claims - paymentOption: 7. **paymentOption:** - wallet: Payment via wallet - gateway: Payment via gateway ## Troubleshooting - If you encounter the following errors: 1. Error: ViewManagerResolver returned null for either RNSScreenStackHeaderConfig or RTCTRNSScreenStackHeaderConfig - Fix: npm install react-native-screens 2. Error: ViewManagerResolver returned null for RNCSafeAreaProvider - Fix: npm install react-native-safe-area-context ## Contributing See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow. ## License MIT --- Made with [create-react-native-library](https://github.com/callstack/react-native-builder-bob)