MLKit Custom Model bridge for React-native running on iOS and Android.
Native code inspired from the Firebase documentation: https://firebase.google.com/docs/ml-kit/use-custom-models
The example provided uses react-native camera and mobilenet_v1_1.0_224.
$ npm install rn-mlkit-custom-model --save
$ react-native link rn-mlkit-custom-model
-
Bundle model assets to the app Android instructions / iOS instructions. You can download the files here.
-
Connect your app to Firebase Android instructions / iOS instructions
-
add GoogleService-Info.plist to the appropriate folder (/ios/) (iOS only)
-
install CocoaPods in your react-native project and add the following line to your Podfile then run
pod install
(iOS only)pod 'Firebase/Analytics' pod 'Firebase/MLModelInterpreter'
- In XCode, in the project navigator, right click
Libraries
➜Add Files to [your project's name]
- Go to
node_modules
➜rn-mlkit-custom-model
and addRNMlkitCustomModel.xcodeproj
- In XCode, in the project navigator, select your project. Add
libRNMlkitCustomModel.a
to your project'sBuild Phases
➜Link Binary With Libraries
- Run your project (
Cmd+R
)<
- Open up
android/app/src/main/java/[...]/MainActivity.java
- Add
import com.reactlibrary.RNMlkitCustomModelPackage;
to the imports at the top of the file - Add
new RNMlkitCustomModelPackage()
to the list returned by thegetPackages()
method
- Append the following lines to
android/settings.gradle
:include ':rn-mlkit-custom-model' project(':rn-mlkit-custom-model').projectDir = new File(rootProject.projectDir, '../node_modules/rn-mlkit-custom-model/android')
- Insert the following lines inside the dependencies block in
android/app/build.gradle
:compile project(':rn-mlkit-custom-model')
import RNMlkitCustomModel from 'rn-mlkit-custom-model';
//init the model
RNMlkitCustomModel.initModel()
//run the model on the provided image
RNMlkitCustomModel.runModelInference(IMAGE_URI).then(results => {
console.log(results)
})