আপনার অ্যাপের জন্য বিদ্যুতের ব্যবহার অপ্টিমাইজ করুন

এই ডকুমেন্ট থেকে আপনি জানতে পারবেন যে Navigation SDK ব্যবহার করে তৈরি করা মোবাইল নেভিগেশন অ্যাপে কীভাবে ব্যাটারির চার্জ বাঁচানো যায়। একই সাথে, এই পদ্ধতিগুলি ব্যবহার করার সময় বিবেচনা করার জন্য ট্রেড-অফগুলি বর্ণনা করে। বিশেষ করে, এই ডকুমেন্টে নিম্নলিখিত বিষয়গুলি কভার করা হয়েছে:

  • বেশি পাওয়ার খরচ করে এমন সোর্স, সবচেয়ে বেশি থেকে সবচেয়ে কম হিসেবে র‍্যাঙ্ক করা হয়েছে।
  • ব্যাটারি খরচ অপ্টিমাইজ করার কৌশল, গুরুত্বের ক্রম অনুসারে, ফ্রেম রেট দিয়ে শুরু।
  • নেভিগেট করার সময় কীভাবে ডিভাইস ব্যবহার ম্যানেজ করতে হয় সেই বিষয়ে আপনার অ্যাপ ব্যবহারকারীদের শেখানোর জন্য ব্যবহারকারী-ভিত্তিক কৌশল।

আপনার নেভিগেশন অ্যাপ কেন অপ্টিমাইজ করবেন?

পরিস্থিতির উপর নির্ভর করে, আপনার অ্যাপ ব্যবহারকারীরা দীর্ঘ সময়ের জন্য নেভিগেশন নির্দেশিকা চালাতে পারে। যেমন, ড্রাইভার ও ডেলিভারি কুরিয়ার দীর্ঘ সময় ধরে কাজ করতে পারেন, অপরিচিত এলাকায় অ্যাসাইনমেন্ট সম্পূর্ণ করতে পারেন। এইসব ক্ষেত্রে, তারা ইন-অ্যাপ এক এক করে নির্দেশনার উপর অনেক বেশি নির্ভর করে। এর ফলে কিছু সাধারণ সমস্যা দেখা দেয়:

  • ব্যাটারির চার্জ শেষ হয়ে যাওয়া এবং চার্জারের উপলভ্যতা। নেভিগেশন বেশি ব্যবহার করলে ডিভাইসের ব্যাটারি প্রত্যাশার চেয়ে দ্রুত শেষ হয়ে যেতে পারে। অনেক ব্যবহারকারী গাড়িতে ডিভাইস চার্জ করে এই সমস্যার সমাধান করতে পারলেও, দু-চাকার গাড়ির চালকরা তা পারেন না।
  • গরম হওয়ার কারণে ডিভাইসের পারফর্ম্যান্স কমে যাওয়া। এমনকি যেসব ব্যবহারকারী একটানা তাদের ডিভাইস চার্জ করেন, তারাও সমস্যার সম্মুখীন হতে পারেন। দীর্ঘ সময় ধরে বেশি পাওয়ার ব্যবহার করলে ডিভাইস গরম হয়ে যেতে পারে, যার ফলে থার্মাল থ্রটলিং এবং পারফর্ম্যান্সের ক্ষতি হতে পারে।

ধাপে ধাপে নেভিগেশন অ্যাপ স্ক্রিন, জিপিএস এবং সেল টাওয়ারের সাথে রেডিও কমিউনিকেশনের মতো বেশি ব্যাটারি খরচ করে এমন ফিচারের উপর নির্ভর করে, তাই আপনার মোবাইল অ্যাপের ব্যাটারি ব্যবহার অপ্টিমাইজ করা একটি ভালো অভ্যাস। এছাড়াও, আপনার টার্গেট অডিয়েন্সের ব্যাটারি ব্যবহারের প্রয়োজনীয়তা বিবেচনা করা উচিত যাতে আপনি পারফর্ম্যান্স এবং ব্যাটারি খরচ অপ্টিমাইজ করার মধ্যে উপযুক্ত ট্রেড-অফ করতে পারেন।

কোনটি সবচেয়ে বেশি বিদ্যুৎ খরচ করে?

এই বিভাগটি বেশি পাওয়ার খরচ করে এমন ইন-অ্যাপ অ্যাক্টিভিটিকে দুটি ভাগে ভাগ করে:

  • স্ক্রিন রেন্ডারিং
  • লোকেশন আপডেট

স্ক্রিন রেন্ডারিং

মোবাইল নেভিগেশন অ্যাপে স্ক্রিন রেন্ডারিংয়ের জন্য সাধারণত সবচেয়ে বেশি বিদ্যুৎ খরচ হয়। প্রতিবার ডিভাইস স্ক্রিনে ম্যাপ এবং অন্যান্য UI এলিমেন্ট দেখানোর সময়, এটি GPU এবং CPU প্রসেসিংয়ের উপর নির্ভর করে। একইভাবে, ব্যবহারকারী দীর্ঘ সময় ধরে স্ক্রিন চালু রাখলে, তাতেও বেশি বিদ্যুৎ খরচ হয়।

কিছু ক্ষেত্রে, ড্রাইভার বা রাইডারদের থেকে বেশি পাওয়ার খরচ আশা করতে পারেন যারা নেভিগেট করার জন্য একটি দৃশ্যমান ম্যাপের উপর নির্ভর করেন, বিশেষ করে যদি তারা একটানা অনেক ঘন্টা অ্যাপটি ব্যবহার করেন। এই পরিস্থিতিতে, অ্যাপটি স্ক্রিনে আরও বেশি হারে রেন্ডার করে, কারণ ম্যাপটি তখন রিয়েল টাইমে আপডেট হয়। কিছু ক্ষেত্রে, স্ক্রিন প্রায় একটানা রিড্র হতে পারে, বিশেষ করে যখন ব্যবহারকারী এক লোকেশন থেকে অন্য লোকেশনে না থেমে ড্রাইভ করেন।

লোকেশন আপডেট

স্ক্রিন রেন্ডারিং ছাড়াও, আরও দুটি নেভিগেশন অ্যাক্টিভিটি ডিভাইসের পাওয়ার খরচ করে:

  • রেডিও সেল টাওয়ার ও জিপিএস ব্যবহার
  • লোকেশন আপডেট ও শেয়ারিং, যেমন ETA প্রদান করা বা ফ্লিটে থাকা কোনও গাড়ির পজিশন সম্পর্কে রিপোর্ট করা।

জিপিএস এবং সেল রেডিও কমিউনিকেশন, দুটিই বেশি ব্যাটারি খরচ করে এমন স্টার্ট-আপ অপারেশনের উপর নির্ভর করে: জিপিএস-কে স্যাটেলাইট খুঁজে পেতে হবে এবং সেল রেডিওকে টাওয়ারের সাথে নেগোশিয়েট করে কানেকশন তৈরি করতে হবে। এইসব কারণে, নেভিগেশনের সময় এগুলি মূলত একটানা চলতে থাকে, যদিও স্টার্ট আপ খরচ কমানোর জন্য সেল রেডিও ২০-৩০ সেকেন্ডের জন্য অ্যাক্টিভ থাকে। অপারেটিং সিস্টেম এইসব সেটিংস নিয়ন্ত্রণ করে যা আপনি অ্যাপে সহজে কনফিগার করতে পারবেন না।

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

আপনার অ্যাপের পাওয়ার ব্যবহার অপ্টিমাইজ করা

নেভিগেশন অ্যাপে ব্যাটারির ব্যবহার অপ্টিমাইজ করার ক্ষেত্রে চ্যালেঞ্জ হল, এই অ্যাপগুলি ব্যাটারি বেশি খরচ করে এমন রিসোর্সের উপর অনেক বেশি নির্ভর করে, যার ফলে স্ক্রিনের ব্যবহার সীমিত করার মতো ট্রেড-অফ না করে প্রভাব কমানোর জন্য আপনার বিকল্পগুলি সীমিত হয়ে যায়। এই বিভাগে আপনার অ্যাপ অপ্টিমাইজ করার সময় আপনি যেসব পদ্ধতি অবলম্বন করতে পারেন তার একটি তালিকা দেওয়া হয়েছে, সবচেয়ে বেশি থেকে সবচেয়ে কম প্রভাবশালী পদ্ধতি অনুযায়ী সাজানো হয়েছে।

ফ্রেম রেট পরিবর্তন করা

স্ক্রিন তার কন্টেন্ট আপডেট করে, যা ফ্রেম রেট নামে পরিচিত, সাধারণত প্রতি সেকেন্ডে ফ্রেম (FPS) হিসেবে পরিমাপ করা হয়। স্ক্রিন রেন্ডারিংয়ের জন্য প্রচুর CPU ও GPU প্রসেসিংয়ের প্রয়োজন হয়, তাই আপনি ফ্রেম রেট কমিয়ে ব্যাটারি বাঁচাতে পারেন।

ফ্রেম রেট কমালে, ম্যাপ রেন্ডারিং এবং ইন্টার‍্যাক্টিভ জেসচার (যেমন প্যানিং, জুম করা বা ঘোরানো) কম মসৃণ বলে মনে হতে পারে। রেসপন্সিভ ব্যবহারকারীর অভিজ্ঞতার সাথে পাওয়ারের কার্যকারিতা ব্যালেন্স করতে, আপনি একটি কম বেসলাইন ফ্রেম রেট রাখতে পারেন এবং ব্যবহারকারীর অ্যাক্টিভ ইন্টার‍্যাকশনের সময় এটি ডায়নামিকভাবে বুস্ট করতে পারেন।

iOS ডিভাইসে, iOS-এর জন্য Maps SDK ফ্রেম রেট নিয়ন্ত্রণ করতে GMSMapView-এ preferredFrameRate প্রপার্টি দেখায়। নিচের সারণীতে আপনি অ্যাডজাস্ট করতে পারবেন এমন GMSFrameRate ভ্যালু দেখানো হয়েছে:

সুইফ্ট ভ্যালু Objective-C ভ্যালু বিবরণ
.powerSave kGMSFrameRatePowerSave ব্যাটারির ব্যবহার কমাতে ন্যূনতম ফ্রেম রেট ব্যবহার করুন।
.conservative kGMSFrameRateConservative আরও মসৃণ রেন্ডারিং প্রদান করতে এবং প্রসেসিং সাইকেল সংরক্ষণ করতে মিডিয়ান ফ্রেম রেট ব্যবহার করুন।
.maximum kGMSFrameRateMaximum কোনও ডিভাইসের জন্য সর্বাধিক ফ্রেম রেট ব্যবহার করুন (কম-ক্ষমতাসম্পন্ন ডিভাইসের জন্য ৩০ FPS, বেশি-ক্ষমতাসম্পন্ন ডিভাইসের জন্য ৬০ FPS)।

রেফারেন্সের জন্য, iOS-এর জন্য Navigation SDK-তে GMSFrameRate দেখুন ডকুমেন্টেশন।

সরাসরি পছন্দের ফ্রেম রেট সেট করতে, mapView.preferredFrameRate-এ একটি ভ্যালু অ্যাসাইন করুন:

Swift

// Reduce the frame rate to conserve battery:
mapView.preferredFrameRate = .powerSave

Objective-C

// Reduce the frame rate to conserve battery:
mapView.preferredFrameRate = kGMSFrameRatePowerSave;

জেসচার চলাকালীন ফ্রেম রেট ডায়নামিক্যালি অ্যাডজাস্ট করুন

ফ্রেম রেট কম হলে ব্যবহারকারীর ইন্টার‍্যাকশন (যেমন প্যানিং, জুমিং ও ঘোরানো) চপি বলে মনে হতে পারে। আপনি বিদ্যুৎ সাশ্রয় করার সময় ইন্টার‍্যাকশন মসৃণ রাখতে পারেন। ইউজার জেসচারের সময় সাময়িকভাবে ফ্রেম রেট সর্বাধিক করে, তারপর জেসচার শেষ হলে বিদ্যুৎ সাশ্রয়কারী ফ্রেম রেটে ফিরে যান।

এটি করতে, GMSMapViewDelegate প্রোটোকল গ্রহণ করুন এবং নিম্নলিখিত পদ্ধতিগুলি প্রয়োগ করুন:

  1. mapView:willMove:-এ, ক্যামেরা সরানোর কাজটি কোনও ইউজার জেসচারের মাধ্যমে শুরু করা হয়েছে কিনা তা চেক করুন। gesture যদি true হয়, তাহলে preferredFrameRate সর্বাধিক সেট করুন।
  2. mapView:idleAtCameraPosition:-এ, ক্যামেরা আইডল হয়ে গেলে preferredFrameRate-কে পাওয়ার-সেভিং মোডে ফিরিয়ে আনুন।

নিম্নলিখিত কোডের উদাহরণ থেকে বোঝা যায় যে ইউজার জেসচারের সময় কীভাবে ফ্রেম রেট ডায়নামিকভাবে অ্যাডজাস্ট করা যায়:

Swift

class YourViewController: UIViewController {

  @IBOutlet weak var mapView: GMSMapView!

  override func viewDidLoad() {
    super.viewDidLoad()
    mapView.delegate = self

    // Set a baseline low frame rate to conserve power:
    mapView.preferredFrameRate = .powerSave
  }
}

// MARK: - GMSMapViewDelegate
extension YourViewController: GMSMapViewDelegate {
  func mapView(_ mapView: GMSMapView, willMove gesture: Bool) {
    // Increase frame rate during user gestures for smooth interaction:
    if gesture {
      mapView.preferredFrameRate = .maximum
    }
  }

  func mapView(_ mapView: GMSMapView, idleAt position: GMSCameraPosition) {
    // Restore the power-saving frame rate when gestures finish:
    mapView.preferredFrameRate = .powerSave
  }
}

Objective-C

@interface YourViewController : UIViewController <GMSMapViewDelegate>
@end

@implementation YourViewController {
  GMSMapView *_mapView;
}

- (void)viewDidLoad {
  [super viewDidLoad];
  _mapView.delegate = self;

  // Set a baseline low frame rate to conserve power:
  _mapView.preferredFrameRate = kGMSFrameRatePowerSave;
}

#pragma mark - GMSMapViewDelegate

- (void)mapView:(GMSMapView *)mapView willMove:(BOOL)gesture {
  // Increase frame rate during user gestures for smooth interaction:
  if (gesture) {
    mapView.preferredFrameRate = kGMSFrameRateMaximum;
  }
}

- (void)mapView:(GMSMapView *)mapView
    idleAtCameraPosition:(GMSCameraPosition *)position {
  // Restore the power-saving frame rate when gestures finish:
  mapView.preferredFrameRate = kGMSFrameRatePowerSave;
}

@end

ব্যবহারকারী কীভাবে তার ডিভাইসের স্ক্রিনের উজ্জ্বলতা সেট করবেন বা কতক্ষণ স্ক্রিন চালু রাখবেন তা আপনি নিয়ন্ত্রণ করতে পারবেন না, তবে আপনি ম্যাপ ছাড়াই নেভিগেশন নির্দেশনার বিকল্প প্রদান করতে পারেন। এটি ব্যবহারকারীকে পাওয়ার সাশ্রয় করার জন্য সেই বিকল্প বেছে নেওয়ার অনুমতি দেবে। যেমন, ড্রাইভাররা যদি নিয়মিত একই এলাকায় কাজ করেন, তাহলে তাদের ম্যাপ-ভিত্তিক নির্দেশনার প্রয়োজন নাও হতে পারে। Navigation SDK-তে গন্তব্য সেট করে এবং গাইডেন্স শুরু করে ম্যাপ ছাড়াই নেভিগেশন চালু করা যেতে পারে, তবে ম্যাপ দেখানো হবে না।

GMSMapView লুকানোর জন্য কোডের একটি লাইন যোগ করুন:

mapView.isHidden = true

Navigation SDK, রোড স্ন্যাপ করা লোকেশন, ETA এবং বাকি থাকা যাত্রার দূরত্ব আপডেট করা চালিয়ে যাবে এবং আপনার অ্যাপ এখনও সব SDK-এর মাধ্যমে উত্থাপিত ইভেন্ট সাবস্ক্রাইব করতে পারবে, কারণ ড্রাইভার এগিয়ে চলেছে। এটি সব ক্ষেত্রে প্রযোজ্য নয় এবং যেসব ক্ষেত্রে ড্রাইভারকে ম্যাপ দেখতে হয় এবং ভিজ্যুয়াল নির্দেশিকা অনুসরণ করতে হয় সেখানে এটি ভাল পরামর্শ নয়। অ্যাক্টিভ নেভিগেশনের সময় ম্যাপ ভিউ টগল করার পাশাপাশি তুলনা নিম্নলিখিত স্ক্রিনশটে দেখানো হয়েছে।

ম্যাপ ভিউ দেখা যাচ্ছে এমন ডেমো অ্যাপ চলছে।
ছবি ১.Navigation SDK iOS ডেমো অ্যাপ ডেটা ব্যাক ডেমো
দেখাচ্ছে
কোনও ম্যাপ ভিউ না দেখিয়ে ডেমো অ্যাপ চলছে।
ছবি ২.ম্যাপ ভিউ দেখা না গেলেও ডেমো অ্যাপ চলছে। মনে রাখবেন, বাকি সময় ও দূরত্ব এবং রাস্তার সাথে স্ন্যাপ করা লোকেশন এখনও আপডেট করা হচ্ছে।

ডার্ক ম্যাপ স্টাইল ব্যবহার করুন

স্ক্রিনে ম্যাপ রেন্ডার করার জন্য প্রয়োজনীয় শক্তির পরিমাণ কমাতে, ডার্ক থিম ব্যবহার করার জন্য ম্যাপ স্টাইল করার কথা বিবেচনা করুন।

Navigation SDK, iOS-এর জন্য Google Maps SDK ব্যবহার করে ম্যাপ রেন্ডার করে, যাতে আপনার অ্যাপে যেকোনও নন-নেভিগেশন ম্যাপ ভিউ স্টাইল করার বিকল্প থাকে। নেভিগেশন ভিউতে ডার্ক মোড চালু করার সুবিধাও আছে। স্ক্রিনের ধরন আলাদা হওয়ার কারণে এটি প্রতিটি ডিভাইসে একই রকম প্রভাব নাও ফেলতে পারে, তবে কিছু ক্ষেত্রে সম্ভাব্য পাওয়ার সাশ্রয়ের অনুমতি দেয়। একটি সাম্প্রতিক সমীক্ষায় দেখা গেছে যে কিছু স্ক্রিনে ডার্ক মোড কতটা পাওয়ার সাশ্রয় করে তা নির্ভর করে স্ক্রিনটি চালু করার সময় কতটা উজ্জ্বল ছিল তার উপর। যেমন, স্ক্রিনের ব্রাইটনেস ৩০-৫০% সেট করা থাকলে ডার্ক মোড যতটা ব্যাটারি সাশ্রয় করে, স্ক্রিনের ব্রাইটনেস সম্পূর্ণ সেট করা থাকলে তার চেয়ে বেশি ব্যাটারি সাশ্রয় করে। আপনার অ্যাপের জন্য ডার্ক মোড ব্যবহার করার সময় এটি বিবেচনা করা গুরুত্বপূর্ণ, কারণ ব্যবহারকারী তার স্ক্রিনের উজ্জ্বলতা কীভাবে সেট করেন তার উপর নির্ভর করে বিদ্যুৎ সাশ্রয় হবে।

নেভিগেশন UI পরিবর্তন করার ব্যাপারে আরও জানতে, নেভিগেশন UI পরিবর্তন করুন লিঙ্কটি দেখুন।

iPhone 15 Pro-তে ডার্ক ম্যাপ স্টাইল সহ নেভিগেশন SDK চলছে।
ছবি ৩.ডার্ক ম্যাপ স্টাইলের সাথে কনফিগার করা Navigation SDK
আপনার প্রোজেক্টে সংজ্ঞায়িত ক্লাউড-ভিত্তিক ম্যাপ স্টাইল দেখায় এমন mapID-এর সাথে আপনার GMSMapView কনফিগার করুন।

ক্লাউড-ভিত্তিক ম্যাপ স্টাইলিংয়ের জন্য একটি ম্যাপ আইডি প্রয়োজন যা আপনার Google Console প্রোজেক্টে তৈরি করা সার্ভার-সাইড ম্যাপ কনফিগারেশনকে উপস্থাপন করে। ম্যাপ আইডি তৈরি করার ব্যাপারে আরও তথ্য পেতে, ম্যাপ আইডি ডেভেলপার ডকুমেন্টেশন দেখুন। ক্লাউড-ভিত্তিক ম্যাপ স্টাইল ডিজাইন ও ডিপ্লয় করার ব্যাপারে আরও জানতে, ক্লাউড-ভিত্তিক ম্যাপ স্টাইল তৈরি ও ম্যানেজ করা সম্পর্কিত ডেভেলপার ডকুমেন্টেশন দেখুন।

জিপিএস লোকেশন আপডেট করার ফ্রিকোয়েন্সি পরিবর্তন করুন

ডিভাইস থেকে পাঠানো লোকেশন আপডেট থেকে পাওয়ারের ব্যবহার বিবেচনা করার সময়, ট্রান্সমিশনে পাঠানো ডেটার পরিমাণের চেয়ে লোকেশন আপডেটের ফ্রিকোয়েন্সির উপর বেশি ফোকাস করুন।

এটি এমন কিছু নয় যা আপনি সরাসরি Navigation SDK -এ নিয়ন্ত্রণ করতে পারবেন। জিপিএস ছাড়া অন্যান্য লোকেশন সোর্স (সেল ও ওয়াই-ফাই) ব্যবহার করার ক্ষেত্রেও একই পরামর্শ প্রযোজ্য।

আপনার ব্যবহারকারীদের শেখান

আপনার অ্যাপের ব্যবহারকারীরা হয়ত জানতে চাইবেন যে কীভাবে তাদের ব্যাটারি খরচ অপ্টিমাইজ করা যায়। অ্যাপে বিদ্যুৎ খরচ কমাতে সাহায্য করার জন্য, আপনার ব্যবহারকারীদের নিম্নলিখিত কাজগুলি করতে পরামর্শ দিন:

  • ফোন লক করুন
  • নেভিগেশন অ্যাপ ব্যাকগ্রাউন্ডে রাখুন
  • সম্ভব হলে ম্যাপ ছাড়াই নেভিগেশন ব্যবহার করুন
  • OLED ও AMOLED স্ক্রিনের জন্য ডার্ক মোড ব্যবহার করে অথবা পরিবেশের আলো অনুযায়ী উজ্জ্বলতা ফিচার চালু করে স্ক্রিনের উজ্জ্বলতা কমানো
  • ডিভাইসটি ঠান্ডা রাখুন
  • গাড়ির ওয়াই-ফাই উপলভ্য থাকলে তার সাথে কানেক্ট করুন

বিদ্যুতের ব্যবহার পরিমাপ করা

আপনি বিদ্যুৎ খরচ পরিমাপ করার জন্য পেশাদার-গ্রেডের টুল ব্যবহার করতে পারেন, তবে সেগুলি পাওয়া প্রায়শই কঠিন বা ব্যয়বহুল। অ্যাপ এবং IDE প্রোফাইলিং টুল যেমন Android Studio-তে পাওয়ার প্রোফাইলার এবং XCode অর্গানাইজারে ব্যাটারি ব্যবহারের প্যানেল বিদ্যুৎ খরচ পরিমাপ করে, কিন্তু ব্যাকগ্রাউন্ড প্রসেসের প্রভাব সরানো বা পরিমাপ করার জন্য পারফর্ম্যান্স বেসলাইন সেট করা কঠিন হতে পারে। কিছু ক্ষেত্রে, ডিভাইস সংক্রান্ত বিধিনিষেধের কারণে প্রয়োজনীয় ডেটা অ্যাক্সেস করা নাও যেতে পারে।

আপনি বিশেষ উদ্দেশ্যে পাওয়ার মনিটর করার হার্ডওয়্যার ব্যবহার করতে এবং ব্যাটারি কানেকশন কনফিগারেশন পরিবর্তন করতে পারবেন এবং এটি করার জন্য বাণিজ্যিক প্রোডাক্ট ও পরিষেবা উপলভ্য আছে। মনে রাখবেন যে এইভাবে ডিভাইস পরিবর্তন করলে ডিভাইসের ওয়ারেন্টি বাতিল হয়ে যেতে পারে।