Wear OS 6-এ Watch Face Push নামে একটি নতুন API চালু করা হয়েছে, যা আরও উন্নত ওয়াচ ফেস পাবলিশিং ব্যবহারের সুযোগ তৈরি করে।
কখন ওয়াচ ফেস পুশ ব্যবহার করতে হবে তা শনাক্ত করুন
ওয়াচ ফেস পুশ হলো Wear OS-এর একটি এপিআই, যা ডেভেলপারকে সরাসরি ওয়াচ ফেস যোগ, আপডেট বা অপসারণ করার সুযোগ দেয়। সাধারণ ওয়াচ ফেস তৈরির জন্য এটির প্রয়োজন হয় না।
ওয়াচ ফেস পুশ-এর সাথে ব্যবহৃত ওয়াচ ফেস অবশ্যই ওয়াচ ফেস ফরম্যাট ব্যবহার করে তৈরি করতে হবে। এর মধ্যে ওয়াচ ফেস ডিজাইনার, ওয়াচ ফেস স্টুডিও বা ওয়াচ ফেস ফরম্যাট ব্যবহার করে এমন ওয়াচ ফেস তৈরি করে এমন অন্য যেকোনো টুল দিয়ে ডিজাইন করা ওয়াচ ফেস অন্তর্ভুক্ত থাকতে পারে।
যদিও ওয়াচ ফেস পুশ এপিআই বিভিন্ন উপায়ে ব্যবহার করা যেতে পারে, নিম্নলিখিত সারণিটি এর প্রধান ব্যবহারগুলো সম্পর্কে আপনাকে ধারণা দেবে:
| ব্যবহারের ক্ষেত্র | প্রস্তাবিত সমাধান | জটিলতা |
|---|---|---|
| আমি স্বতন্ত্র ওয়াচ ফেস তৈরি করে সেগুলো প্রকাশ করতে চাই। | সরাসরি অথবা ওয়াচ ফেস ডিজাইনার বা ওয়াচ ফেস স্টুডিও-এর মতো কোনো টুলের মাধ্যমে ওয়াচ ফেস ফরম্যাট ব্যবহার করে সেগুলোকে গুগল প্লে-তে প্রকাশ করুন। | নিম্ন |
| আমি এমন একটি ফোন অ্যাপ তৈরি করতে চাই, যার মাধ্যমে ব্যবহারকারীরা একটি নির্বাচিত সংগ্রহ থেকে ওয়াচ ফেস বেছে নিতে পারবেন, অথবা সরাসরি তাদের Wear OS ঘড়িতে ইনস্টল করার জন্য ওয়াচ ফেস ডিজাইন ও কাস্টমাইজ করতে পারবেন। | ঘড়ির ওয়াচ ফেস পুশ এপিআই (Watch Face Push API) ব্যবহার করে ঘড়ি এবং ফোন উভয়ের জন্য একটি অ্যাপ তৈরি করুন। | উচ্চ |
উদ্দেশ্য
ওয়াচ ফেস পুশ এপিআই-এর সবচেয়ে প্রচলিত ব্যবহার হলো একটি মার্কেটপ্লেস অ্যাপ তৈরি করা। এই অ্যাপ থেকে ব্যবহারকারীরা তাদের ফোনে থাকা একটি নির্বাচিত সংগ্রহ থেকে ওয়াচ ফেস বেছে নিতে পারেন এবং সরাসরি তাদের সংযুক্ত ঘড়িতে এই ওয়াচ ফেসগুলো ইনস্টল করার বিষয়টি নিয়ন্ত্রণ করতে পারেন।
বিবেচ্য বিষয়সমূহ
আপনার ওয়াচ ফেস তৈরি করার বিস্তারিত তথ্যের জন্য, ওয়াচ ফেস ফরম্যাট নির্দেশিকা দেখুন: ওয়াচ ফেস পুশ ব্যবহার করে ডেপ্লয় করা ওয়াচ ফেসগুলো সাধারণ ওয়াচ ফেস ফরম্যাটের ওয়াচ ফেস।
আপনার ওয়াচ ফেস তৈরি করার সময় নিম্নলিখিত বিষয়গুলো মনে রাখবেন।
প্যাকেজের নাম
ওয়াচ ফেস পুশ ব্যবহার করে ইনস্টল করা ওয়াচ ফেসগুলিকে অবশ্যই নিম্নলিখিত নিয়ম মেনে চলতে হবে:
<app name>.watchfacepush.<watchface name>
... যেখানে <app name> হলো সেই অ্যাপের প্যাকেজ নাম যা ওয়াচ ফেস পুশ এপিআই-কে কল করছে।
উদাহরণস্বরূপ, com.example.mymarketplace প্যাকেজ নামের একটি অ্যাপের জন্য, নিম্নলিখিতগুলি বৈধ ওয়াচ ফেস প্যাকেজ নাম:
-
com.example.mymarketplace.watchfacepush.watchface1 -
com.example.mymarketplace.watchfacepush.watchface2 -
com.example.mymarketplace.watchfacepush.another_watchface
যেসব ওয়াচ ফেস এই নিয়ম মেনে চলে না, এপিআই সেগুলো প্রত্যাখ্যান করে।
প্যাকেজের বিষয়বস্তু
সিস্টেমটি APK-এর বিষয়বস্তু কঠোরভাবে প্রয়োগ করে। প্রযুক্তিগতভাবে এমন ওয়াচ ফেস ফরম্যাট APK তৈরি করা সম্ভব, যেগুলিতে নিরীহ মেটাডেটা ফাইল এবং অন্যান্য অপ্রয়োজনীয় উপাদান থাকতে পারে, যা হয়তো গুগল প্লে-এর কাছে গ্রহণযোগ্য হতে পারে কিন্তু ওয়াচ ফেস পুশ ভ্যালিডেশন পাস করে না (নিচে দেখুন)।
প্রতিটি ওয়াচ ফেস APK-তে শুধুমাত্র নিম্নলিখিত ফাইল/পাথগুলো অবশ্যই থাকতে হবে:
-
/AndroidManifest.xml -
/resources.arsc -
/res/** -
/META-INF/**
এছাড়াও, AndroidManifest.xml ফাইলে শুধুমাত্র নিম্নলিখিত ট্যাগগুলো অবশ্যই থাকতে হবে:
-
<manifest> -
<uses-feature> -
<uses-sdk> -
<application> -
<property> -
<meta-data>
অবশেষে, প্যাকেজটিতে অবশ্যই কমপক্ষে 33 এর একটি minSdk নির্দিষ্ট করতে হবে এবং <application> ট্যাগে android:hasCode="false" অ্যাট্রিবিউটটি উল্লেখ করতে হবে।
বৈধতা
গুগল প্লে-এর মাধ্যমে বিতরণ করা সাধারণ ওয়াচ ফেসগুলোর থেকে ভিন্ন, মার্কেটপ্লেস অ্যাপটি প্রতিটি ওয়াচ ফেস পুশ ওয়াচ ফেস সুগঠিত ও কর্মক্ষম কিনা তা যাচাই করার দায়িত্বে থাকে।
ওয়াচ ফেস পুশ প্রতিটি ওয়াচ ফেসের গুণমান যাচাই করার জন্য নিম্নলিখিত যাচাইকরণ পরীক্ষাগুলো ব্যবহার করে:
- ওয়াচ ফেস পুশ এপিআই (Watch Face Push API)-এর মাধ্যমে ইনস্টল বা আপডেট করা সমস্ত ওয়াচ ফেসকে অবশ্যই ওয়াচ ফেস পুশ ভ্যালিডেশন টুলটি উত্তীর্ণ হতে হবে।
- এপিআই-এর সাথে ব্যবহারের জন্য ভ্যালিডেশন টোকেন তৈরি করতে শুধুমাত্র অফিসিয়াল ভ্যালিডেশন টুলটি ব্যবহার করুন।
- ভ্যালিডেশন চালানোর সময় ভ্যালিডেশন টুলটি অবশ্যই হালনাগাদ থাকতে হবে।
যে APK-টি পরিবর্তিত হয়নি, সেটি পুনরায় যাচাই করার প্রয়োজন নেই। ব্যবহৃত যাচাইকরণ টুলের সংস্করণ পুরোনো হয়ে গেলেও টোকেনগুলোর মেয়াদ শেষ হয় না।
একই সাথে, আমরা আপনাকে মাঝেমধ্যে যাচাইকরণটি পুনরায় চালানোর পরামর্শ দিই, কারণ ভ্যালিডেটরটি পর্যায়ক্রমে আপডেট করা হয়।
ভ্যালিডেটরটি চালান
ভ্যালিডেটরটি তিনটি রূপে পাওয়া যায়:
- একটি CLI টুল
- JVM-এর সাথে ব্যবহারের জন্য একটি লাইব্রেরি
- অ্যান্ড্রয়েডে ব্যবহারের জন্য একটি লাইব্রেরি
কমান্ড-লাইন ভ্যালিডেটর ব্যবহার
- গুগলের মেভেন রিপোজিটরি থেকে ভ্যালিডেটরটি সংগ্রহ করুন।
টুলটি নিম্নরূপে চালান:
java -jar validator-push-cli-1.0.0-alpha10.jar \ --apk_path=<your watch face>.apk \ --package_name=<your marketplace package name>সফল হলে, আউটপুটে একটি ভ্যালিডেশন টোকেন অন্তর্ভুক্ত থাকে, যা আপনাকে ওয়াচ ফেস যোগ বা আপডেট করার সময় ওয়াচ ফেস পুশ এপিআই-তে অবশ্যই সরবরাহ করতে হবে।
যদি কোনো ত্রুটি ঘটে, তাহলে আউটপুটে কোন নির্দিষ্ট চেকটি ব্যর্থ হয়েছে সে সম্পর্কে বিস্তারিত তথ্য অন্তর্ভুক্ত থাকে।
লাইব্রেরি ভ্যালিডেটর ব্যবহার
Google এবং Jitpack রিপোজিটরি অন্তর্ভুক্ত করুন। ভ্যালিডেটর লাইব্রেরিটি ব্যবহার করার জন্য উভয়ই আবশ্যক।
repositories { ... google() maven { url = uri("https://jitpack.io") content { includeGroup("com.github.xgouchet") } } }আপনার প্রজেক্টে ভ্যালিডেটর ডিপেন্ডেন্সিটি অন্তর্ভুক্ত করুন:
// For use on JVM implementation("com.google.android.wearable.watchface.validator:validator-push:1.0.0-alpha10") // For use on Android implementation("com.google.android.wearable.watchface.validator:validator-push-android:1.0.0-alpha10")ভ্যালিডেটরটি চালান:
এই লাইব্রেরিটি ব্যবহারের একটি উদাহরণের জন্য গিটহাব স্যাম্পলটি দেখুন। এছাড়াও পোর্টেবল অ্যাসেট কম্পাইলার কিট (প্যাক) লাইব্রেরিটি দেখুন, যা অ্যান্ড্রয়েড-ভিত্তিক ভ্যালিডেটরের সাথে ব্যবহারের জন্য ডিভাইসেই এপিকে (APK) তৈরি করতে উপযোগী।
APK সাইজ
APK ফাইলের আকার কমাতে ওয়াচ ফেস পুশ ওয়াচ ফেসগুলোর ক্ষেত্রে বিশেষ যত্ন নিন: ওয়াচ ফেস APK ফাইলটি সম্ভবত ফোন অ্যাপ থেকে ব্লুটুথের মাধ্যমে ওয়াচ অ্যাপে পাঠানো হয়, যা ধীরগতির হতে পারে।
অতিরিক্ত বড় একটি APK ফাইল ট্রান্সমিট হতে অনেকটা সময় নিতে পারে, যা ব্যবহারকারীর জন্য যেমন অসুবিধাজনক, তেমনি ব্যাটারিরও দ্রুত ক্ষয় ঘটায়।
- ইমেজ ফাইলের আকার ন্যূনতম রাখতে
pngquantমতো উপযুক্ত লাইব্রেরি ব্যবহার করুন।- আপনার ওয়াচ ফেস কালেকশন তৈরির প্রক্রিয়ায় এটি অন্তর্ভুক্ত করুন।
- আপনি যে স্কেলে ছবিটি ব্যবহার করবেন, তার জন্য এর মাত্রাগুলো উপযুক্ত কিনা তা যাচাই করে নিন।
- চারপাশের পটভূমি বাদ দেওয়ার জন্য ছবিগুলো যথাযথভাবে ক্রপ করা হয়।
- ফন্ট ফাইলের আকার কমান
- উদাহরণস্বরূপ, যদি আপনি শুধুমাত্র সময় দেখানোর জন্য
HH:MMফরম্যাটে একটি নির্দিষ্ট ফন্ট ব্যবহার করেন, তাহলে আপনিpyftsubsetএর মতো একটি টুল ব্যবহার করে ফন্ট ফাইলটিকে শুধুমাত্র প্রয়োজনীয় গ্লিফগুলোর মধ্যে সীমাবদ্ধ রাখতে পারেন। এর ফলে চূড়ান্ত ফন্ট ফাইল এবং APK-এর আকার উল্লেখযোগ্যভাবে কমে যেতে পারে। অন্যান্য ক্ষেত্রে ফন্ট ফাইলের আকার কমানোর বিস্তারিত তথ্যের জন্য এই ব্লগ পোস্টটি দেখুন ।
- উদাহরণস্বরূপ, যদি আপনি শুধুমাত্র সময় দেখানোর জন্য
APK ফাইলের আকার ন্যূনতম রাখার বিষয়ে আরও পরামর্শের জন্য মেমরি ব্যবহার অপ্টিমাইজ করার নির্দেশিকাটি দেখুন।
এপিকে স্বাক্ষর
একটি সাধারণ APK-এর মতো, আপনাকে আপনার সমস্ত ওয়াচ ফেস সাইন করতে হবে। আপনার মূল অ্যাপে ব্যবহৃত কী থেকে আলাদা একটি কী তৈরি করুন এবং আপনার সমস্ত ওয়াচ ফেসের জন্য সেই ভিন্ন কী-টি ব্যবহার করুন।
স্থাপত্য
সিস্টেমটির চারটি প্রধান উপাদান বিবেচনা করুন:
- ক্লাউড-ভিত্তিক স্টোরেজ : ক্যানোনিকাল মার্কেটপ্লেস অ্যাপে, আপনি আপনার ওয়াচ ফেসগুলো তৈরি করে ক্লাউডে সংরক্ষণ করেন, যা আপনার ব্যবহারকারীদের ব্যবহারের জন্য প্রস্তুত থাকে। ওয়াচ ফেসগুলোর নিম্নলিখিত বৈশিষ্ট্য রয়েছে:
- এগুলো সাধারণ ওয়াচ ফেস ফরম্যাটের APK হিসেবে আগে থেকেই তৈরি করা থাকে।
- প্রতিটি APK-তে শুধুমাত্র একটি ওয়াচ ফেস ফরম্যাট-ভিত্তিক ওয়াচ ফেস থাকে।
- এগুলো ওয়াচ ফেস পুশ ভ্যালিডেশন প্রক্রিয়ার মাধ্যমে যাচাই করা হয় এবং সংশ্লিষ্ট ভ্যালিডেশন টোকেনসহ সংরক্ষণ করা হয়।
- আপনার ফোন অ্যাপ প্রয়োজন অনুযায়ী সেগুলো সংগ্রহ করতে পারে।
- ফোন অ্যাপ : ফোন অ্যাপ হলো প্রধান মাধ্যম যার দ্বারা আপনার ব্যবহারকারীরা আপনার সিস্টেমের সাথে যোগাযোগ করে। এটি তাদেরকে নিম্নলিখিত কাজগুলো করতে দেয়:
- আপনার ওয়াচ ফেসের ক্যাটালগ ব্রাউজ করুন এবং অনুসন্ধান করুন।
- ঘড়িতে একটি ওয়াচ ফেস ইনস্টল বা প্রতিস্থাপন করুন।
- ওয়াচ অ্যাপ : ওয়াচ অ্যাপে সাধারণত কোনো উল্লেখযোগ্য ইউজার ইন্টারফেস থাকে না। এটি মূলত ফোন অ্যাপ এবং ওয়াচ ফেস পুশ এপিআই-এর মধ্যে একটি সেতুবন্ধন হিসেবে কাজ করে এবং এতে নিম্নলিখিত কার্যকারিতাগুলো থাকে:
- ওয়াচ ফেস পুশ এপিআই ব্যবহার করে ওয়াচ ফেস ইনস্টল/আপডেট বা প্রতিস্থাপন করা হয়।
- প্রয়োজনীয় অনুমতি চাওয়া এবং ব্যবহারকারীকে অবহিত করা
- একটি ডিফল্ট ওয়াচ ফেস প্রদান করা হচ্ছে
- সীমিত সংখ্যক ওয়াচ ফেস সরবরাহ করা হচ্ছে
- ফোন-ঘড়ির যোগাযোগ : সামগ্রিক অভিজ্ঞতার সাফল্যের জন্য ফোন এবং ঘড়ির অ্যাপের মধ্যে যোগাযোগ অত্যন্ত গুরুত্বপূর্ণ। Wear OS ডেটা লেয়ার API ব্যবহার করুন, যা নিম্নলিখিত বিষয়গুলোর সুযোগ দেয়:
- ইনস্টলেশন শনাক্তকরণ : Capabilities এবং
CapabilityClientব্যবহার করে, ফোন অ্যাপটি ওয়াচ অ্যাপের অনুপস্থিতি শনাক্ত করতে পারে এবং এর বিপরীতটিও সম্ভব। এরপর আপনি অনুপস্থিত ফর্মটি ইনস্টল করার জন্য প্লে স্টোরে একটি ইন্টেন্ট চালু করতে পারেন। - স্টেট ম্যানেজমেন্ট :
DataClientবাMessageClientব্যবহার করে আপনি ফোনটিকে ঘড়ির স্টেটের সাথে সিঙ্ক করে রাখতে পারেন, যেমন, সক্রিয় ওয়াচ ফেসের স্টেট সিঙ্ক্রোনাইজ করা। - APK প্রেরণ :
ChannelClientবাMessageClientব্যবহার করে ফোন থেকে ঘড়িতে APK পাঠান। - দূরবর্তী আহ্বান :
Messageclientব্যবহার করে, ফোনটি ঘড়িকে Watch Face Push API কল করার নির্দেশ দিতে পারে, উদাহরণস্বরূপ, একটি ওয়াচ ফেস ইনস্টল করার জন্য।
- ইনস্টলেশন শনাক্তকরণ : Capabilities এবং
আরও বিস্তারিত তথ্যের জন্য ডেটা লেয়ার এপিআই নির্দেশিকা দেখুন।