গুগল কোড স্ক্যানার (বিটা)

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

এই APIটি এমন অ্যাপগুলির জন্য আদর্শ যেগুলিকে কেবল একটি কোড স্ক্যান করতে হবে এবং একটি কাস্টম UI বা ক্যামেরা অভিজ্ঞতার প্রয়োজন নেই৷ বাস্তবায়নটি সম্পূর্ণরূপে Google Play পরিষেবাগুলির মধ্যে থাকে, তাই আপনার অ্যাপের আকারে কোনও উল্লেখযোগ্য প্রভাব নেই৷ আরও জটিল ব্যবহারের ক্ষেত্রে যেগুলির জন্য একটি কাস্টম 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.0.0-beta3'
    }
    
  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();

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. ফলে বারকোড হ্যান্ডেল

কোটলিন

val rawValue: String? = barcode.rawValue

জাভা

String rawValue = barcode.getRawValue();