Overview
Integrate Entrupy's authentication services directly into your Android application using the Entrupy Android SDK. This SDK allows your users to seamlessly submit items for authentication and receive results within your app's experience. The authentication flow begins with a guided Capture Flow, where users provide item details and images. Once submitted, Entrupy processes the request, and the SDK's Detail View displays the authentication result, ETA (Estimated Time of Arrival), and other item-specific information or actions.
This documentation is intended for Android developers and product teams integrating Entrupy's services into their mobile applications. For a broader understanding of Entrupy's capabilities and how it can be customized to fit your product, refer to the Entrupy Solutions Introduction.
1. SDK and API Interaction
The Entrupy Android SDK and the Entrupy API work together to power the authentication service:
-
Android SDK (Client-Side):
Integrated into your mobile app, the SDK manages the entire user-facing experience, including image capture, smart assistance (e.g., blur detection, glare reduction), and displaying results. It handles direct communication with the Entrupy platform during the authentication process.
-
Entrupy API (Server-Side):
Your backend can use the Entrupy API for data synchronization, mapping your internal IDs (like
customer_item_id) with Entrupy items, retrieving authentication statuses, handling web hooks, and managing auxiliary data.
Together, the SDK provides the UI and user flow, while the API ensures backend integration and control. For more details on this collaboration, refer to The Entrupy Platform: How SDK & API Work Together.
2. Importing the SDK
The main entry point for the Entrupy Android SDK is the EntrupyApp class:
import com.entrupy.sdk.app.EntrupyApp
The SDK must be initialized in your Application class before any operations:
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
EntrupyApp.init(this)
}
}
After initialization, access the SDK singleton using:
val entrupyApp = EntrupyApp.sharedInstance()
3. Key Android SDK Components
The Entrupy Android SDK consists of several primary UI components that can be embedded into your application flow. These components are further explored in the SDK Reference and Integration Guide sections.
3.1 Capture Flow
The Capture Flow is a full-screen activity that guides users through the process of capturing item photos and relevant information.
Responsibilities:
- Guides users step-by-step through photo capture for item authentication.
- Utilizes on-device AI for enhanced capture quality:
- Real-time blur detection
- Glare feedback
- Zoom and gyro-based alignment assistance
- Manages direct upload of captured media to Entrupy servers.
- Transitions to a Results Screen showing processing status and ETA.
3.2 Detail View
The Detail View presents the full status and outcome of an authentication submission.
Features:
- Displays final authentication results once available.
- Shows ETA if results are still processing.
- Visualizes authentication timelines and submission events.
- Highlights required actions (e.g., image retake).
- Displays flags and structured messages from Entrupy.
- Provides access to the Certificate (with shareable links).
- Integrates in-app support/chat functionality for item-specific communication.
3.3 MarketEdge View
The MarketEdge View displays market insights for an authenticated item — including MarketGrade, MarketValue, MarketMatch, and region selection.
4. Core SDK API
The EntrupyApp class provides the following key methods and properties:
| Method / Property | Description |
|---|---|
EntrupyApp.init(application) | Initialize the SDK (call in Application.onCreate()) |
EntrupyApp.sharedInstance() | Get the singleton SDK instance |
eventListener: SdkEventListener? | Set a listener for SDK events |
generateSDKAuthorizationRequest() | Generate an encrypted authorization request |
loginUser(signedRequest) | Authenticate with a signed request (fire-and-forget) |
loginUser(signedRequest, callback) | Authenticate with callback for status updates |
isAuthorizationValid() | Check if current authorization is valid |
setStatusBarIconStyle(style) | Set system bar icons to light or dark (default: light) |
startCapture(configMetadata, callback) | Start capture flow with metadata and optional callback |
startRetakeCapture(authenticationId) | Start retake capture for an existing authentication |
displayDetailViewForItem(entrupyId) | Display authentication details for an item |
displayMarketEdgeView(entrupyId, configuration) | Show MarketEdge market insights for an item |
setCaptureTimeoutDuration(seconds) | Configure capture timeout duration (default: 2 hours) |
cleanup() | Clear tokens and release resources on logout |
4.1 Composable UI Components
| Composable | Description |
|---|---|
RegionPreferencesScreen(onBack, modifier) | Region selection for MarketEdge data |
5. Multi-Language Support
The SDK supports multiple UI languages out-of-the-box:
- English (default)
- Japanese
- Traditional Chinese
- Simplified Chinese
The Android SDK automatically detects the device language and adapts the UI accordingly. If a language is not supported, the UI defaults to English.
Next Steps
To begin integrating the Entrupy Android SDK:
- Installation and Dependencies: Start here to install and set up the SDK.
- Continue with App Registration & Permissions for the next setup step.
- Consult the SDK Reference for detailed information on specific components and APIs.
- Review recent changes in the Release Notes.