ঘড়ি ফেস পুশ

Wear OS 6 একটি নতুন API, ওয়াচ ফেস পুশ প্রবর্তন করেছে, যা আরও উন্নত ওয়াচ ফেস প্রকাশনা ব্যবহারের ক্ষেত্রে সুযোগ তৈরি করে।

কখন ওয়াচ ফেস পুশ ব্যবহার করবেন তা শনাক্ত করুন

ওয়াচ ফেস পুশ হল Wear OS-এর একটি API যা ডেভেলপারকে সরাসরি ওয়াচ ফেস যোগ, আপডেট বা অপসারণ করতে দেয়। স্ট্যান্ডার্ড ওয়াচ ফেস ডেভেলপমেন্টের জন্য এটির প্রয়োজন হয় না।

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

যদিও ওয়াচ ফেস পুশ এপিআই সম্ভাব্যভাবে বিভিন্ন উপায়ে ব্যবহার করা যেতে পারে, নিম্নলিখিত টেবিলটি আপনাকে প্রধান ব্যবহারের ক্ষেত্রে নির্দেশনা দেয়:

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

উদ্দেশ্য

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

বিবেচনা

আপনার ঘড়ির মুখ তৈরির বিশদ বিবরণের জন্য, ঘড়ির মুখের ফর্ম্যাট নির্দেশিকাটি দেখুন: ওয়াচ ফেস পুশ ব্যবহার করে মোতায়েন করা ঘড়ির মুখগুলি হল নিয়মিত ঘড়ির মুখের ফর্ম্যাট ঘড়ির মুখ।

আপনার ওয়াচফেস তৈরি করার সময়, নিম্নলিখিত বিবেচ্য বিষয়গুলি মনে রাখবেন।

প্যাকেজের নাম

ওয়াচ ফেস পুশ ব্যবহার করে ইনস্টল করা ওয়াচ ফেসগুলি নিম্নলিখিত নিয়ম মেনে চলতে হবে:

<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

API সেইসব ঘড়ির মুখ প্রত্যাখ্যান করে যা এই কনভেনশনের সাথে সঙ্গতিপূর্ণ নয়।

প্যাকেজের সূচিপত্র

সিস্টেমটি APK বিষয়বস্তু কঠোরভাবে প্রয়োগ করে। প্রযুক্তিগতভাবে এমন ওয়াচ ফেস ফর্ম্যাট APK তৈরি করা সম্ভব যেখানে নিরীহ মেটাডেটা ফাইল এবং অন্যান্য শিল্পকর্ম থাকে, যা Google Play-তে গ্রহণযোগ্য হতে পারে কিন্তু ওয়াচ ফেস পুশ যাচাইকরণ পাস করে না (নীচে দেখুন)।

প্রতিটি ওয়াচফেস 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" বৈশিষ্ট্যটি উল্লেখ করতে হবে।

বৈধতা

গুগল প্লে-এর মাধ্যমে বিতরণ করা নিয়মিত ওয়াচফেসের বিপরীতে, মার্কেটপ্লেস অ্যাপটি প্রতিটি ওয়াচ ফেস পুশ ওয়াচফেসটি সুগঠিত এবং কার্যক্ষম কিনা তা যাচাই করার জন্য দায়ী।

ওয়াচ ফেস পুশ প্রতিটি ওয়াচফেসের মান যাচাই করার জন্য নিম্নলিখিত যাচাইকরণ পরীক্ষাগুলি ব্যবহার করে:

  1. ওয়াচ ফেস পুশ এপিআই-এর মাধ্যমে ইনস্টল করা বা আপডেট করা সমস্ত ওয়াচ ফেসকে ওয়াচ ফেস পুশ ভ্যালিডেশন টুল পাস করতে হবে।
  2. API-এর সাথে ব্যবহারের জন্য বৈধতা টোকেন তৈরি করতে শুধুমাত্র অফিসিয়াল বৈধতা সরঞ্জাম ব্যবহার করুন।
  3. যাচাইকরণ চালানোর সময় যাচাইকরণ সরঞ্জামটি অবশ্যই আপ-টু-ডেট থাকতে হবে।
  4. পরিবর্তন না করা APK পুনরায় যাচাই করার প্রয়োজন নেই। ব্যবহৃত যাচাইকরণ সরঞ্জামের সংস্করণটি বাতিল হয়ে গেলেও টোকেনগুলির মেয়াদ শেষ হয় না।

    একই সাথে, আমরা আপনাকে মাঝে মাঝে যাচাইকরণটি পুনরায় চালানোর পরামর্শ দিচ্ছি, কারণ যাচাইকারী পর্যায়ক্রমে আপডেট করা হয়।

যাচাইকারী চালান

ভ্যালিডেটর তিনটি রূপে পাওয়া যায়:

  • একটি CLI টুল
  • JVM-এর সাথে ব্যবহারের জন্য একটি লাইব্রেরি
  • অ্যান্ড্রয়েডে ব্যবহারের জন্য একটি লাইব্রেরি

কমান্ড-লাইন ভ্যালিডেটর ব্যবহার

  1. গুগলের ম্যাভেন রিপোজিটরি থেকে ভ্যালিডেটরটি পান।
  2. টুলটি নিম্নরূপ চালান:

    java -jar validator-push-cli-1.0.0-alpha07.jar \
        --apk_path=<your watch face>.apk \
        --package_name=<your marketplace package name>
    

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

    যদি কোনও ত্রুটি দেখা দেয়, তাহলে আউটপুটে কোন নির্দিষ্ট চেকটি ব্যর্থ হয়েছে তার বিশদ বিবরণ অন্তর্ভুক্ত থাকে।

লাইব্রেরি ভ্যালিডেটর ব্যবহার

  1. গুগল এবং জিটপ্যাক রিপোজিটরি অন্তর্ভুক্ত করুন। ভ্যালিডেটর লাইব্রেরি ব্যবহার করার জন্য উভয়ই প্রয়োজন।

    repositories {
        ...
        google()
        maven {
            url = uri("https://jitpack.io")
            content {
                includeGroup("com.github.xgouchet")
            }
        }
    }
    
  2. আপনার প্রকল্পে যাচাইকারী নির্ভরতা অন্তর্ভুক্ত করুন:

    // For use on JVM
    implementation("com.google.android.wearable.watchface.validator:validator-push:1.0.0-alpha07")
    
    // For use on Android
    implementation("com.google.android.wearable.watchface.validator:validator-push-android:1.0.0-alpha07")
    
    
  3. যাচাইকারী চালান:

val validator = DwfValidatorFactory.create() val result = validator.validate(watchFaceFile, appPackageName) if (result.failures().isEmpty()) { val token = result.validationToken() println("Validation token: $token") // বৈধতা সফল - টোকেন দিয়ে চালিয়ে যান // ... } অন্যথায় { // ব্যর্থতা ছিল, সেগুলি সেই অনুযায়ী পরিচালনা করুন - বৈধতা ব্যর্থ হয়েছে। result.failures().forEach { failure -> println("FAILURE: ${failure.name()}: ${failure.failureMessage()}") // ... } }

এই লাইব্রেরি ব্যবহারের উদাহরণের জন্য, GitHub নমুনা দেখুন। অ্যান্ড্রয়েড-ভিত্তিক ভ্যালিডেটরের সাথে ব্যবহারের জন্য পোর্টেবল অ্যাসেট কম্পাইলার কিট (প্যাক) লাইব্রেরিটিও দেখুন, যা ডিভাইসে APK তৈরির জন্য কার্যকর।

APK আকার

APK এর আকার কমাতে ওয়াচ ফেস পুশ করার সময় বিশেষ যত্ন নিন: ওয়াচ ফেস APK ফোন অ্যাপ থেকে ব্লুটুথের মাধ্যমে ওয়াচ অ্যাপে ট্রান্সমিট হওয়ার সম্ভাবনা বেশি, যা ধীর গতির হতে পারে।

একটি অত্যধিক বড় APK ট্রান্সমিট হতে যথেষ্ট সময় নিতে পারে, যা ব্যবহারকারীর অভিজ্ঞতা খারাপ করে এবং ব্যাটারিও শেষ করে।

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

APK এর আকার সর্বনিম্ন রাখার বিষয়ে আরও পরামর্শের জন্য অপ্টিমাইজ মেমরি ব্যবহারের নির্দেশিকা দেখুন।

APK স্বাক্ষরকরণ

একটি নিয়মিত APK হিসেবে, আপনাকে অবশ্যই আপনার সমস্ত ঘড়ির মুখগুলিতে স্বাক্ষর করতে হবে। আপনার প্রধান অ্যাপে ব্যবহৃত কী থেকে আলাদা একটি কী তৈরি করুন এবং আপনার সমস্ত ঘড়ির মুখের জন্য আলাদা কী ব্যবহার করুন।

স্থাপত্য

সিস্টেমের চারটি প্রধান উপাদান বিবেচনা করুন:

  1. ক্লাউড-ভিত্তিক স্টোরেজ : ক্যানোনিকাল মার্কেটপ্লেস অ্যাপে, আপনি আপনার ব্যবহারকারীদের ব্যবহারের জন্য প্রস্তুত ক্লাউডে আপনার ওয়াচফেস তৈরি এবং সংরক্ষণ করেন। ওয়াচফেসগুলির নিম্নলিখিত বৈশিষ্ট্য রয়েছে:
    1. এগুলি নিয়মিত ওয়াচ ফেস ফর্ম্যাট APK হিসাবে আগে থেকেই তৈরি।
    2. প্রতিটি APK-তে শুধুমাত্র একটি ওয়াচ ফেস ফর্ম্যাট-ভিত্তিক ওয়াচ ফেস থাকে।
    3. এগুলি ওয়াচ ফেস পুশ যাচাইকরণ প্রক্রিয়ার মাধ্যমে যাচাই করা হয় এবং সংশ্লিষ্ট যাচাইকরণ টোকেনের সাথে সংরক্ষণ করা হয়।
    4. আপনার ফোন অ্যাপ প্রয়োজন অনুযায়ী এগুলো উদ্ধার করতে পারবে।
  2. ফোন অ্যাপ : ফোন অ্যাপ হল আপনার ব্যবহারকারীদের আপনার সিস্টেমের সাথে যোগাযোগের প্রধান উপায়। এটি তাদের এগুলি করতে দেয়:
    1. আপনার ওয়াচফেসের ক্যাটালগ ব্রাউজ করুন এবং অনুসন্ধান করুন
    2. ঘড়িতে একটি ওয়াচফেস ইনস্টল করুন বা প্রতিস্থাপন করুন
  3. ওয়াচ অ্যাপ : ওয়াচ অ্যাপটিতে সাধারণত উল্লেখযোগ্য ইউজার ইন্টারফেস নাও থাকতে পারে। এটি মূলত ফোন অ্যাপ এবং ওয়াচ ফেস পুশ এপিআই-এর মধ্যে একটি সেতুবন্ধন, যার কার্যকারিতা নিম্নরূপ:
    1. ওয়াচ ফেস ইনস্টল/আপডেট বা প্রতিস্থাপনের জন্য ওয়াচ ফেস পুশ এপিআই ব্যবহার করা
    2. প্রয়োজনীয় অনুমতির অনুরোধ করা এবং ব্যবহারকারীকে অনুরোধ করা
    3. একটি ডিফল্ট ওয়াচফেস প্রদান করা হচ্ছে
    4. ঘড়ির মুখের ন্যূনতম ক্যাশে প্রদান করা
  4. ফোন-ওয়াচ যোগাযোগ : সামগ্রিক অভিজ্ঞতার সাফল্যের জন্য ফোন এবং ওয়াচ অ্যাপ যোগাযোগ গুরুত্বপূর্ণ। Wear OS ডেটা লেয়ার API ব্যবহার করুন, যা নিম্নলিখিত সুবিধা প্রদান করে:
    1. ইনস্টলেশন সনাক্তকরণ : ক্যাপাবিলিটিস এবং CapabilityClient ব্যবহার করে, ফোন অ্যাপটি ওয়াচ অ্যাপের অনুপস্থিতি সনাক্ত করতে পারে, এবং বিপরীতভাবে। এরপর আপনি অনুপস্থিত ফর্ম ফ্যাক্টরটি ইনস্টল করার জন্য প্লে স্টোরে একটি ইনটেন্ট চালু করতে পারেন।
    2. অবস্থা ব্যবস্থাপনা : DataClient বা MessageClient ব্যবহার করে আপনি ফোনটিকে ঘড়ির অবস্থার সাথে সিঙ্ক্রোনাইজ করতে পারেন, উদাহরণস্বরূপ, সক্রিয় ঘড়ির মুখের অবস্থা সিঙ্ক্রোনাইজ করতে পারেন।
    3. APK ট্রান্সমিশন : ChannelClient বা MessageClient ব্যবহার করে, ফোন থেকে ঘড়িতে APK পাঠান
    4. রিমোট ইনভোকেশন : Messageclient ব্যবহার করে, ফোনটি ঘড়িটিকে ওয়াচ ফেস পুশ API কল করার নির্দেশ দিতে পারে, উদাহরণস্বরূপ, একটি ওয়াচ ফেস ইনস্টল করার জন্য।

আরও বিস্তারিত জানার জন্য ডেটা লেয়ার API নির্দেশিকা দেখুন।