Installation

Install the VECU React Native Wallet SDK into your application and prepare your host app for device-based flows.

Host App Changes Required

Before testing QR, scan, or proximity-based flows, your application must declare the required device permissions in its native app configuration. Camera access is required for QR-based experiences. Bluetooth-related permissions may also be required for proximity or wallet exchange flows. Add the required entries in your app's AndroidManifest.xml and Info.plist before device testing.

Documentation Scope

This guide stays at the integration level for external clients. It covers package setup, peer dependencies, and the host app requirements you need to know before rendering SDK screens.

Prerequisites

  • React Native 0.81.0 or later
  • React 19 or later
  • Node.js 18 or later
  • Access to the Cox Automotive package registry
  • A host application where you can update iOS and Android app configuration

Step 1: Configure Package Access

The SDK is distributed through Cox Automotive's package registry. Add or update your project's .npmrc:

registry=https://artifactory.coxautoinc.com/artifactory/api/npm/cai-npm/
//artifactory.coxautoinc.com/artifactory/api/npm/:_auth=YOUR_AUTH_TOKEN
//artifactory.coxautoinc.com/artifactory/api/npm/cai-npm/:_auth=YOUR_AUTH_TOKEN
email=your.email@company.com
always-auth=true

Replace YOUR_AUTH_TOKEN with the registry token issued to your team.

Step 2: Install the SDK

bash pnpm add @vecu/wallet-react-native-sdk

Step 3: Install Peer Dependencies

The SDK requires react-native-svg for rendering credential and barcode UI:

pnpm add react-native-svg

If your app uses Expo or additional device integrations, your project may also need supporting packages managed by your host application.

Optional Flow-Specific Dependencies

Some SDK flows require additional native packages in the host application.

  • QR scanning flows may require react-native-vision-camera
  • QR display flows may require react-native-qrcode-svg
  • NFC send flows may require react-native-hce
  • NFC receive flows may require react-native-nfc-manager
  • Bluetooth or proximity send flows may require react-native-ble-peripheral
  • Connectivity-aware behavior may require @react-native-community/netinfo

Install only the packages needed for the flows your application enables.

Step 4: Update Your Host App Configuration

Before running the SDK on a device, update your app's native configuration.

Camera Permission

Your application must declare camera access for QR-based experiences such as scanner-driven flows.

  • Android: add the required camera permission entries in AndroidManifest.xml
  • iOS: add the required camera usage description in Info.plist

Bluetooth Permissions

If your integration uses proximity or wallet exchange flows, your application must also declare the appropriate Bluetooth-related permissions.

  • Android: add the required Bluetooth and nearby-device entries in AndroidManifest.xml
  • iOS: add the required Bluetooth usage description entries in Info.plist

NFC Setup

If your integration uses verifier-initiated NFC receive flows, your iOS host app must include the VECU ISO7816 AID in Info.plist and enable the NFC reader session entitlement. See Permissions for the exact Info.plist and entitlement entries.

Platform Configuration

The exact native entries may vary based on OS version, target SDK level, and your host app setup. This documentation intentionally stays high level. Your mobile team should verify the final permission set in the app project before release.

Step 5: Platform-Specific Final Setup

Complete the remaining platform-specific setup in your host application before testing on devices.

iOS

Install CocoaPods dependencies for your iOS app:

cd ios
pod install
cd ..

Android

There is no separate Android dependency installation step for the SDK after package installation, but your Android app must include the required manifest entries for the flows you enable.

  • Verify camera permissions are declared in AndroidManifest.xml
  • Verify Bluetooth or nearby-device permissions are declared when applicable

Step 6: Verify Installation

At a high level, installation is complete when:

  • the package resolves in your app
  • peer dependencies are installed
  • iOS pods are installed
  • host app permissions are configured

The next step is to mount the SDK in your app and render the wallet experience.

Next Steps