জটিলতার মাধ্যমে দরকারী তথ্য প্রদান করুন

জটিলতা হল ভৌত এবং স্মার্টওয়াচ উভয় ধরণের ঘড়ির মুখের একটি বৈশিষ্ট্য যা অতিরিক্ত তথ্য দেখায়। সাধারণত ব্যবহারকারী একটি জটিলতায় কোন তথ্য দেখানো হবে তা নির্বাচন করেন।

সাধারণত জটিলতা বিভিন্ন আকারে আসে:

  1. আয়তক্ষেত্রাকার
  2. বিজ্ঞপ্তি
  3. ঘড়ির মুখের প্রান্ত বরাবর আর্কস
  4. পটভূমি, পুরো ওয়াচফেস জুড়ে

Wear OS-এ, জটিলতা সিস্টেমকে দুটি ভাগে ভাগ করা যেতে পারে:

  1. জটিলতার তথ্য উৎস
  2. জটিলতা রেন্ডারিং

উদাহরণস্বরূপ, একটি স্বাস্থ্য এবং ফিটনেস অ্যাপ একটি দৈনিক পদক্ষেপ জটিলতা ডেটা উৎস বাস্তবায়ন করতে পারে। এটি WFF ওয়াচফেস দ্বারা রেন্ডার করা যেতে পারে।

জটিলতার তথ্য উৎস

জটিলতা সংক্রান্ত তথ্য উৎসগুলি শুধুমাত্র রেন্ডার করা তথ্য এবং জটিলতার ধরণ নির্দিষ্ট করে। ওয়াচফেসে ডেটা কীভাবে উপস্থাপন করা উচিত তা নির্ধারণে ডেটা উৎস কোনও ভূমিকা পালন করে না।

উদাহরণস্বরূপ, স্বাস্থ্য এবং ফিটনেস ডেইলি স্টেপস জটিলতার ডেটা সোর্স নিম্নলিখিত তথ্য তৈরি করতে পারে যা নির্দেশ করে যে ব্যবহারকারী আজ তাদের লক্ষ্য ১০০০০ পদক্ষেপের মধ্যে ২৪০০টি পদক্ষেপ নিয়েছেন:

  • ধরণ: GOAL_PROGRESS
  • মূল্য: 2400
  • লক্ষ্য মূল্য: 10000

মনে রাখবেন যে এই ডেটাতে এমন কিছু নেই যা নির্দেশ করে যে এটি কীভাবে রেন্ডার করা উচিত।

ওয়াচফেসটি কোন ধরণের জটিলতা তৈরি করতে সক্ষম তা নির্দিষ্ট করে। এটি নির্ধারণ করে যে ব্যবহারকারীর জন্য কোন ডেটা উৎসগুলি নির্বাচন করার জন্য উপলব্ধ থাকবে।

ডেইলি স্টেপস উদাহরণের ক্ষেত্রে, আপনি আপনার ওয়াচফেস সংজ্ঞায় সিদ্ধান্ত নেবেন যে কীভাবে Value এবং TargetValue রেন্ডার করবেন: এটি কি টেক্সট হিসেবে হবে, নাকি অগ্রগতি নির্দেশক হিসেবে? ওয়াচফেস ডিজাইনার হিসেবে এটি আপনার সিদ্ধান্ত।

জটিলতাগুলি সংজ্ঞায়িত করুন

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

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

জটিলতার জন্য ওয়াচ ফেসের প্রতিটি স্থানকে একটি ComplicationSlot হিসাবে সংজ্ঞায়িত করা হয় যার মধ্যে জটিলতার রেন্ডারিংয়ের জন্য একটি বাউন্ডিং এলাকা সংজ্ঞায়িত করা হয়:

<ComplicationSlot slotId="1" supportedTypes="SHORT_TEXT SMALL_IMAGE EMPTY"
    x="100" y="100" width="100" height="100">
    <BoundingOval x="0"  y="0" width="100" height="100" />
    <Complication type="SHORT_TEXT">
        <!-- Complication content for rendering SHORT_TEXT data goes here -->
    </Complication>
    <Complication type="SMALL_IMAGE">
        <!-- Complication content for rendering SMALL_IMAGE data goes here -->
    </Complication>
</ComplicationSlot>

আয়তক্ষেত্র এবং উপবৃত্তের মতো অন্যান্য বাউন্ডিং আকারের ক্ষেত্রেও একই পদ্ধতি প্রয়োগ করা যেতে পারে।

জটিলতার ধরণ এবং ডিফল্ট সেট করুন

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

আপনার ComplicationSlot ঘোষণায়, supportedTypes কে স্পেস-সেপারেটেড তালিকায় সেট করুন যেগুলো এই স্লটে রেন্ডার করা যেতে পারে।

ComplicationSlot জন্য আপনাকে ডিফল্ট সোর্সও সেট করতে হবে যদি না আপনি EMPTY টাইপটি মঞ্জুর করেন, এই ক্ষেত্রে ডিফল্ট সেট করা ঐচ্ছিক:

<ComplicationSlot slotId="2" supportedTypes="SHORT_TEXT SMALL_IMAGE EMPTY"
    x="250" y="100" width="100" height="100">
    <DefaultProviderPolicy
        defaultSystemProvider="STEP_COUNT"
        defaultSystemProviderType="SHORT_TEXT" />
    <!-- ... -->
</ComplicationSlot>

সিস্টেম প্রোভাইডার নির্দিষ্ট করার পাশাপাশি, আপনি ঐচ্ছিকভাবে নন-সিস্টেম প্রোভাইডার, যেমন তৃতীয় পক্ষের প্রোভাইডার, যদি তারা ইতিমধ্যেই ইনস্টল করা থাকে, ডিফল্টরূপে ব্যবহার করার জন্য নির্দিষ্ট করতে পারেন

জটিলতার তথ্য রেন্ডার করুন

ComplicationSlot , bounds এবং containing Complication উপাদান সংজ্ঞায়িত করার পরে, Complication ডেটা প্রদর্শনের জন্য PartDraw, PartImage এবং PartText এর মতো স্ট্যান্ডার্ড WFF উপাদান ব্যবহার করুন।

Complication ডেটার মধ্যে থাকা উপাদানগুলির একটি বিশেষ ডেটা উৎসে অ্যাক্সেস থাকে: COMPLICATION , যা জটিলতা ডেটা উৎস দ্বারা সেট করা বিভিন্ন ডেটা বৈশিষ্ট্য সরবরাহ করে।

উদাহরণস্বরূপ, একটি SMALL_IMAGE জটিলতা COMPLICATION.SMALL_IMAGE এবং COMPLICATION.SMALL_IMAGE_AMBIENT মান সেট করতে পারে। এগুলি একটি Image উপাদানে সম্পদের পরিবর্তে ব্যবহার করা যেতে পারে:

<Complication type="SMALL_IMAGE">
    <PartImage x="0" y="0" width="100" height="100">
        <Image resource="[COMPLICATION.SMALL_IMAGE]" />
    </PartImage>
</Complication>

প্রতিটি ভিন্ন জটিলতার ধরণের জন্য উপলব্ধ বৈশিষ্ট্যের একটি আলাদা সেট থাকে যা সেট করা যেতে পারে; প্রতিটির সম্পূর্ণ তালিকার জন্য, Complication রেফারেন্স দেখুন। এই উদাহরণটি একটি SHORT_TEXT জটিলতা থেকে লেখাটি প্রদর্শন করে:

<Complication type="SHORT_TEXT">
    <PartText x="0" y="0" width="100" height="100">
        <Text>
            <Font size="32">
                <Template>
                    <![CDATA[%s]]><Parameter expression="[COMPLICATION.TEXT]" />
                </Template>
            </Font>
        </Text>
    </PartText>
</Complication>

জটিলতা তৈরির সময় উপযোগিতা সর্বাধিক করুন

আপনার ওয়াচফেসে ComplicationSlots যোগ করার সময় বেশ কিছু চ্যালেঞ্জ রয়েছে:

  1. জটিলতার জন্য অসংখ্য ডেটা টাইপ আছে। বিভিন্ন অ্যাপ এই ধরণের এক বা একাধিক ডেটা টাইপ প্রদান করতে পারে।
  2. প্রতিটি জটিল ডেটা টাইপের বাধ্যতামূলক বৈশিষ্ট্যের পাশাপাশি অনেক ঐচ্ছিক বৈশিষ্ট্যও রয়েছে। বিভিন্ন সংমিশ্রণ বিবেচনা করে উপলব্ধ বৈশিষ্ট্যগুলি থেকে সবচেয়ে কার্যকর রেন্ডারিং তৈরি করা হয়েছে কিনা তা পরীক্ষা করুন।

এই সমস্যাগুলি সমাধানের জন্য, কিছু কৌশলের মধ্যে রয়েছে:

  1. প্রতিটি স্লটের জন্য একাধিক জটিলতার ধরণ সমর্থন করে। উদাহরণস্বরূপ, SHORT_TEXT জটিলতার তথ্য উৎস দ্বারা ব্যাপকভাবে সমর্থিত, তাই বিভিন্ন ধরণের সমর্থন করা, যেমন একটি ছোট বৃত্তাকার জটিলতার জন্য SHORT_TEXT RANGED_VALUE , সামঞ্জস্য বৃদ্ধি করে।
  2. ওয়াচফেস জুড়ে বিভিন্ন ধরণের জটিলতা অফার করুন। উদাহরণস্বরূপ, আপনি প্রান্ত-অবস্থানযুক্ত আর্ক জটিলতার জন্য RANGED_VALUE এবং GOAL_PROGRESS এবং ওয়াচফেসের বডিতে বৃত্তাকার জটিলতার জন্য SHORT_TEXT এবং SMALL_IMAGE সমর্থন করতে পারেন।
  3. প্রতিটি ডেটা টাইপের জন্য ঐচ্ছিক উপাদানগুলি পরীক্ষা করুন। উদাহরণস্বরূপ, SHORT_TEXT ঐচ্ছিকভাবে একটি শিরোনাম বৈশিষ্ট্য এবং একটি চিত্র সমর্থন করে। উপলব্ধ ডেটা রেন্ডার করার জন্য আপনার লেআউটটি কোনও চিত্র বা শিরোনাম উপলব্ধ কিনা তার উপর নির্ভর করে ভিন্ন হতে পারে।