চীনের জন্য Wear OS অ্যাপ তৈরি করুন

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

গুগল প্লে পরিষেবার সঠিক সংস্করণটি ব্যবহার করুন

গুগল প্লে সার্ভিসেস সংস্করণ ১০.২.০ ফিউজড লোকেশন প্রোভাইডার এপিআই এবং ডেটা লেয়ার এপিআই- এর জন্য বিশ্বব্যাপী সমর্থন প্রদান করে। চীনে আরও বিস্তৃত পরিসরের Wear OS ডিভাইসের সমর্থন নিশ্চিত করতে, আপনি যদি এই এপিআইগুলো ব্যবহার করেন তবে আপনাকে অবশ্যই গুগল প্লে সার্ভিসেস-এর এই সংস্করণটি ব্যবহার করতে হবে। অন্যান্য ক্ষেত্রে এই নির্ভরতা ঐচ্ছিক।

দ্রষ্টব্য: যদিও গুগল প্লে পরিষেবাগুলিতে Wear OS অ্যাপের জন্য API রয়েছে, চীনের জন্য Wear OS অ্যাপগুলিকে GoogleApiClient সম্পর্কিত API ব্যবহার করা চালিয়ে যেতে হবে; Wearable API অ্যাক্সেস দেখুন।

ফিউজড লোকেশন প্রোভাইডার এপিআই

আপনি যদি ফিউজড লোকেশন প্রোভাইডার এপিআই (Fused Location Provider API) ব্যবহার করেন, তাহলে আপনার Wear OS মডিউলের build.gradle ফাইলে নিম্নলিখিত ডিপেন্ডেন্সিটি অন্তর্ভুক্ত করুন:

গ্রুভি

dependencies {
    ...
    implementation 'com.google.android.gms:play-services-location:10.2.0'
}

কোটলিন

dependencies {
    ...
    implementation("com.google.android.gms:play-services-location:10.2.0")
}

ডেটা লেয়ার এপিআই

আপনার অ্যাপ যদি ডেটা লেয়ার এপিআই (Data Layer API) ব্যবহার করে, তাহলে আপনার Wear OS মডিউলের build.gradle ফাইলে নিম্নলিখিত লাইনটি যোগ করতে হবে। এই লাইনটির জন্য ক্লায়েন্ট লাইব্রেরির 10.2.0 সংস্করণটি ব্যবহার করা আবশ্যক।

গ্রুভি

dependencies {
    ...
    implementation 'com.google.android.gms:play-services-wearable:10.2.0'
    ...
}

কোটলিন

dependencies {
    ...
    implementation("com.google.android.gms:play-services-wearable:10.2.0")
    ...
}

আপনার মোবাইল মডিউলের build.gradle ফাইলে নিম্নলিখিত লাইনটি যোগ করুন। Google Play services ডিপেন্ডেন্সিটি 10.2.0 ভার্সনের একটি রেফারেন্স দিয়ে প্রতিস্থাপন করুন।

গ্রুভি

dependencies {
    ...
    implementation 'com.google.android.gms:play-services-wearable:10.2.0'
}

কোটলিন

dependencies {
    ...
    implementation("com.google.android.gms:play-services-wearable:10.2.0")
}

প্রমাণীকরণ

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

আপনার যদি অথেনটিকেশনের প্রয়োজন হয়, তাহলে আমরা AndroidX Oauth লাইব্রেরি ব্যবহার করার পরামর্শ দিই। এর জন্য Authorization Code Grant with PKCE ফ্লো ব্যবহার করতে হবে। আপনি পরিধানযোগ্য ডিভাইসে অথেনটিকেশন অংশে বর্ণিত অন্য পদ্ধতিগুলোর মধ্যে একটিও ব্যবহার করতে পারেন। Wearable Support Library ব্যবহার করার পরামর্শ দেওয়া হয় না।

আরও তথ্যের জন্য, গিটহাবে Wear OS OAuth নমুনাটি দেখুন।

ব্রিজড নোটিফিকেশন

চীনে ব্রিজড নোটিফিকেশন সমর্থিত নয়। ফোনের নোটিফিকেশন শুধুমাত্র তখনই Wear OS-এ ব্রিজ হয়, যখন Wear OS ডিভাইসটি ব্লুটুথ ব্যবহার করে ফোনের সাথে সংযুক্ত থাকে।

অবস্থান এবং ম্যাপিং স্থানাঙ্কের সামঞ্জস্য

বিশ্বের বাকি অংশের মতোই, চীনে ব্যবহারকারীর অবস্থান শনাক্ত করতে FusedLocationProvider (FLP) ব্যবহার করুন। এটি নিশ্চিত করে যে, ঘড়ির হার্ডওয়্যার এবং যে ফোন প্ল্যাটফর্মের সাথে ঘড়িটি যুক্ত আছে, তা নির্বিশেষে আপনার অ্যাপটি সেরা তথ্য বিবেচনা করে। FLP ব্যবহার করলে ব্যাটারি অপটিমাইজেশনও যুক্ত হয়, যা Wear OS প্ল্যাটফর্মে অন্তর্নির্মিত থাকে।

তৃতীয় পক্ষের ম্যাপ SDK-এর সাথে FusedLocationProvider ইন্টিগ্রেট করার সময়, প্রোভাইডারদের মধ্যে স্থানাঙ্কের সামঞ্জস্যের বিষয়টি বিবেচনা করুন। FusedLocationProvider WGS84 স্ট্যান্ডার্ড অনুযায়ী অবস্থান রিপোর্ট করে। প্রয়োজন অনুসারে স্থানাঙ্ক সিস্টেম রূপান্তর করতে ভুলবেন না।

গুগল ফিট সমর্থন

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

ভয়েস অ্যাকশন সমর্থন

Wear OS প্ল্যাটফর্মটি ব্যবহারকারীর কার্যকলাপের উপর ভিত্তি করে বেশ কিছু ভয়েস ইন্টেন্ট প্রদান করে, যেমন _"হৃদস্পন্দন দেখাও"_ বা _"অ্যালার্ম সেট করো"_। এর মাধ্যমে ব্যবহারকারীরা কী করতে চান তা বলতে পারেন এবং সিস্টেমটি সেই অনুযায়ী সেরা কাজটি বেছে নেয়।

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

Wear OS প্ল্যাটফর্ম দ্বারা সমর্থিত ভয়েস ইনটেন্টগুলোর একটি তালিকা নিচে দেওয়া হলো:

বিভাগ উদাহরণ অভিপ্রায় স্পেক
গাড়ি ডাকা打车去三里屯পদক্ষেপ

com.google.android.gms.actions.RESERVE_TAXI_RESERVATION

অতিরিক্ত

to : স্বীকৃত গন্তব্য

অতিরিক্তটি ঐচ্ছিক।

অ্যালার্ম সেট করুন设置一个明早七点的闹钟পদক্ষেপ

android.intent.action.SET_ALARM

অতিরিক্ত

android.provider.AlarmClock.EXTRA_HOUR : অ্যালার্মের ঘন্টা নির্দেশক একটি পূর্ণসংখ্যা।

android.provider.AlarmClock.EXTRA_MINUTES : অ্যালার্মের মিনিটসহ একটি পূর্ণসংখ্যা

এই অতিরিক্ত বিষয়গুলো ঐচ্ছিক। এই অতিরিক্ত বিষয়গুলোর যেকোনো একটি, উভয়ই, অথবা কোনোটিই প্রদান করবেন না।

টাইমার সেট করুন设置一个三分钟的倒计时পদক্ষেপ

android.intent.action.SET_TIMER

অতিরিক্ত

android.provider.AlarmClock.EXTRA_LENGTH : ১ থেকে ৮৬৪০০ (২৪ ঘণ্টায় সেকেন্ডের সংখ্যা) পরিসরের একটি পূর্ণসংখ্যা, যা টাইমারের দৈর্ঘ্য নির্দেশ করে।

স্টপওয়াচ চালু করুন开始计时পদক্ষেপ

com.google.android.wearable.action.STOPWATCH

বাইক চালানো শুরু বা বন্ধ করুন开始骑车পদক্ষেপ

vnd.google.fitness.TRACK

মূকাভিনয়ের ধরন

vnd.google.fitness.activity/biking

অতিরিক্ত

actionStatus : একটি স্ট্রিং, যার মান শুরু করার সময় ActiveActionStatus এবং বন্ধ করার সময় CompletedActionStatus থাকে।

দৌড় শুরু বা বন্ধ করুন开始跑步পদক্ষেপ

vnd.google.fitness.TRACK

মূকাভিনয়ের ধরন

vnd.google.fitness.activity/running

অতিরিক্ত

actionStatus : একটি স্ট্রিং, যা শুরু করার সময় ActiveActionStatus এবং বন্ধ করার সময় CompletedActionStatus মান ধারণ করে।

ব্যায়াম শুরু বা বন্ধ করুন开始锻炼পদক্ষেপ

vnd.google.fitness.TRACK

মূকাভিনয়ের ধরন

vnd.google.fitness.activity/other

অতিরিক্ত

actionStatus : একটি স্ট্রিং, যা শুরু করার সময় ActiveActionStatus এবং বন্ধ করার সময় CompletedActionStatus মান ধারণ করে।

হৃদস্পন্দন দেখান在心率পদক্ষেপ

vnd.google.fitness.VIEW

মূকাভিনয়ের ধরন

vnd.google.fitness.data_type/com.google.heart_rate.bpm

ধাপ সংখ্যা দেখান在步数পদক্ষেপ

vnd.google.fitness.VIEW

মূকাভিনয়ের ধরন

vnd.google.fitness.data_type/com.google.step_count.cumulative

নেভিগেশন导航去三里屯পদক্ষেপ

android.intent.action.VIEW

ডেটা

geo:অক্ষাংশ,দ্রাঘিমাংশ?q=融科资讯中心

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

এমুলেটর সমর্থন

আপনার অ্যাপগুলো পরীক্ষা করার জন্য আপনি Wear OS এমুলেটর ইমেজের চায়না সংস্করণটি ব্যবহার করতে পারেন। এটি Android Studio 3.0 এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত।

এমুলেটরের চায়না সংস্করণে আপনার অ্যাপগুলো পরীক্ষা করতে, এই ধাপগুলো অনুসরণ করুন:

  1. অ্যান্ড্রয়েড এমুলেটরটি ইনস্টল করুন।
  2. SDK ম্যানেজার থেকে চীনের জন্য Wear OS ইমেজগুলো ডাউনলোড করুন। Wear OS 3.5 (API লেভেল 30) সংস্করণটি ব্যবহার করুন।
  3. AVD প্রোফাইল তৈরি করার সময় Wear OS for China ইমেজটি নির্বাচন করুন।
  4. ডেভেলপমেন্টের জন্য Wear OS for China এমুলেটরটি চালান।
  5. চিত্র ১. Wear OS এমুলেটরের চীনা সংস্করণের উদাহরণসমূহ।

Wear OS এমুলেটরের এই সংস্করণটিতে বেশ কিছু আগে থেকে ইনস্টল করা অ্যাপ রয়েছে:

  • অ্যাম্বিয়েন্ট মোড
  • যোগাযোগ
  • গুগল হস্তাক্ষর ইনপুট
  • গুগল প্লে পরিষেবা
  • Wear OS-এর জন্য স্বাস্থ্য পরিষেবা
  • LE ডিভাইসগুলির জন্য হটওয়ার্ড শনাক্তকরণ
  • পিনয়িন
  • প্লে স্টোর (চীনের ডিভাইসগুলির জন্য অভিযোজিত)
  • পকেটঘড়ি
  • টকব্যাক
  • ওয়াচফেস (অ্যানালগ এবং ডিজিটাল উভয় সংস্করণ)
  • ওয়্যার কোর সার্ভিসেস

অ্যাপ-নির্দিষ্ট ব্লুটুথ এবং ওয়াই-ফাই চ্যানেল চালু করুন

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

যদি কোনো অ্যাপ চীনে একটি অ্যাপ-নির্দিষ্ট ব্লুটুথ এবং ওয়াই-ফাই চ্যানেলের জন্য অনুরোধ করে, তবে অনুরোধটি নীরবে ব্যর্থ হয়। এর পরিবর্তে, ব্যবহারকারীর কাছে নিশ্চিতকরণের জন্য একটি ডায়ালগ বক্স প্রদর্শিত হয়। ব্যবহারকারী নিশ্চিত করলে, চ্যানেলটি খুলে যায়। এটি কেবল প্রথমবার ব্যবহারের সময় নয়, প্রতিবারই ঘটে। BluetoothAdapter.enable() অথবা WifiManager.setEnabled(true) কল করা হয়।

দ্রষ্টব্য: Android 10 (API লেভেল 29) বা তার উচ্চতর সংস্করণকে লক্ষ্য করে তৈরি কোনো অ্যাপকে WifiManager.setEnabled() কল করতে হলে, সেটিকে অবশ্যই একটি সিস্টেম অ্যাপ অথবা একটি ডিভাইস পলিসি কন্ট্রোলার (DPC) হতে হবে।

অনুমতি পর্যালোচনা মোড

চীনে, Wear OS for China ডিভাইসগুলো Permission Review Mode-এ চলে, যা 23-এর কম targetApiLevel যুক্ত অ্যাপ ব্যবহারের উপর কিছু সীমাবদ্ধতা আরোপ করে। নিম্নলিখিত সীমাবদ্ধতাগুলো পর্যালোচনা করুন:

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

ফলস্বরূপ, আমরা আপনাকে targetApiLevel 23 বা তার বেশি ব্যবহার করার এবং অ্যাপ পারমিশনের সর্বোত্তম অনুশীলনগুলি অনুসরণ করার পরামর্শ দিই।

অন্যান্য গুগল প্লে পরিষেবা এপিআই ব্যবহার করুন

আপনার অ্যাপ যদি Wearable API ছাড়া Google Play পরিষেবা API ব্যবহার করে, তাহলে রানটাইমের সময় এই API-গুলো ব্যবহারের জন্য উপলব্ধ আছে কিনা তা আপনার অ্যাপকে যাচাই করতে হবে এবং সেই অনুযায়ী সাড়া দিতে হবে। Google Play পরিষেবা API-গুলোর প্রাপ্যতা যাচাই করার দুটি উপায় রয়েছে:

  1. অন্যান্য এপিআই-এর সাথে সংযোগ করার জন্য একটি পৃথক GoogleApiClient ইনস্ট্যান্স ব্যবহার করুন। এই ইন্টারফেসে সংযোগের সাফল্য বা ব্যর্থতা সম্পর্কে আপনার অ্যাপকে সতর্ক করার জন্য কলব্যাক রয়েছে। সংযোগ ব্যর্থ হলে, ConnectionResultAPI_UNAVAILABLE দেখানো হয়। সংযোগ ব্যর্থতা কীভাবে সামাল দিতে হয় তা জানতে, "Access Google APIs" দেখুন।
  2. প্রয়োজনীয় API-গুলোর সাথে সংযোগ করতে GoogleApiClient.Builder এর addApiIfAvailable() মেথডটি ব্যবহার করুন। onConnected() কলব্যাকটি ফায়ার হওয়ার পর, অনুরোধ করা প্রতিটি API সঠিকভাবে সংযুক্ত হয়েছে কিনা তা নিশ্চিত করতে hasConnectedApi() মেথডটি ব্যবহার করুন।

চীনে অ্যাপ বিতরণ করুন

চীনের Wear OS ব্যবহারকারীদের কাছে কার্যকরভাবে পৌঁছানোর জন্য, আপনি নিম্নলিখিতগুলির মতো তৃতীয় পক্ষের Wear OS অ্যাপ স্টোরগুলির মাধ্যমে বিতরণ করতে পারেন: