L'API de lecteur de code Google offre une solution complète pour scanner du code
sans que votre appli ait besoin de demander l'autorisation d'accéder à l'appareil photo, tout en préservant l'utilisateur
confidentialité. Cela s'effectue en déléguant la tâche de scanner le code à
services Google Play et en renvoyant uniquement les résultats d'analyse à votre application (vidéo 1).
Le traitement des images s'effectue intégralement sur l'appareil, et Google ne stocke pas les résultats.
ou d'images. L'API accepte les mêmes formats de code que
API ML Kit Barcode Scanning et renvoie le
identique Barcode
.
Cette API est idéale pour les applications qui nécessitent de scanner facilement du code, pour une interface utilisateur ou une caméra personnalisée. L'implémentation se trouve entièrement dans services Google Play, avec un impact minimal sur la taille de votre application.
À partir de la version 16.1.0, vous pouvez activer le zoom automatique pour scanner automatiquement les codes-barres éloignés de l'appareil photo. Quand ? les utilisateurs pointent leur appareil vers un code-barres, le scanner détecte intelligemment et zoomez sur le code-barres. Ainsi, il n'est plus nécessaire d'effectuer un zoom manuel pour rendre la lecture des codes-barres plus rapide, plus précise et plus accessible (voir Vidéo 2).
Vidéo 1. Intégration du lecteur de code Google | Vidéo 2. Effet de zoom automatique |
Pour les cas d'utilisation plus complexes nécessitant une interface utilisateur personnalisée, nous vous recommandons d'utiliser API ML Kit Barcode Scanning directement
Si vous avez des questions, si vous souhaitez signaler un bug ou si vous avez besoin d'aide, consultez le page de la communauté ML Kit.
<ph type="x-smartling-placeholder">Avant de commencer
<ph type="x-smartling-placeholder">Pour préparer votre application, procédez comme indiqué dans les sections suivantes.
Configurer votre application
Dans votre fichier
settings.gradle
de premier niveau, incluez le dépôt Maven de Google et dans le dépôt central Maven BlocdependencyResolutionManagement
:dependencyResolutionManagement { repositories { google() mavenCentral() } }
Ajoutez la dépendance des services Google Play pour
play-services-code-scanner
SDK au fichier de compilation Gradle de votre module, généralementapp/build.gradle
:dependencies { implementation 'com.google.android.gms:play-services-code-scanner:16.1.0' }
Vous pouvez configurer votre application pour que les services Google Play s'exécutent automatiquement téléchargez le module d'analyse sur l'appareil lorsque votre application est installée depuis sur le Play Store.
<application ...> ... <meta-data android:name="com.google.mlkit.vision.DEPENDENCIES" android:value="barcode_ui"/> ... </application>
Vous pouvez aussi vérifier explicitement la disponibilité du module d'analyse télécharger via les services Google Play ModuleInstallClient API.
Si vous n'activez pas les téléchargements de modules au moment de l'installation ou et que le module d'analyse n'est pas déjà installé cas d'utilisation : les services Google Play téléchargent le module scanner en premier l'heure d'utilisation.
Scanner un code
Pour scanner un code-barres, procédez comme suit :
Facultatif: configurez le lecteur de code.
Si vous connaissez les formats de code-barres que vous avez l'intention de lire, vous pouvez améliorer le la vitesse du détecteur de code-barres en le configurant pour qu'il ne détecte que . Par exemple, pour ne détecter que le code aztèque et les codes QR, créez une
GmsBarcodeScannerOptions
comme dans l'exemple suivant:Kotlin
val options = GmsBarcodeScannerOptions.Builder() .setBarcodeFormats( Barcode.FORMAT_QR_CODE, Barcode.FORMAT_AZTEC) .build()
Java
GmsBarcodeScannerOptions options = new GmsBarcodeScannerOptions.Builder() .setBarcodeFormats( Barcode.FORMAT_QR_CODE, Barcode.FORMAT_AZTEC) .build();
Par défaut, le zoom automatique est désactivé. Activer la fonctionnalité de zoom automatique à partir de la version 16.1.0, appelez
enableAutoZoom()
comme indiqué dans l'exemple de code suivant.Kotlin
val options = GmsBarcodeScannerOptions.Builder() .setBarcodeFormats(...) .enableAutoZoom() // available on 16.1.0 and higher .build()
Java
GmsBarcodeScannerOptions options = new GmsBarcodeScannerOptions.Builder() .setBarcodeFormats(...) .enableAutoZoom() // available on 16.1.0 and higher .build();
Obtenez une instance de
GmsBarcodeScanner
, comme indiqué dans l'exemple de code:Kotlin
val scanner = GmsBarcodeScanning.getClient(this) // Or with a configured options // val scanner = GmsBarcodeScanning.getClient(this, options)
Java
GmsBarcodeScanner scanner = GmsBarcodeScanning.getClient(this); // Or with a configured options // GmsBarcodeScanner scanner = GmsBarcodeScanning.getClient(context, options);
Demandez un scan de code en appelant
startScan()
.Kotlin
scanner.startScan() .addOnSuccessListener { barcode -> // Task completed successfully } .addOnCanceledListener { // Task canceled } .addOnFailureListener { e -> // Task failed with an exception }
Java
scanner .startScan() .addOnSuccessListener( barcode -> { // Task completed successfully }) .addOnCanceledListener( () -> { // Task canceled }) .addOnFailureListener( e -> { // Task failed with an exception });
Gérez le
Barcode
obtenu.Kotlin
val rawValue: String? = barcode.rawValue
Java
String rawValue = barcode.getRawValue();