PerchEye Logo PerchEye SDK

PerchEye Multiplatform SDK

PerchEye SDK provides advanced facial recognition functionality for mobile applications across multiple platforms, enabling face detection, enrollment, verification, and comparison using embedded TensorFlow Lite models.

Table of Contents

🚀 Supported Platforms

Android SDK

Location: /android-aar/

Language: Kotlin/Java

Integration: Gradle dependency

Documentation: Native Android implementation

iOS SDK

Location: /ios/

Language: Swift/Objective-C

Integration: CocoaPods/Swift Package Manager

Documentation: Native iOS implementation

Flutter Plugin

Location: /flutter/

Language: Dart

Integration: pub.dev dependency

Documentation: Cross-platform Flutter plugin

React Native Module

Location: /react-native/

Language: JavaScript/TypeScript

Integration: npm package

Documentation: Cross-platform React Native module

🔧 Quick Start Examples

Android (Kotlin)

val perchEye = PerchEye(context)
perchEye.init()
perchEye.openTransaction()

val result = perchEye.addImage(bitmap)
if (result == ImageResult.SUCCESS) {
    val hash = perchEye.enroll()
    val similarity = perchEye.verify(hash)
}

perchEye.destroy()

iOS (Swift)

let perchEye = PerchEyeSwift()
perchEye.openTransaction()

let result = perchEye.load(image: uiImage)
if result == .success {
    let hash = perchEye.enroll()
    let similarity = perchEye.verify(hash: hash)
}

perchEye.destroy()

Flutter (Dart)

await PerchEye.init();
await PerchEye.openTransaction();

final result = await PerchEye.addImage(base64Image);
if (result == 'SUCCESS') {
    final hash = await PerchEye.enroll();
    final similarity = await PerchEye.verify(hash);
}

await PerchEye.destroy();

React Native (JavaScript)

import { openTransaction, addImage, enroll, verify } from 'react-native-perch-eye';

await openTransaction();
const result = await addImage(base64Image);
if (result === 'SUCCESS') {
    const hash = await enroll();
    const similarity = await verify(hash);
}

🎯 Core Features

Universal Functionality

All platform implementations provide:

🔍
Face Detection

Identify human faces in images

📝
Face Enrollment

Generate unique biometric hashes

Face Verification

Compare faces against stored hashes

📊
Batch Processing

Handle multiple images efficiently

📱
Offline Operation

No internet connection required

ImageResult Status Codes

All platforms return consistent status codes:

// Status codes
SUCCESS              // Operation completed successfully
FACE_NOT_FOUND       // No face detected in the image
FILE_NOT_FOUND       // Image file not found (Android only)
TRANSACTION_NOT_OPEN // No active transaction
SDK_NOT_INITIALIZED  // SDK not properly initialized
INTERNAL_ERROR       // Internal processing error

🔐 Security & Privacy

🔒
Offline Processing

All computation happens on-device

🚫
No Data Transmission

Biometric data never leaves the device

#️⃣
Hash-Based Storage

Only mathematical representations are stored

🛡️
Privacy Compliant

Meets GDPR and privacy regulations

📱 Demo Applications

Each platform includes a fully functional demo application:

Android Demo

Location: android-demo/

Native Android app

iOS Demo

Location: ios-demo/

Native iOS app

Flutter Demo

Location: flutter-demo/

Cross-platform Flutter app

React Native Demo

Location: react-native-demo/

Cross-platform RN app

🛠 Development Setup

Prerequisites

Android

Android Studio, Gradle, API level 24+

iOS

Xcode 12+, iOS 14.0+, Swift 5.0+

Flutter

Flutter SDK 3.0+, Dart 2.17+

React Native

Node.js 18+, React Native 0.70+

Building from Source

# Clone the repository
git clone https://github.com/Onix-Systems/PerchEye-SDK-Multiplatform.git

# Build Android SDK
cd android && ./gradlew build

# Build iOS SDK  
cd ios && xcodebuild -project PerchEyeFramework.xcodeproj

# Build Flutter plugin
cd flutter && flutter packages get

# Build React Native module
cd react-native && npm install

📊 Performance Characteristics

Processing Speed

~50-100ms
Face Detection
~100-200ms
Hash Generation
~10-50ms
Verification
Multi-threading
Supported

Memory Usage

~50-100MB
Runtime Memory
~10-20MB
Model Size
~2-5KB
Hash Size

Accuracy Metrics

>95%
Detection Rate
<0.1%
False Accept Rate
<5%
False Reject Rate

🔧 Integration Guides

Platform-Specific Setup

Android

dependencies {
    implementation(files("libs/perch-eye-1.0.3-4.aar"))
}

iOS

Setup Instructions:

  1. Download PerchEye Framework from the official source
  2. Drag PerchEyeFramework.xcframework into your Xcode project
  3. Ensure the framework is added to Frameworks, Libraries, and Embedded Content
  4. Set Embed & Sign for the framework

Flutter

# Run this in your Flutter project:

flutter pub add perch_eye

React Native

npm install react-native-perch-eye

📞 Support & Resources

📚
Documentation

Platform-specific guides

🎮
Demo Apps

Working examples for each platform

👥
Community

Developer community and discussions

Web Documentation: Visit our comprehensive web documentation at https://onix-systems.github.io/PerchEye-SDK-Multiplatform
License: This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Note: Each platform maintains its own specific documentation and examples. Refer to the individual platform folders for detailed implementation guides and platform-specific features.