গুগল কোড স্ক্যানার (কেবল অ্যান্ড্রয়েড), গুগল কোড স্ক্যানার (কেবল অ্যান্ড্রয়েড), গুগল কোড স্ক্যানার (কেবল অ্যান্ড্রয়েড)

Google কোড স্ক্যানার API ব্যবহারকারীর গোপনীয়তা রক্ষা করার সময় আপনার অ্যাপকে ক্যামেরা অনুমতির অনুরোধ না করেই কোড স্ক্যান করার একটি সম্পূর্ণ সমাধান প্রদান করে। এটি Google Play পরিষেবাগুলিতে কোড স্ক্যান করার কাজটি অর্পণ করে এবং আপনার অ্যাপে শুধুমাত্র স্ক্যান ফলাফল ফেরত দিয়ে সম্পন্ন করা হয় (ভিডিও 1)। সমস্ত চিত্র প্রক্রিয়াকরণ ডিভাইসে ঘটে এবং Google ফলাফল বা চিত্র ডেটা সংরক্ষণ করে না। এপিআই এমএল কিট বারকোড স্ক্যানিং এপিআই-এর মতো একই কোড ফরম্যাট সমর্থন করে এবং একই Barcode অবজেক্ট রিটার্ন করে।

এই APIটি এমন অ্যাপগুলির জন্য আদর্শ যেগুলির জন্য একটি কাস্টম UI বা ক্যামেরা অভিজ্ঞতার প্রয়োজন ছাড়াই বিরামহীন কোড স্ক্যানিং প্রয়োজন৷ প্রয়োগটি সম্পূর্ণরূপে Google Play পরিষেবার মধ্যে থাকে, আপনার অ্যাপের আকারের উপর ন্যূনতম প্রভাব নিশ্চিত করে৷

সংস্করণ 16.1.0 দিয়ে শুরু করে, আপনি স্বয়ংক্রিয়-জুম সক্ষম করতে পারেন যাতে Google কোড স্ক্যানার ক্যামেরা থেকে দূরে থাকা বারকোডগুলি স্বয়ংক্রিয়ভাবে স্ক্যান করতে পারে৷ যখন ব্যবহারকারীরা তাদের ডিভাইসগুলিকে বারকোডে নির্দেশ করে, স্ক্যানারটি বুদ্ধিমত্তার সাথে বারকোড সনাক্ত করবে এবং জুম ইন করবে৷ এটি বারকোড স্ক্যানিংকে দ্রুত, আরও নির্ভুল এবং আরও অ্যাক্সেসযোগ্য করে, ম্যানুয়াল জুম সামঞ্জস্যের প্রয়োজনীয়তা দূর করে (ভিডিও 2 দেখুন)।

ভিডিও 1. গুগল কোড স্ক্যানার ইন্টিগ্রেশন ভিডিও 2. অটো-জুম প্রভাব

আরও জটিল ব্যবহারের ক্ষেত্রে যেগুলির জন্য একটি কাস্টম UI প্রয়োজন, আমরা সরাসরি ML কিট বারকোড স্ক্যানিং API ব্যবহার করার পরামর্শ দিই।

আপনার যদি প্রশ্ন থাকে, একটি বাগ জমা দিতে চান বা সহায়তার প্রয়োজন হয়, তাহলে ML Kit সম্প্রদায় পৃষ্ঠাটি দেখুন।

আপনি শুরু করার আগে

আপনার অ্যাপ প্রস্তুত করতে, নিম্নলিখিত বিভাগগুলিতে পদক্ষেপগুলি সম্পূর্ণ করুন৷

আপনার অ্যাপ কনফিগার করুন

  1. আপনার টপ-লেভেল settings.gradle ফাইলে, Google-এর Maven রিপোজিটরি এবং Maven সেন্ট্রাল রিপোজিটরি dependencyResolutionManagement ব্লকের অধীনে অন্তর্ভুক্ত করুন:

    dependencyResolutionManagement {
      repositories {
        google()
        mavenCentral()
      }
    }
    
  2. আপনার মডিউলের Gradle বিল্ড ফাইলে play-services-code-scanner SDK-এর জন্য Google Play পরিষেবা নির্ভরতা যোগ করুন, যা সাধারণত app/build.gradle হয় :

    dependencies {
      implementation 'com.google.android.gms:play-services-code-scanner:16.1.0'
    }
    
  3. আপনার অ্যাপটি প্লে স্টোর থেকে ইনস্টল করার সময় Google Play পরিষেবাগুলি স্বয়ংক্রিয়ভাবে ডিভাইসে স্ক্যানার মডিউল ডাউনলোড করার জন্য আপনার অ্যাপটি কনফিগার করতে পারেন।

    <application ...>
      ...
      <meta-data
          android:name="com.google.mlkit.vision.DEPENDENCIES"
          android:value="barcode_ui"/>
      ...
    </application>
    

    এছাড়াও আপনি স্পষ্টভাবে স্ক্যানার মডিউল উপলব্ধতা পরীক্ষা করতে পারেন এবং Google Play পরিষেবা ModuleInstallClient API-এর মাধ্যমে ডাউনলোডের অনুরোধ করতে পারেন।

    আপনি যদি ইনস্টল-টাইম মডিউল ডাউনলোডগুলি সক্ষম না করেন বা স্পষ্ট ডাউনলোডের অনুরোধ করেন—এবং স্ক্যানার মডিউলটি ইতিমধ্যে অন্য ব্যবহারের ক্ষেত্রে ইনস্টল করা না থাকে—Google Play পরিষেবাগুলি স্ক্যানার মডিউলটিকে প্রথমবার ব্যবহার করার সময় ডাউনলোড করে৷

একটি কোড স্ক্যান করুন

একটি বারকোড স্ক্যান করতে নিম্নলিখিত পদক্ষেপগুলি প্রয়োগ করুন৷

  1. ঐচ্ছিক: কোড স্ক্যানার কনফিগার করুন।

    আপনি যদি জানেন যে কোন বারকোড বিন্যাসগুলি আপনি পড়তে আশা করেন, আপনি বারকোড ডিটেক্টরের গতি উন্নত করতে পারেন শুধুমাত্র সেই বিন্যাসগুলি সনাক্ত করার জন্য কনফিগার করে। উদাহরণস্বরূপ, শুধুমাত্র Aztec কোড এবং QR কোড সনাক্ত করতে, নিম্নলিখিত উদাহরণের মত একটি GmsBarcodeScannerOptions অবজেক্ট তৈরি করুন:

    কোটলিন

    val options = GmsBarcodeScannerOptions.Builder()
       .setBarcodeFormats(
           Barcode.FORMAT_QR_CODE,
           Barcode.FORMAT_AZTEC)
       .build()
    

    জাভা

    GmsBarcodeScannerOptions options = new GmsBarcodeScannerOptions.Builder()
       .setBarcodeFormats(
           Barcode.FORMAT_QR_CODE,
           Barcode.FORMAT_AZTEC)
       .build();
    

    ডিফল্টরূপে, অটো-জুম বন্ধ থাকে। 16.1.0 সংস্করণ থেকে শুরু করে স্বয়ংক্রিয় জুম কার্যকারিতা সক্ষম করতে, নিম্নলিখিত কোড উদাহরণে দেখানো হিসাবে enableAutoZoom() কল করুন।

    কোটলিন

    val options = GmsBarcodeScannerOptions.Builder()
       .setBarcodeFormats(...)
       .enableAutoZoom() // available on 16.1.0 and higher
       .build()
    

    জাভা

    GmsBarcodeScannerOptions options = new GmsBarcodeScannerOptions.Builder()
       .setBarcodeFormats(...)
       .enableAutoZoom() // available on 16.1.0 and higher
       .build();
    
  2. কোড উদাহরণে দেখানো হিসাবে GmsBarcodeScanner এর একটি উদাহরণ পান:

    কোটলিন

    val scanner = GmsBarcodeScanning.getClient(this)
    // Or with a configured options
    // val scanner = GmsBarcodeScanning.getClient(this, options)
    

    জাভা

    GmsBarcodeScanner scanner = GmsBarcodeScanning.getClient(this);
    // Or with a configured options
    // GmsBarcodeScanner scanner = GmsBarcodeScanning.getClient(context, options);
    
  3. startScan() কল করে একটি কোড স্ক্যান করার অনুরোধ করুন।

    কোটলিন

    scanner.startScan()
       .addOnSuccessListener { barcode ->
           // Task completed successfully
       }
       .addOnCanceledListener {
           // Task canceled
       }
       .addOnFailureListener { e ->
           // Task failed with an exception
       }
    

    জাভা

    scanner
       .startScan()
       .addOnSuccessListener(
           barcode -> {
             // Task completed successfully
           })
       .addOnCanceledListener(
           () -> {
             // Task canceled
           })
       .addOnFailureListener(
           e -> {
             // Task failed with an exception
           });
    
  4. ফলস্বরূপ Barcode পরিচালনা করুন।

    কোটলিন

    val rawValue: String? = barcode.rawValue
    

    জাভা

    String rawValue = barcode.getRawValue();