স্বতন্ত্র বনাম নন-স্ট্যান্ডেলোন Wear OS অ্যাপ

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

আপনার অ্যাপের পরিকল্পনা করুন

আপনি একই অ্যাপ্লিকেশন তালিকার অধীনে প্রতিটি ব্যবহারকারীর ডিভাইস কনফিগারেশনের জন্য স্বয়ংক্রিয়ভাবে অপ্টিমাইজ করা Android প্যাকেজ কিট (APKs) তৈরি করতে Android App Bundle ব্যবহার করতে পারেন। এটি ব্যবহারকারীদের আপনার অ্যাপ চালানোর জন্য প্রয়োজনীয় কোড এবং সংস্থানগুলি ডাউনলোড করতে দেয়৷

Google Play স্টোরের মাধ্যমে বিতরণের জন্য আপনার অ্যাপ সেট-আপ করার বিষয়ে তথ্যের জন্য, Wear OS অ্যাপের প্যাকেজ এবং বিতরণ এবং Android অ্যাপ বান্ডেলের সাথে শুরু করার নির্দেশিকা দেখুন।

নতুন অ্যাপের জন্য, টার্গেট API লেভেল 30 বা তার বেশি হতে হবে। আরও তথ্যের জন্য, Google Play এর লক্ষ্য API স্তরের প্রয়োজনীয়তা পূরণ করুন। আপনার অ্যাপ লেটেস্ট প্ল্যাটফর্ম সংস্করণে ভালোভাবে কাজ করে কিনা তা নিশ্চিত করতে সহায়তার জন্য targetSdkVersion API লেভেল 30 (ওয়্যার ওএস 3) এ সেট করুন।

নেটওয়ার্ক অনুরোধ এবং উচ্চ-ব্যান্ডউইথ নেটওয়ার্ক অ্যাক্সেস সম্পর্কে তথ্যের জন্য, Wear OS-এ নেটওয়ার্ক অ্যাক্সেস এবং সিঙ্ক দেখুন।

Wear OS অ্যাপ হিসেবে একটি অ্যাপকে সংজ্ঞায়িত করুন

আপনার অ্যাপের Android ম্যানিফেস্ট ফাইলে আপনাকে অবশ্যই <uses-feature> ট্যাগটি সংজ্ঞায়িত করতে হবে। এটি একটি ঘড়ি অ্যাপ যে নির্দেশ করতে, নিম্নলিখিত মত একটি এন্ট্রি যোগ করুন:

  <manifest>
  ...
  <uses-feature android:name="android.hardware.type.watch" />
  ...
  </manifest>
  

একটি অ্যাপকে স্বতন্ত্র বা অ-স্বতন্ত্র হিসাবে চিহ্নিত করুন

একটি ঘড়ি অ্যাপকে স্বতন্ত্র বা অ-স্বতন্ত্র বলে মনে করা হয়:

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

দ্রষ্টব্য: এমনকি নন-স্ট্যান্ডঅ্যালোন অ্যাপের জন্যও, ব্যবহারকারীরা মোবাইল অ্যাপের আগে Wear OS অ্যাপ ইনস্টল করতে পারেন। তাই যদি আপনার Wear OS অ্যাপ শনাক্ত করে যে কাছাকাছি কোনো হ্যান্ডহেল্ড ডিভাইসে প্রয়োজনীয় সঙ্গী অ্যাপের অভাব রয়েছে, তাহলে ব্যবহারকারীকে সঙ্গী অ্যাপ ইনস্টল করতে বলুন।

Google অ্যাপ পরিবেশনের সময় একটি অ্যাপের স্বতন্ত্র অবস্থার যথার্থতা যাচাই করে। এই মানটি অপরিবর্তিত ডিভাইসগুলিতে প্লে স্টোরের মধ্যে অ্যাপগুলির দৃশ্যমানতাকে প্রভাবিত করে, যেমন Wear OS ডিভাইসগুলি হ্যান্ডহেল্ড ডিভাইসগুলির সাথে যুক্ত নয়৷ নন-স্ট্যান্ডঅ্যালোন অ্যাপ্লিকেশানগুলি — সেইসাথে যে অ্যাপগুলিকে ডেভেলপাররা ভুলভাবে "স্ট্যান্ডএলোন" হিসাবে মনোনীত করেছেন—সেগুলি এই আনটিথারড ডিভাইসগুলিতে ব্যবহারকারীদের জন্য উপলব্ধ নয়৷

আপনার Wear OS অ্যাপে, অ্যান্ড্রয়েড ম্যানিফেস্ট ফাইলে meta-data উপাদান com.google.android.wearable.standalone এর মান সেট করুন আপনার অ্যাপটি স্বতন্ত্র নাকি অ-স্বতন্ত্র তা ঘোষণা করতে।

যদি আপনার ঘড়ি অ্যাপটি একটি সম্পূর্ণ স্বাধীন, স্বতন্ত্র অ্যাপ হয়, তাহলে com.google.android.wearable.standalone এর মান true সেট করে Google Play স্টোরে এটি নির্দেশ করুন:

<application>
...
  <meta-data
    android:name="com.google.android.wearable.standalone"
    android:value="true" />
...
</application>

যদি আপনার ঘড়ি অ্যাপটি অ-স্বতন্ত্র হয় এবং মূল বৈশিষ্ট্যগুলির জন্য অন্য অ্যাপের উপর নির্ভর করে, তাহলে com.google.android.wearable.standalone এর মান false সেট করুন। এটি নির্দেশ করে যে ঘড়ি অ্যাপটির জন্য অন্য ডিভাইসের প্রয়োজন, কিন্তু Google Play স্টোরে আপনার অ্যাপ প্রচারকে প্রভাবিত করে না।

দ্রষ্টব্য: com.google.android.wearable.standalone এর মান false হলেও, ফোন অ্যাপ ইনস্টল করার আগে ঘড়ি অ্যাপ ইনস্টল করা যেতে পারে। তাই, যদি আপনার ঘড়ি অ্যাপটি শনাক্ত করে যে একটি সহচর ফোনে প্রয়োজনীয় ফোন অ্যাপের অভাব রয়েছে, যেমন এই পৃষ্ঠায় বর্ণনা করা হয়েছে, ব্যবহারকারীকে ফোন অ্যাপ ইনস্টল করার জন্য অনুরোধ করুন।

ভাগ করা কোড এবং ডেটা স্টোরেজ

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

ঐচ্ছিকভাবে, একটি ফর্ম ফ্যাক্টরের জন্য নির্দিষ্ট কোড একটি পৃথক মডিউলে থাকতে পারে।

আপনি স্থানীয়ভাবে ডেটা সঞ্চয় করতে স্ট্যান্ডার্ড অ্যান্ড্রয়েড স্টোরেজ API ব্যবহার করতে পারেন, যেমন আপনি ফোনে করেন। উদাহরণস্বরূপ, আপনি SharedPreferences API বা Room persistence লাইব্রেরি ব্যবহার করতে পারেন।

অন্য ডিভাইসে আপনার অ্যাপ শনাক্ত করুন

আপনার ঘড়ি অ্যাপ্লিকেশন এবং সংশ্লিষ্ট ফোন অ্যাপ্লিকেশন প্রতিটি অন্য অ্যাপ্লিকেশন উপলব্ধ কিনা সনাক্ত করতে পারে.

আপনার ফোন এবং ঘড়ি অ্যাপগুলি একটি জোড়া ডিভাইসে তাদের উপস্থিতির বিজ্ঞাপন দিতে CapabilityClient ব্যবহার করতে পারে। তারা স্থিতিশীল বা গতিশীলভাবে করতে পারে।

যখন একটি অ্যাপ ব্যবহারকারীর Wear OS নেটওয়ার্কের একটি নোডে থাকে, যেমন একটি ফোনে, জোড়া ঘড়িতে বা ক্লাউডে, তখন CapabilityClient অন্য অ্যাপগুলিকে এটি সনাক্ত করতে দেয়৷ আরও তথ্যের জন্য, বিজ্ঞাপনের ক্ষমতা দেখুন।

যদি আপনার একটি অ্যাপ অন্যটিকে সনাক্ত করতে না পারে তবে আপনি ব্যবহারকারীকে প্রভাবিত ডিভাইসে প্লে স্টোর তালিকা খুলতে অনুরোধ করতে পারেন। এটি ঘড়ি অ্যাপগুলির জন্য একটি সমাধান যেগুলির সঠিকভাবে কাজ করার জন্য তাদের সহচর ফোন অ্যাপের উপস্থিতি প্রয়োজন৷

ডিভাইসে প্লে স্টোর উপলব্ধ কিনা তা আপনাকে অবশ্যই পরীক্ষা করতে হবে, কারণ সমস্ত ফোন—যেমন আইফোন—প্লে স্টোর সমর্থন করে না৷

নিম্নলিখিত বিভাগগুলি দুটি পরিস্থিতির জন্য সর্বোত্তম অনুশীলন বর্ণনা করে:

  • আপনার স্বতন্ত্র ঘড়ি অ্যাপ্লিকেশন আপনার ফোন অ্যাপ্লিকেশন প্রয়োজন.
  • আপনার ফোন অ্যাপের জন্য আপনার স্বতন্ত্র ঘড়ি অ্যাপের প্রয়োজন।

আপনি Datalayer সাহায্যকারীর নমুনাও পর্যালোচনা করতে পারেন, যা দেখায় কিভাবে Datalayer সাহায্যকারী লাইব্রেরি ব্যবহার করতে হয়, Horologist- এর অংশ। এই সাহায্যকারীরা আপনাকে একটি হ্যান্ডহেল্ড ডিভাইস এবং একটি Wear OS ডিভাইসের মধ্যে সংযোগ নিরীক্ষণ করতে দেয়। নিম্নলিখিত বিভাগে বর্ণিত ক্লাস সম্পর্কে আরও তথ্যের জন্য, Wear OS API রেফারেন্স দেখুন। সেই রেফারেন্সটিতে PhoneTypeHelper ক্লাস সম্পর্কিত তথ্যও রয়েছে, যেটিতে একটি getPhoneDeviceType() পদ্ধতি রয়েছে যা আপনার Wear OS অ্যাপটিকে একটি সহচর ফোন একটি Android বা iOS ডিভাইস কিনা তা পরীক্ষা করতে দেয়।

আপনার অ্যাপ্লিকেশানগুলি সনাক্ত করার জন্য ক্ষমতার নামগুলি নির্দিষ্ট করুন৷

প্রতিটি ডিভাইসের প্রকারের সাথে সংশ্লিষ্ট অ্যাপের জন্য, হয় ঘড়ি বা ফোন, res/values/wear.xml ফাইলে সক্ষমতার নামের জন্য একটি অনন্য স্ট্রিং নির্দিষ্ট করুন।

উদাহরণস্বরূপ, আপনার মোবাইল মডিউলে, wear.xml ফাইলে নিম্নলিখিতগুলি অন্তর্ভুক্ত থাকতে পারে:

<resources xmlns:tools="http://schemas.android.com/tools"
        tools:keep="@array/android_wear_capabilities">
    <string-array name="android_wear_capabilities">
        <item>verify_remote_example_phone_app</item>
    </string-array>
</resources>

আপনার Wear OS মডিউলে, wear.xml ফাইলে সক্ষমতার নামের জন্য একটি ভিন্ন মান রয়েছে, যেমন নিম্নলিখিত:

<resources xmlns:tools="http://schemas.android.com/tools"
        tools:keep="@array/android_wear_capabilities">
    <string-array name="android_wear_capabilities">
        <item>verify_remote_example_wear_app</item>
    </string-array>
</resources>

আরও তথ্যের জন্য, বিজ্ঞাপনের ক্ষমতা দেখুন।

একটি ঘড়ি থেকে অ্যাপ সনাক্তকরণ এবং একটি URL খোলা

আপনার ঘড়ি অ্যাপ ব্যবহারকারীর সহচর ফোনে আপনার ফোন অ্যাপ আছে কিনা তা শনাক্ত করতে পারে। এই পদক্ষেপগুলি অনুসরণ করুন:

  1. আপনার ফোন অ্যাপ পেয়ার করা ফোনে ইনস্টল করা আছে কিনা তা পরীক্ষা করতে CapabilityClient ব্যবহার করুন। আরও তথ্যের জন্য, GitHub-এ Datalayer সহায়ক নমুনা দেখুন।
  2. যদি আপনার ফোন অ্যাপটি ফোনে ইনস্টল করা না থাকে, তাহলে ফোনের ধরন পরীক্ষা করতে PhoneDeviceType.getPhoneDeviceType() পদ্ধতি ব্যবহার করুন। বিস্তারিত জানার জন্য নিম্নলিখিত বিভাগ দেখুন.
  3. যদি PhoneDeviceType.DEVICE_TYPE_ANDROID ফেরত দেওয়া হয়, ফোনটি একটি Android ফোন। ফোনে প্লে স্টোর খুলতে Wear OS ডিভাইসে RemoteActivityHelper.startRemoteActivity() এ কল করুন। আপনার ফোন অ্যাপের জন্য বাজারের URI ব্যবহার করুন, যা আপনার Wear অ্যাপের URI থেকে আলাদা হতে পারে। উদাহরণস্বরূপ, একটি বাজার URI ব্যবহার করুন যেমন: market://details?id=com.example.android.wearable.wear.finddevices
  4. যদি PhoneDeviceType.DEVICE_TYPE_IOS ফেরত দেওয়া হয়, তাহলে ফোনটি একটি iOS ফোন যেখানে প্লে স্টোর উপলব্ধ নেই৷ Wear OS ডিভাইসে RemoteActivityHelper.startRemoteActivity() কল করে iPhone-এ অ্যাপ স্টোর খুলুন। আপনি আপনার অ্যাপের iTunes URL নির্দিষ্ট করতে পারেন, যেমন https://itunes.apple.com/us/app/yourappname

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

দ্রষ্টব্য : ঘড়ি থেকে ফোনে যে কোনও URL খোলা হবে এবং কোনও ফোন অ্যাপের প্রয়োজন নেই তা নির্দিষ্ট করতে পূর্বে বর্ণিত RemoteActivityHelper API ব্যবহার করুন৷

পেয়ার করা ফোনের ধরন শনাক্ত করার জন্য বিশদ বিবরণ

এখানে একটি স্নিপেট রয়েছে যা getPhoneDeviceType() পদ্ধতি ব্যবহার করে ফোনের ধরণটি পরীক্ষা করে যা ঘড়িটি জোড়া হয়েছে:

কোটলিন

var phoneDeviceType: Int = PhoneDeviceType.getPhoneDeviceType(context)

জাভা

int phoneDeviceType = PhoneDeviceType.getPhoneDeviceType(context);

getPhoneDeviceType() পদ্ধতি দ্বারা প্রত্যাবর্তিত মান নিম্নলিখিতগুলির মধ্যে একটি:

রিটার্ন মান বর্ণনা
DEVICE_TYPE_ANDROID সঙ্গী ফোনটি একটি অ্যান্ড্রয়েড ডিভাইস।
DEVICE_TYPE_IOS সঙ্গী ফোনটি একটি iOS ডিভাইস।
DEVICE_TYPE_UNKNOWN সঙ্গী ফোন একটি অজানা ডিভাইস।
DEVICE_TYPE_ERROR পেয়ার করা ফোনের ধরন নির্ধারণে একটি ত্রুটি ঘটেছে; আরেকটি চেক পরে করা উচিত.

একটি অ্যান্ড্রয়েড ফোন থেকে শুরু করে অ্যাপ সনাক্তকরণ

আপনার Android ফোন ব্যবহারকারীর Wear OS ডিভাইসে আপনার ঘড়ি অ্যাপ আছে কিনা তা শনাক্ত করতে পারে। এই পদক্ষেপগুলি অনুসরণ করুন:

  1. NodeClient ব্যবহার করে, ব্যবহারকারীর ফোনের সাথে সংযুক্ত সমস্ত ঘড়ি খুঁজুন। আরও তথ্যের জন্য, GitHub-এ Datalayer সহায়ক নমুনা দেখুন।
  2. CapabilityClient ব্যবহার করে, ব্যবহারকারীর কোন ঘড়িতে আপনার অ্যাপ ইনস্টল করা আছে তা পরীক্ষা করুন।
  3. আপনার অ্যাপটি ব্যবহারকারীর সমস্ত ঘড়িতে ইনস্টল না থাকলে, ব্যবহারকারীকে RemoteActivityHelper.startRemoteActivity() পদ্ধতি ব্যবহার করে ফোন থেকে অবশিষ্ট Wear OS ডিভাইসে Play Store খুলতে দিন। Wear OS অ্যাপের জন্য বাজারের URI ব্যবহার করুন, যা আপনার ফোন অ্যাপের URI থেকে আলাদা হতে পারে। উদাহরণস্বরূপ, একটি বাজার URI ব্যবহার করুন যেমন: market://details?id=com.example.android.wearable.wear.finddevices

iPhones-এর সাথে জোড়া ঘড়ির লোকেশন ডেটা

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

সঙ্গী ফোন উপলব্ধ থাকলে, FLP লোকেশন ডেটার জন্য সঙ্গী ফোন ব্যবহার করে।

শুধুমাত্র প্রয়োজনীয় তথ্য প্রাপ্ত

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

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

  • অতিরিক্ত ডেটার জন্য আপনার নেটওয়ার্ক অনুরোধ এবং প্রতিক্রিয়া অডিট করুন যা শুধুমাত্র একটি ফোন অ্যাপের জন্য প্রয়োজন।
  • আপনি একটি ঘড়িতে একটি নেটওয়ার্কের মাধ্যমে পাঠানোর আগে বড় ছবিগুলি সঙ্কুচিত করুন৷

যে ক্ষেত্রে একটি উচ্চ-ব্যান্ডউইথ নেটওয়ার্ক প্রয়োজন, উচ্চ-ব্যান্ডউইথ নেটওয়ার্ক অ্যাক্সেস দেখুন।

অতিরিক্ত কোড নমুনা

Datalayer সাহায্যকারীর নমুনা এই পৃষ্ঠায় কভার করা API-এর ব্যবহার আরও প্রদর্শন করে।