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

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

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

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

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

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

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

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

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

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

  • প্রকার: GOAL_PROGRESS
  • মূল্য: 2400
  • লক্ষ্য মান: 10000

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

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

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

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

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

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

একটি জটিলতার জন্য ঘড়ির মুখের প্রতিটি স্থানকে একটি ComplicationSlot হিসাবে সংজ্ঞায়িত করা হয় যার মধ্যে জটিলতার রেন্ডারিংয়ের জন্য একটি আবদ্ধ এলাকা সংজ্ঞায়িত করা হয়:

<ComplicationSlot slotId="1" supportedTypes="SHORT_TEXT SMALL_IMAGE EMPTY"
    x="0" y="0" width="225" height="225">
    <BoundingArc centerX="225" centerY="225" width="450" height="450"
        startAngle="270" endAngle="360" thickness="50" />
  <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="1" ...>
    <BoundingArc .../>
    <DefaultProviderPolicy
        defaultSystemProvider="STEP_COUNT"
        defaultSystemProviderType="SHORT_TEXT" />
</ComplicationSlot>

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

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

ComplicationSlot , সীমানা এবং Complication উপাদান ধারণ করার পরে, জটিলতা ডেটা প্রদর্শনের জন্য PartDraw, PartImage এবং PartText এর মতো স্ট্যান্ডার্ড WFF উপাদানগুলি ব্যবহার করুন।

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

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

<Complication type="SMALL_IMAGE">
  <PartImage ...>
    <Image resource="[COMPLICATION.SMALL_IMAGE]" />
  </PartImage>
</Complication>

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

<Complication type="SHORT_TEXT">
  <PartText ...>
    <Text>
      <Font ...>
        <Template>
          <![CDATA[%s]]><Parameter expression="[COMPLICATION.TEXT]" />
        </Template>
      </Font>
  </PartImage>
</Complication>

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

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

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

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

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