একটি কম আলো বুস্ট ক্লায়েন্ট তৈরি করুন এবং ব্যবহার করুন, একটি কম আলো বুস্ট ক্লায়েন্ট তৈরি করুন এবং ব্যবহার করুন

Google লো লাইট বুস্ট ব্যবহার করতে, আপনার একটি কম আলো বুস্ট ক্লায়েন্টের প্রয়োজন হবে। লো লাইট বুস্ট মডিউল ইনস্টল করা আছে কিনা এবং Google লো লাইট বুস্ট ডিভাইস এবং ক্যামেরা দ্বারা সমর্থিত কিনা তা পরীক্ষা করার জন্য আপনি ক্লায়েন্ট ব্যবহার করতে পারেন আপনার অ্যাপটি চলছে। এছাড়াও আপনি একটি LowLightBoostSession তৈরি করতে ক্লায়েন্ট ব্যবহার করবেন। ( কম আলো বুস্ট চালু এবং বন্ধ করতে আপনি সেশনটি ব্যবহার করবেন ।) কম আলো বুস্ট সক্রিয় থাকলে আপনি কলব্যাক গ্রহণের জন্য একজন শ্রোতা সেট আপ করতে পারেন।

LowLightBoostClient পদ্ধতি সরাসরি সাফল্য বা ব্যর্থতার সংকেত দেয় না। পরিবর্তে, তারা একটি Task অবজেক্ট ফেরত দেয়। আপনি সাফল্য এবং ব্যর্থ শ্রোতাদের সেট আপ করার জন্য একটি Task ব্যবহার করেন। এটি পদ্ধতিগুলিকে অ্যাসিঙ্ক্রোনাসভাবে সাফল্য বা ব্যর্থতার সংকেত দিতে দেয়, যা প্রয়োজনীয় যেহেতু পদ্ধতিগুলিকে Google Play পরিষেবাগুলির সাথে যোগাযোগ করতে হবে৷

নির্ভরতা

কোটলিন

dependencies {
  val low_light_boost_version = "16.0.0-beta01"
  implementation("org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.10.2")
  implementation("com.google.android.gms:play-services-base:18.7.0")
  implementation("com.google.android.gms:play-services-camera-low-light-boost:${low_light_boost_version}")
  implementation("com.google.android.gms:play-services-tasks:18.3.0")
}

গ্রোভি

dependencies {
  def low_light_boost_version = "16.0.0-beta01"
  implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.10.2'
  implementation 'com.google.android.gms:play-services-base:18.7.0'
  implementation 'com.google.android.gms:play-services-camera-low-light-boost:${low_light_boost_version}'
  implementation 'com.google.android.gms:play-services-tasks:18.3.0'
}

LowLightBoostClient Google Play পরিষেবা com.google.android.gms.cameralowlight প্যাকেজ দ্বারা সরবরাহ করা হয়৷ Google Play পরিষেবা APIগুলি অ্যাক্সেস করার তথ্যের জন্য Google Play পরিষেবার ডকুমেন্টেশন দেখুন৷

একটি ক্লায়েন্ট তৈরি করুন

অন্য কিছু করার জন্য আপনার একটি কম আলো বুস্ট ক্লায়েন্ট প্রয়োজন। নিম্নলিখিত কোড একটি ক্লায়েন্ট তৈরি করে:

কোটলিন

val lowLightBoostClient = LowLightBoost.getClient(context)

জাভা

LowLightBoostClient lowLightBoostClient = LowLightBoost.getClient(context);

এই কোড সম্পর্কে মূল পয়েন্ট

  • LowLightBoost ক্লাস স্ট্যাটিক পদ্ধতি getClient প্রদান করে, যা LowLightBoostClient এর একটি উদাহরণ প্রদান করে।

কম আলোর বুস্ট মডিউল ইনস্টল করা আছে কিনা তা পরীক্ষা করুন

আপনার ক্লায়েন্ট হয়ে গেলে, আপনি নিশ্চিত করতে পারেন যে আপনার ডিভাইসে কম আলোর বুস্ট মডিউল ইনস্টল করা আছে কিনা। মডিউল ইনস্টল করা আছে কিনা তা নিম্নলিখিত কোড চেক করে:

কোটলিন

// Handle the Google Play services Task API with Kotlin coroutines
// (kotlinx-coroutines-play-services)
launch {
  try {
    val isInstalled: Boolean = lowLightBoostClient
      .isModuleInstalled(context).await()

    if (isInstalled) {
      Log.d(TAG, "Module is installed")
      try {
        openCamera(cameraId)
      } catch (e: CameraAccessException) {
        Log.e(TAG, "Failed to open camera", e)
      }
    } else {
      Log.d(TAG, "Module is not installed")
      launchInstallRequest()
    }
  } catch (e: Exception) {
    Log.e(TAG, "Failed to check module availability", e)
  }
}

জাভা

lowLightBoostClient
  .isModuleInstalled(context)
  .addOnSuccessListener(
    (isInstalled) -> {
      if (isInstalled) {
        Log.d(TAG, "Module is installed");
        try {
          openCamera(cameraId);
        } catch (CameraAccessException e) {
          Log.e(TAG, "Failed to open camera", e);
        }
      } else {
        Log.d(TAG, "Module is not installed");
        launchInstallRequest();
      }
    })
  .addOnFailureListener(
    (e) -> {
      Log.e(TAG, "Failed to check module availability", e);
    });

এই কোড সম্পর্কে মূল পয়েন্ট

  • এই কোডটি cameraId দ্বারা চিহ্নিত ক্যামেরার সাথে সংযোগকারী একটি ক্যামেরা সেশন খোলে। আরও তথ্যের জন্য, Camera2 ডকুমেন্টেশন দেখুন।
  • LowLightBoostClient.isModuleInstalled() পদ্ধতিটি একটি Task অবজেক্ট প্রদান করে। আপনি সাফল্য এবং ব্যর্থ শ্রোতাদের সেট আপ করতে এই বস্তুটি ব্যবহার করুন.
  • একটি শ্রোতা সেট আপ করতে Task.addOnSuccessListener() ব্যবহার করুন যা isModuleInstalled() এ কল সফল হলে বলা হয়। গুরুত্বপূর্ণভাবে, যদি সফল শ্রোতাকে কল করা হয়, তবে এটি আপনাকে বলে যে ক্লায়েন্ট ডিভাইসে মডিউল ইনস্টল করা আছে কিনা তা খুঁজে বের করতে সফল হয়েছে। আপনার শ্রোতার শরীরে, আপনাকে মডিউলটি আসলে ইনস্টল করা আছে কিনা তা পরীক্ষা করতে হবে।
  • যদি মডিউলটি ইতিমধ্যে ইনস্টল করা না থাকে, তাহলে এই স্নিপেটটি এটিকে কল করে ইনস্টল করে মেথড launchInstallRequest()লো লাইট বুস্ট মডিউল ইনস্টল করুন -এর স্নিপেটে এই পদ্ধতিটি সংজ্ঞায়িত করা হয়েছে।

কম আলো বুস্ট মডিউল ইনস্টল করুন

যদি কম আলোর বুস্ট মডিউলটি ইতিমধ্যে ডিভাইসে ইনস্টল করা না থাকে, তাহলে আপনাকে Google Play পরিষেবাগুলি থেকে এটি ডাউনলোড এবং ইনস্টল করতে হবে। এই কোডটি দেখায় কিভাবে এটি করতে হয়:

কোটলিন

private suspend fun launchInstallRequest() {
  Log.v(TAG, "Launching install request")

  try {
    // Check if this device can support Google LLB.
    val isDeviceSupported: Boolean = lowLightBoostClient
      .isDeviceSupported(context).await()

    if (isDeviceSupported) {
      Log.d(TAG, "Device is supported")
      // Show download indicator, if needed.

      try {
        val isInstallSuccessful: Boolean = lowLightBoostClient
          .installModule(context,
                        createInstallStatusCallback()
          ).await()

        if (isInstallSuccessful) {
          Log.d(TAG, "Module installed")
          // Hide download indicator, if needed.
          try {
            openCamera()
          } catch (e: CameraAccessException) {
            Log.e(TAG, "Failed to open camera", e)
          }
        } else {
          Log.d(TAG, "Module install failed")
        }
      } catch (e: Exception) {
        Log.e(TAG, "An error occurred installing the module:", e)
      }
    } else {
      Log.d(TAG, "Device is not supported")
    }
  } catch (e: Exception) {
    Log.e(TAG, "An error occurred checking device support:", e)
  }
}

জাভা

private void launchInstallRequest() {
  Log.v(TAG, "Launching install request");
  // Check if this device can support Google LLB.
  lowLightBoostClient
    .isDeviceSupported(context)
    .addOnSuccessListener(
      (isDeviceSupported) -> {
        if (isDeviceSupported) {
          Log.d(TAG, "Device is supported");
          // Show download indicator, if needed.
          lowLightBoostClient
            .installModule(
              this,
              createInstallStatusCallback()
            )
            .addOnSuccessListener(
              (result) -> {
                if (result) {
                  Log.d(TAG, "Module installed");
                  // Hide download indicator, if needed.
                  try {
                    openCamera();
                  } catch (CameraAccessException e) {
                    Log.e(TAG, "Failed to open camera", e);
                  }
                } else {
                  Log.d(TAG, "Module install failed");
                }
              }
            );
        } else {
          Log.d(TAG, "Device is not supported");
        }
      })
    .addOnFailureListener(
      (e) -> {
        Log.e(TAG, "Failed to check device support", e);
      });
}

এই কোড সম্পর্কে মূল পয়েন্ট

  • আপনি যখন LowLightBoostClient.installModule() কল করেন তখন আপনি একটি কলব্যাক অবজেক্ট পাস করেন, যা LowLightBoostClient.InstallStatusCallback প্রয়োগ করে। installModule() ডাউনলোডের স্থিতি নির্দেশ করতে সেই কলব্যাকে কল পদ্ধতিগুলিকে কল করে। উদাহরণস্বরূপ, যদি ডাউনলোড বিরাম দেওয়া হয়, installModule() কলব্যাক অবজেক্টের onDownloadPause() পদ্ধতিতে কল করে।
  • এই কোড স্নিপেটে, কলব্যাক অবজেক্টটি createInstallStatusCallback() পদ্ধতি দ্বারা তৈরি করা হয়েছে। আপনাকে এই লাইনগুলি বরাবর সেই পদ্ধতিটি নিজেই লিখতে হবে:

কোটলিন

private fun createInstallStatusCallback(): LowLightBoostClient.InstallStatusCallback =
        object : LowLightBoostClient.InstallStatusCallback() {
    override fun onDownloadPending() {
      Log.d(TAG, "onDownloadPending")
      // Code here...
    }

    override fun onDownloadStart() {
      Log.d(TAG, "onDownloadStart")
      // Code here...
    }

    // other overrides here...
  }

জাভা

private InstallStatusCallback createInstallStatusCallback() {
  new LowLightBoostClient.InstallStatusCallback() {
    @Override
    public void onDownloadPending() {
      Log.d(TAG, "onDownloadPending");
      // Code here...
    }

    @Override
    public void onDownloadStart() {
      Log.d(TAG, "onDownloadStart");
      // Code here...
    }

  // other overrides here...
}
  • LowLightBoostClient.isDeviceSupported() Android-চালিত ডিভাইস এবং অপারেটিং সিস্টেম Google লো লাইট বুস্ট সমর্থন করে কিনা তা পরীক্ষা করে। যদি না হয়, মডিউল ডাউনলোড করবেন না।

  • পদ্ধতি LowLightBoostClient.installModule() একটি Task অবজেক্ট প্রদান করে। আপনি সাফল্য এবং ব্যর্থ শ্রোতাদের সেট আপ করতে এই বস্তুটি ব্যবহার করুন.

  • ইনস্টল শেষ হলে, সফল শ্রোতা ক্যামেরা খুলে ইনস্টল যাচাই করে। স্নিপেটে, এটি openCamera() এ কল দিয়ে করা হয়। আপনাকে সেই পদ্ধতিটি নিজেই লিখতে হবে।

কম আলো বুস্ট সমর্থিত কিনা তা পরীক্ষা করুন

আপনার ক্লায়েন্ট হয়ে গেলে, অ্যাপটি যে ডিভাইসে চলছে সেটির দ্বারা কম আলোর বুস্ট সমর্থিত কিনা তা আপনি পরীক্ষা করতে পারেন। নিম্ন আলোর বুস্ট সমর্থিত কিনা তা নিম্নোক্ত কোড পরীক্ষা করে:

কোটলিন

launch {
  try {
    // Await the result of the Task in a non-blocking way
    val isSupported: Boolean = lowLightBoostClient
      .isCameraSupported(cameraId).await()
    Log.d(TAG, "isCameraSupported: $isSupported")
    if (isSupported) {
      // Create the low light boost session here
    }
  } catch (e: Exception) {
    Log.e(TAG, "isCameraSupported failed", e)
  }
}

জাভা

lowLightBoostClient
  .isCameraSupported(cameraId)
  .addOnSuccessListener(
    lowLightBoostExecutor,
    (isSupported) -> {
      Log.d(TAG, "isCameraSupported: " + isSupported);
      if (isSupported) {
        // Create the low light boost session here
      }
    )

এই কোড সম্পর্কে মূল পয়েন্ট

  • cameraId অন্য কোথাও তৈরি করা Camera2 ক্যামেরার আইডি বলে ধরে নেওয়া হয়।
  • LowLightBoostClient.isCameraSupported() Camera2 ক্যামেরা কম আলো বুস্ট সমর্থন করে কিনা তা পরীক্ষা করে। কিছু ক্ষেত্রে, একটি ডিভাইস কম আলোর বুস্ট সমর্থন করতে পারে কিন্তু এর একটি ক্যামেরা নাও পারে, তাই আপনাকে উভয়ই পরীক্ষা করতে হবে।
  • LowLightBoostClient.isCameraSupported() পদ্ধতিটি একটি Task অবজেক্ট প্রদান করে। আপনি সাফল্য এবং ব্যর্থ শ্রোতাদের সেট আপ করতে এই বস্তুটি ব্যবহার করুন. সফল শ্রোতার ভিতরে কম আলো বুস্ট সেশন তৈরি করুন
,

Google লো লাইট বুস্ট ব্যবহার করতে, আপনার একটি কম আলো বুস্ট ক্লায়েন্টের প্রয়োজন হবে। লো লাইট বুস্ট মডিউল ইনস্টল করা আছে কিনা এবং Google লো লাইট বুস্ট ডিভাইস এবং ক্যামেরা দ্বারা সমর্থিত কিনা তা পরীক্ষা করার জন্য আপনি ক্লায়েন্ট ব্যবহার করতে পারেন আপনার অ্যাপটি চলছে। এছাড়াও আপনি একটি LowLightBoostSession তৈরি করতে ক্লায়েন্ট ব্যবহার করবেন। ( কম আলো বুস্ট চালু এবং বন্ধ করতে আপনি সেশনটি ব্যবহার করবেন ।) কম আলো বুস্ট সক্রিয় থাকলে আপনি কলব্যাক গ্রহণের জন্য একজন শ্রোতা সেট আপ করতে পারেন।

LowLightBoostClient পদ্ধতি সরাসরি সাফল্য বা ব্যর্থতার সংকেত দেয় না। পরিবর্তে, তারা একটি Task অবজেক্ট ফেরত দেয়। আপনি সাফল্য এবং ব্যর্থ শ্রোতাদের সেট আপ করার জন্য একটি Task ব্যবহার করেন। এটি পদ্ধতিগুলিকে অ্যাসিঙ্ক্রোনাসভাবে সাফল্য বা ব্যর্থতার সংকেত দিতে দেয়, যা প্রয়োজনীয় যেহেতু পদ্ধতিগুলিকে Google Play পরিষেবাগুলির সাথে যোগাযোগ করতে হবে৷

নির্ভরতা

কোটলিন

dependencies {
  val low_light_boost_version = "16.0.0-beta01"
  implementation("org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.10.2")
  implementation("com.google.android.gms:play-services-base:18.7.0")
  implementation("com.google.android.gms:play-services-camera-low-light-boost:${low_light_boost_version}")
  implementation("com.google.android.gms:play-services-tasks:18.3.0")
}

গ্রোভি

dependencies {
  def low_light_boost_version = "16.0.0-beta01"
  implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.10.2'
  implementation 'com.google.android.gms:play-services-base:18.7.0'
  implementation 'com.google.android.gms:play-services-camera-low-light-boost:${low_light_boost_version}'
  implementation 'com.google.android.gms:play-services-tasks:18.3.0'
}

LowLightBoostClient Google Play পরিষেবা com.google.android.gms.cameralowlight প্যাকেজ দ্বারা সরবরাহ করা হয়৷ Google Play পরিষেবা APIগুলি অ্যাক্সেস করার তথ্যের জন্য Google Play পরিষেবার ডকুমেন্টেশন দেখুন৷

একটি ক্লায়েন্ট তৈরি করুন

অন্য কিছু করার জন্য আপনার একটি কম আলো বুস্ট ক্লায়েন্ট প্রয়োজন। নিম্নলিখিত কোড একটি ক্লায়েন্ট তৈরি করে:

কোটলিন

val lowLightBoostClient = LowLightBoost.getClient(context)

জাভা

LowLightBoostClient lowLightBoostClient = LowLightBoost.getClient(context);

এই কোড সম্পর্কে মূল পয়েন্ট

  • LowLightBoost ক্লাস স্ট্যাটিক পদ্ধতি getClient প্রদান করে, যা LowLightBoostClient এর একটি উদাহরণ প্রদান করে।

কম আলোর বুস্ট মডিউল ইনস্টল করা আছে কিনা তা পরীক্ষা করুন

আপনার ক্লায়েন্ট হয়ে গেলে, আপনি নিশ্চিত করতে পারেন যে আপনার ডিভাইসে কম আলোর বুস্ট মডিউল ইনস্টল করা আছে কিনা। মডিউল ইনস্টল করা আছে কিনা তা নিম্নলিখিত কোড চেক করে:

কোটলিন

// Handle the Google Play services Task API with Kotlin coroutines
// (kotlinx-coroutines-play-services)
launch {
  try {
    val isInstalled: Boolean = lowLightBoostClient
      .isModuleInstalled(context).await()

    if (isInstalled) {
      Log.d(TAG, "Module is installed")
      try {
        openCamera(cameraId)
      } catch (e: CameraAccessException) {
        Log.e(TAG, "Failed to open camera", e)
      }
    } else {
      Log.d(TAG, "Module is not installed")
      launchInstallRequest()
    }
  } catch (e: Exception) {
    Log.e(TAG, "Failed to check module availability", e)
  }
}

জাভা

lowLightBoostClient
  .isModuleInstalled(context)
  .addOnSuccessListener(
    (isInstalled) -> {
      if (isInstalled) {
        Log.d(TAG, "Module is installed");
        try {
          openCamera(cameraId);
        } catch (CameraAccessException e) {
          Log.e(TAG, "Failed to open camera", e);
        }
      } else {
        Log.d(TAG, "Module is not installed");
        launchInstallRequest();
      }
    })
  .addOnFailureListener(
    (e) -> {
      Log.e(TAG, "Failed to check module availability", e);
    });

এই কোড সম্পর্কে মূল পয়েন্ট

  • এই কোডটি cameraId দ্বারা চিহ্নিত ক্যামেরার সাথে সংযোগকারী একটি ক্যামেরা সেশন খোলে। আরও তথ্যের জন্য, Camera2 ডকুমেন্টেশন দেখুন।
  • LowLightBoostClient.isModuleInstalled() পদ্ধতিটি একটি Task অবজেক্ট প্রদান করে। আপনি সাফল্য এবং ব্যর্থ শ্রোতাদের সেট আপ করতে এই বস্তুটি ব্যবহার করুন.
  • একটি শ্রোতা সেট আপ করতে Task.addOnSuccessListener() ব্যবহার করুন যা isModuleInstalled() এ কল সফল হলে বলা হয়। গুরুত্বপূর্ণভাবে, যদি সফল শ্রোতাকে কল করা হয়, তবে এটি আপনাকে বলে যে ক্লায়েন্ট ডিভাইসে মডিউল ইনস্টল করা আছে কিনা তা খুঁজে বের করতে সফল হয়েছে। আপনার শ্রোতার শরীরে, আপনাকে মডিউলটি আসলে ইনস্টল করা আছে কিনা তা পরীক্ষা করতে হবে।
  • যদি মডিউলটি ইতিমধ্যে ইনস্টল করা না থাকে, তাহলে এই স্নিপেটটি এটিকে কল করে ইনস্টল করে মেথড launchInstallRequest()লো লাইট বুস্ট মডিউল ইনস্টল করুন -এর স্নিপেটে এই পদ্ধতিটি সংজ্ঞায়িত করা হয়েছে।

কম আলো বুস্ট মডিউল ইনস্টল করুন

যদি কম আলোর বুস্ট মডিউলটি ইতিমধ্যে ডিভাইসে ইনস্টল করা না থাকে, তাহলে আপনাকে Google Play পরিষেবাগুলি থেকে এটি ডাউনলোড এবং ইনস্টল করতে হবে। এই কোডটি দেখায় কিভাবে এটি করতে হয়:

কোটলিন

private suspend fun launchInstallRequest() {
  Log.v(TAG, "Launching install request")

  try {
    // Check if this device can support Google LLB.
    val isDeviceSupported: Boolean = lowLightBoostClient
      .isDeviceSupported(context).await()

    if (isDeviceSupported) {
      Log.d(TAG, "Device is supported")
      // Show download indicator, if needed.

      try {
        val isInstallSuccessful: Boolean = lowLightBoostClient
          .installModule(context,
                        createInstallStatusCallback()
          ).await()

        if (isInstallSuccessful) {
          Log.d(TAG, "Module installed")
          // Hide download indicator, if needed.
          try {
            openCamera()
          } catch (e: CameraAccessException) {
            Log.e(TAG, "Failed to open camera", e)
          }
        } else {
          Log.d(TAG, "Module install failed")
        }
      } catch (e: Exception) {
        Log.e(TAG, "An error occurred installing the module:", e)
      }
    } else {
      Log.d(TAG, "Device is not supported")
    }
  } catch (e: Exception) {
    Log.e(TAG, "An error occurred checking device support:", e)
  }
}

জাভা

private void launchInstallRequest() {
  Log.v(TAG, "Launching install request");
  // Check if this device can support Google LLB.
  lowLightBoostClient
    .isDeviceSupported(context)
    .addOnSuccessListener(
      (isDeviceSupported) -> {
        if (isDeviceSupported) {
          Log.d(TAG, "Device is supported");
          // Show download indicator, if needed.
          lowLightBoostClient
            .installModule(
              this,
              createInstallStatusCallback()
            )
            .addOnSuccessListener(
              (result) -> {
                if (result) {
                  Log.d(TAG, "Module installed");
                  // Hide download indicator, if needed.
                  try {
                    openCamera();
                  } catch (CameraAccessException e) {
                    Log.e(TAG, "Failed to open camera", e);
                  }
                } else {
                  Log.d(TAG, "Module install failed");
                }
              }
            );
        } else {
          Log.d(TAG, "Device is not supported");
        }
      })
    .addOnFailureListener(
      (e) -> {
        Log.e(TAG, "Failed to check device support", e);
      });
}

এই কোড সম্পর্কে মূল পয়েন্ট

  • আপনি যখন LowLightBoostClient.installModule() কল করেন তখন আপনি একটি কলব্যাক অবজেক্ট পাস করেন, যা LowLightBoostClient.InstallStatusCallback প্রয়োগ করে। installModule() ডাউনলোডের স্থিতি নির্দেশ করতে সেই কলব্যাকে কল পদ্ধতিগুলিকে কল করে। উদাহরণস্বরূপ, যদি ডাউনলোড বিরাম দেওয়া হয়, installModule() কলব্যাক অবজেক্টের onDownloadPause() পদ্ধতিতে কল করে।
  • এই কোড স্নিপেটে, কলব্যাক অবজেক্টটি createInstallStatusCallback() পদ্ধতি দ্বারা তৈরি করা হয়েছে। আপনাকে এই লাইনগুলি বরাবর সেই পদ্ধতিটি নিজেই লিখতে হবে:

কোটলিন

private fun createInstallStatusCallback(): LowLightBoostClient.InstallStatusCallback =
        object : LowLightBoostClient.InstallStatusCallback() {
    override fun onDownloadPending() {
      Log.d(TAG, "onDownloadPending")
      // Code here...
    }

    override fun onDownloadStart() {
      Log.d(TAG, "onDownloadStart")
      // Code here...
    }

    // other overrides here...
  }

জাভা

private InstallStatusCallback createInstallStatusCallback() {
  new LowLightBoostClient.InstallStatusCallback() {
    @Override
    public void onDownloadPending() {
      Log.d(TAG, "onDownloadPending");
      // Code here...
    }

    @Override
    public void onDownloadStart() {
      Log.d(TAG, "onDownloadStart");
      // Code here...
    }

  // other overrides here...
}
  • LowLightBoostClient.isDeviceSupported() Android-চালিত ডিভাইস এবং অপারেটিং সিস্টেম Google লো লাইট বুস্ট সমর্থন করে কিনা তা পরীক্ষা করে। যদি না হয়, মডিউল ডাউনলোড করবেন না।

  • পদ্ধতি LowLightBoostClient.installModule() একটি Task অবজেক্ট প্রদান করে। আপনি সাফল্য এবং ব্যর্থ শ্রোতাদের সেট আপ করতে এই বস্তুটি ব্যবহার করুন.

  • ইনস্টল শেষ হলে, সফল শ্রোতা ক্যামেরা খুলে ইনস্টল যাচাই করে। স্নিপেটে, এটি openCamera() এ কল দিয়ে করা হয়। আপনাকে সেই পদ্ধতিটি নিজেই লিখতে হবে।

কম আলো বুস্ট সমর্থিত কিনা তা পরীক্ষা করুন

আপনার ক্লায়েন্ট হয়ে গেলে, অ্যাপটি যে ডিভাইসে চলছে সেটির দ্বারা কম আলোর বুস্ট সমর্থিত কিনা তা আপনি পরীক্ষা করতে পারেন। নিম্ন আলোর বুস্ট সমর্থিত কিনা তা নিম্নোক্ত কোড পরীক্ষা করে:

কোটলিন

launch {
  try {
    // Await the result of the Task in a non-blocking way
    val isSupported: Boolean = lowLightBoostClient
      .isCameraSupported(cameraId).await()
    Log.d(TAG, "isCameraSupported: $isSupported")
    if (isSupported) {
      // Create the low light boost session here
    }
  } catch (e: Exception) {
    Log.e(TAG, "isCameraSupported failed", e)
  }
}

জাভা

lowLightBoostClient
  .isCameraSupported(cameraId)
  .addOnSuccessListener(
    lowLightBoostExecutor,
    (isSupported) -> {
      Log.d(TAG, "isCameraSupported: " + isSupported);
      if (isSupported) {
        // Create the low light boost session here
      }
    )

এই কোড সম্পর্কে মূল পয়েন্ট

  • cameraId অন্য কোথাও তৈরি করা Camera2 ক্যামেরার আইডি বলে ধরে নেওয়া হয়।
  • LowLightBoostClient.isCameraSupported() Camera2 ক্যামেরা কম আলো বুস্ট সমর্থন করে কিনা তা পরীক্ষা করে। কিছু ক্ষেত্রে, একটি ডিভাইস কম আলোর বুস্ট সমর্থন করতে পারে কিন্তু এর একটি ক্যামেরা নাও পারে, তাই আপনাকে উভয়ই পরীক্ষা করতে হবে।
  • LowLightBoostClient.isCameraSupported() পদ্ধতিটি একটি Task অবজেক্ট প্রদান করে। আপনি সাফল্য এবং ব্যর্থ শ্রোতাদের সেট আপ করতে এই বস্তুটি ব্যবহার করুন. সফল শ্রোতার ভিতরে কম আলো বুস্ট সেশন তৈরি করুন