প্রোডাক্ট সংক্রান্ত খবর

ওয়াচফেস পুশের মাধ্যমে Wear OS-এ Androidify নিয়ে আসা

৩ মিনিট রিডিং
Garan Jenkin-এর প্রোফাইল দেখুন
Garan Jenkin ডেভেলপার রিলেশনস ইঞ্জিনিয়ার

 

 

কয়েক মাস আগে আমরা Androidify আবার লঞ্চ করেছি, এটি পছন্দমতো Android বট তৈরি করার অ্যাপ। Androidify Gemini ও Imagen ব্যবহার করে আপনার সেলফি ফটোকে একটি মজাদার Android বটে ট্রান্সফর্ম করে।

তবে, Android-এর একাধিক ফর্ম ফ্যাক্টর রয়েছে, যার মধ্যে আমাদের সবচেয়ে সাম্প্রতিক সংযোজন হল XR, তাই আমরা ভেবেছিলাম, কীভাবে Androidify-এর মজা Wear OS-এ নিয়ে আসা যায়?

Androidify ওয়াচফেস

Androidify বটগুলি অত্যন্ত ব্যক্তিগতকৃত হওয়ায়, সেগুলি দেখানোর স্বাভাবিক জায়গা হল ঘড়ির ফেস। এটি শুধু সবচেয়ে বেশি দেখা সারফেসই নয়, এটি সবচেয়ে ব্যক্তিগত সারফেসও, যা আপনাকে নিজের পরিচয় তুলে ধরতে সাহায্য করে।

demonstration.gif

সেলফি ছবি থেকে জেনারেট করা, পছন্দমতো Androidify ওয়াচফেস

Androidify এখন ফোন অ্যাপের মধ্যে ডাইনামিকভাবে ওয়াচফেস তৈরি করতে পারে এবং তারপরে এটি আপনার ঘড়িতে পাঠাতে পারে, যেখানে এটি অটোমেটিক আপনার ওয়াচফেস হিসেবে সেট হয়ে যাবে। এইসব কিছু কয়েক সেকেন্ডের মধ্যেই হয়ে যায়!

হাই-লেভেল ডিজাইন

image.png

ওয়াচফেস তৈরি ও ইনস্টল করার জন্য শুরু থেকে শেষ পর্যন্ত ফ্লো

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

প্রথমে, ব্যবহারকারীর অবতার আগে থেকে থাকা Watch Face Format টেমপ্লেটের সাথে একত্রিত করা হয়, যা পরে APK-তে প্যাকেজ করা হয়। এটি যাচাই করা হয়েছে - কারণগুলি ব্যাখ্যা করা হবে! - এবং স্মার্টওয়াচে পাঠানো হয়েছে।

স্মার্টওয়াচে রিসিভ করার পরে, নতুন Watch Face Push API - Wear OS 6-এর অংশ - ওয়াচফেস ইনস্টল ও অ্যাক্টিভেট করতে ব্যবহার করা হয়।

আসুন, বিস্তারিত জেনে নেওয়া যাক:

ওয়াচফেস টেমপ্লেট তৈরি করা

ওয়াচফেসটি একটি টেমপ্লেট থেকে তৈরি করা হয়েছে, যা নিজেই ওয়াচফেস ডিজাইনার-এ ডিজাইন করা হয়েছে। এটি আমাদের নতুন Figma প্লাগ-ইন যা আপনাকে সরাসরি Figma-এর মধ্যে Watch Face Format ওয়াচফেস তৈরি করতে দেয়।

image.png

ওয়াচফেস ডিজাইনারে Androidify ওয়াচফেস টেমপ্লেট

প্লাগ-ইনটি ওয়াচফেসকে বিভিন্ন উপায়ে এক্সপোর্ট করার অনুমতি দেয়, যার মধ্যে Watch Face Format (WFF) রিসোর্সও অন্তর্ভুক্ত। চূড়ান্ত ওয়াচফেস ডায়নামিক্যালি তৈরি করার জন্য, এগুলি সহজেই Androidify অ্যাপের মধ্যে অ্যাসেট হিসেবে অন্তর্ভুক্ত করা যেতে পারে।

প্যাকেজিং ও যাচাইকরণ

টেমপ্লেট ও অবতার একত্রিত করা হয়ে গেলে, Portable Asset Compiler Kit (Pack) ব্যবহার করে APK অ্যাসেম্বল করা হয়।

Androidify-তে, প্যাককে ফোনে নেটিভ লাইব্রেরি হিসেবে ব্যবহার করা হয়। Androidify কীভাবে Pack লাইব্রেরির সাথে ইন্টারফেস করে সেই সম্পর্কে আরও জানতে, GitHub রিপোজিটরি দেখুন।

ট্রান্সমিশনের আগে শেষ ধাপ হিসেবে, ওয়াচফেস পুশ ভ্যালিডেটর APK চেক করে।

এই ভ্যালিডেটর চেক করে দেখে যে APK ইনস্টল করার জন্য উপযুক্ত কিনা। এর মধ্যে APK-এর কন্টেন্ট চেক করা অন্তর্ভুক্ত যাতে এটি একটি সঠিক ওয়াচফেস কিনা তা নিশ্চিত করা যায়, এর পাশাপাশি কিছু পারফর্ম্যান্স চেকও করা হয়। এটি সঠিক হলে, ভ্যালিডেটর একটি টোকেন তৈরি করে।

ইনস্টল করার জন্য ঘড়িতে এই টোকেন প্রয়োজন।

ওয়াচফেস পাঠানো হচ্ছে

Wear OS-এ Androidify অ্যাপ WearableListenerService ব্যবহার করে Wearable ডেটা লেয়ারে ইভেন্ট শোনার জন্য।

ফোন অ্যাপ ওয়াচ ফেস ট্রান্সফার করে প্রসেস সেট-আপ করার জন্য MessageClient এবং APK স্ট্রিম করার জন্য ChannelClient একসাথে ব্যবহার করে।

স্মার্টওয়াচে ওয়াচফেস ইনস্টল করা হচ্ছে

Wear OS ডিভাইসে ওয়াচফেস পাওয়া গেলে, Androidify অ্যাপ ওয়াচফেস ইনস্টল করার জন্য নতুন ওয়াচফেস পুশ API ব্যবহার করে:

val wfpManager = 

    WatchFacePushManagerFactory.createWatchFacePushManager(context)

val response = wfpManager.listWatchFaces()



try {

    if (response.remainingSlotCount > 0) {

        wfpManager.addWatchFace(apkFd, token)

    } else {

        val slotId = response.installedWatchFaceDetails.first().slotId

        wfpManager.updateWatchFace(slotId, apkFd, token)

    }

} catch (a: WatchFacePushManager.AddWatchFaceException) {

    return WatchFaceInstallError.WATCH_FACE_INSTALL_ERROR

} catch (u: WatchFacePushManager.UpdateWatchFaceException) {

    return WatchFaceInstallError.WATCH_FACE_INSTALL_ERROR

}

Androidify, পরিস্থিতির উপর নির্ভর করে addWatchFace বা updateWatchFace পদ্ধতি ব্যবহার করে: ওয়াচফেস পুশ "স্লট" সংক্রান্ত ধারণা সংজ্ঞায়িত করে - কোনও নির্দিষ্ট অ্যাপ যেকোনও সময় কতগুলি ওয়াচফেস ইনস্টল করতে পারে। Wear OS 6-এর জন্য, এই ভ্যালু আসলে ১।

Androidify-এর পদ্ধতি হল, কোনও ফ্রি স্লট থাকলে ওয়াচফেস ইনস্টল করা এবং না থাকলে, আগে থেকে থাকা কোনও ওয়াচফেসের সাথে নতুনটি সোয়্যাপ করা।

অ্যাক্টিভ ওয়াচফেস সেট করা হচ্ছে

প্রোগ্রাম্যাটিক্যালি ওয়াচফেস ইনস্টল করা একটি দারুণ পদক্ষেপ, তবে Androidify নিশ্চিত করতে চায় যে ওয়াচফেসটি অ্যাক্টিভ ওয়াচফেসও। 

ওয়াচফেস পুশ একটি নতুন রানটাইম অনুমতি চালু করে যা অ্যাপকে এটি করতে দেওয়ার জন্য অবশ্যই মঞ্জুর করতে হবে:

com.google.wear.permission.SET_PUSHED_WATCH_FACE_AS_ACTIVE

এই অনুমতি পাওয়ার পরে, ইনস্টল করা ওয়াচফেসকে অ্যাক্টিভ ওয়াচফেস হিসেবে সেট করার জন্য wfpManager.setWatchFaceAsActive() পদ্ধতি কল করা যেতে পারে।

তবে, Androidify-কে বেশ কিছু বিষয় বিবেচনা করতে হয়:

  • setWatchFaceAsActive শুধু একবারই ব্যবহার করা যায়।
  • ব্যবহারকারী SET_PUSHED_WATCH_FACE_AS_ACTIVE-এর অনুরোধ বাতিল করে দিলে, আবার অনুরোধ করা যাবে না।
  • Androidify-এর কাছে আগে থেকেই অ্যাক্টিভ ওয়াচফেসের কন্ট্রোল থাকতে পারে।

আরও তথ্যের জন্য Androidify কীভাবে সেট অ্যাক্টিভ লজিক প্রয়োগ করে তা দেখুন।

Wear OS-এর জন্য ওয়াচফেস পুশ ব্যবহার শুরু করা

ওয়াচফেস পুশ হল একটি বহুমুখী API, যা Androidify উন্নত করার জন্য এবং সম্পূর্ণ ফিচারযুক্ত ওয়াচফেস মার্কেটপ্লেস তৈরি করার জন্য সমানভাবে উপযুক্ত।

আপনার কি আগে থেকেই কোনও ফোন অ্যাপ আছে এবং আপনি কি ব্যবহারকারীদের আরও বেশি এনগেজ ও আনন্দিত করার সুযোগ খুঁজছেন?

অথবা আপনি হয়ত আগে থেকেই ওয়াচ ফেস ডেভেলপার হিসেবে কাজ করছেন এবং মার্কেটপ্লেস অ্যাপ রিলিজ করার মাধ্যমে নিজের কমিউনিটি ও গ্যালারি তৈরি করতে চাইছেন?

এইসব রিসোর্স দেখুন:

এছাড়াও, আমরা কীভাবে Androidify-কে Wear OS-এ নিয়ে এসেছি তা আরও গভীরভাবে জানতে সাথে দেওয়া ভিডিও দেখুন!

ওয়াচফেস পুশ ব্যবহার করে আপনি কী তৈরি করবেন তা দেখার জন্য আমরা অধীর আগ্রহে অপেক্ষা করছি!

লিখেছেন:
পড়া চালিয়ে যান