Watch Face Push

Wear OS 6 یک API جدید به نام Watch Face Push را معرفی می‌کند که فرصت‌هایی را برای موارد استفاده پیشرفته‌تر از انتشار چهره ساعت ایجاد می‌کند.

مشخص کنید چه زمانی باید از Watch Face Push استفاده کنید

Watch Face Push یک API در Wear OS است که به برنامه‌نویس اجازه می‌دهد مستقیماً چهره‌های ساعت را اضافه، به‌روزرسانی یا حذف کند. برای توسعه استاندارد صفحه ساعت به آن نیازی نیست.

چهره‌های ساعتی که با Watch Face Push استفاده می‌شوند باید با فرمت Watch Face نوشته شوند. این می‌تواند شامل صفحه‌های ساعتی باشد که با استفاده از Watch Face Designer، Watch Face Studio یا هر ابزار دیگری که صفحه‌های ساعتی را تولید می‌کند که از فرمت Watch Face استفاده می‌کنند، طراحی شده‌اند.

در حالی که Watch Face Push API به طور بالقوه می تواند به روش های مختلفی مورد استفاده قرار گیرد، جدول زیر شما را از طریق موارد استفاده اصلی راهنمایی می کند:

مورد استفاده راه حل پیشنهادی پیچیدگی
من می خواهم واچ فیس های جداگانه ایجاد کنم و آنها را منتشر کنم. از فرمت Watch Face، مستقیم یا از طریق ابزاری مانند Watch Face Designer یا Watch Face Studio استفاده کنید و آنها را در Google Play منتشر کنید. کم
من می‌خواهم یک برنامه تلفنی ایجاد کنم که به کاربران امکان می‌دهد چهره‌های ساعت را از یک مجموعه انتخاب‌شده انتخاب کنند، یا چهره‌های ساعت را برای نصب مستقیم روی ساعت Wear OS خود طراحی و سفارشی کنند. با استفاده از Watch Face Push API روی ساعت، یک برنامه هم برای ساعت و هم برای تلفن ایجاد کنید. بالا

هدف

مورد استفاده متعارف Watch Face Push API برای ایجاد یک برنامه بازار است. از این برنامه، کاربران می‌توانند چهره‌های ساعت را از مجموعه‌ای انتخاب‌شده در گوشی خود انتخاب کنند و مستقیماً نصب این صفحه‌ها را روی ساعت متصل خود کنترل کنند.

ملاحظات

برای جزئیات بیشتر در مورد ساخت صفحه‌های ساعت خود، به راهنمای فرمت واچ فیس مراجعه کنید: چهره‌های ساعتی که با استفاده از Watch Face Push استفاده می‌شوند، صفحه‌های ساعت با فرمت واچ فیس معمولی هستند.

هنگام ساخت صفحه ساعت خود، ملاحظات زیر را در نظر داشته باشید.

نام بسته ها

صفحه‌های ساعتی که با استفاده از Watch Face Push نصب می‌شوند باید با قرارداد زیر مطابقت داشته باشند:

<app name>.watchfacepush.<watchface name>

... که در آن <app name> نام بسته برنامه فراخوانی Watch Face Push API است.

به عنوان مثال، برای برنامه‌ای با نام بسته com.example.mymarketplace ، نام‌های زیر بسته‌بندی چهره ساعت معتبر هستند:

  • com.example.mymarketplace.watchfacepush.watchface1
  • com.example.mymarketplace.watchfacepush.watchface2
  • com.example.mymarketplace.watchfacepush.another_watchface

API چهره‌های ساعت را که با این قرارداد مطابقت ندارند رد می‌کند.

محتویات بسته

این سیستم به شدت محتویات APK را اجرا می کند. از نظر فنی می‌توان فایل‌های APK با فرمت Watch Face را تولید کرد که حاوی فایل‌های فراداده بی‌ضرر و سایر مصنوعات باشد، که ممکن است برای Google Play قابل قبول باشد، اما از اعتبارسنجی Watch Face Push عبور نمی‌کند (به زیر مراجعه کنید).

هر APK صفحه ساعت باید فقط حاوی فایل‌ها/مسیرهای زیر باشد:

  • /AndroidManifest.xml
  • /resources.arsc
  • /res/**
  • /META-INF/**

علاوه بر این، فایل AndroidManifest.xml باید فقط حاوی برچسب‌های زیر باشد:

  • <manifest>
  • <uses-feature>
  • <uses-sdk>
  • <application>
  • <property>
  • <meta-data>

در نهایت، بسته باید یک minSdk حداقل 33 را مشخص کند، و تگ <application> باید ویژگی android:hasCode="false" را مشخص کند.

اعتبار سنجی

برخلاف صفحه‌های ساعت معمولی که از طریق Google Play توزیع می‌شوند، برنامه Marketplace مسئول تأیید این است که هر صفحه ساعت Watch Face Push به خوبی شکل گرفته و عملکرد خوبی دارد.

Watch Face Push از بررسی های اعتبارسنجی زیر برای تأیید کیفیت هر صفحه ساعت استفاده می کند:

  1. تمام صفحه‌های ساعت نصب یا به‌روزرسانی شده از طریق Watch Face Push API باید از ابزار اعتبارسنجی Watch Face Push عبور کنند.
  2. فقط از ابزار اعتبارسنجی رسمی برای تولید نشانه های اعتبارسنجی برای استفاده با API استفاده کنید.
  3. هنگام اجرای اعتبارسنجی، ابزار اعتبارسنجی باید به روز باشد.
  4. نیازی نیست یک APK را که تغییر نکرده است دوباره تأیید کنید. توکن‌ها منقضی نمی‌شوند، حتی زمانی که نسخه ابزار اعتبارسنجی مورد استفاده جایگزین شود.

    در عین حال، توصیه می کنیم هر چند وقت یکبار اعتبار سنجی را دوباره اجرا کنید، زیرا اعتبار سنجی به صورت دوره ای به روز می شود.

اعتبار سنجی را اجرا کنید

اعتبار سنجی به سه شکل موجود است:

  • یک ابزار CLI
  • یک کتابخانه برای استفاده با JVM
  • کتابخانه ای برای استفاده در اندروید

استفاده از اعتبارسنجی خط فرمان

  1. اعتبار سنجی را از مخزن Maven Google دریافت کنید.
  2. ابزار را به صورت زیر اجرا کنید:

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

    در صورت موفقیت آمیز بودن، خروجی شامل یک نشانه اعتبار سنجی است که باید هنگام افزودن یا به روز رسانی صفحه ساعت، آن را به Watch Face Push API ارائه دهید.

    اگر خطایی رخ دهد، خروجی شامل جزئیات مربوط به این است که کدام بررسی خاص انجام نشد.

استفاده از اعتبارسنجی کتابخانه

  1. مخازن Google و Jitpack را در نظر بگیرید. برای استفاده از کتابخانه اعتبارسنجی هر دو مورد نیاز است.

    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")
    
        // Validation success - continue with the token
        // ...
    } else {
        // There were failures, handle them accordingly - validation has failed.
        result.failures().forEach { failure ->
            println("FAILURE: ${failure.name()}: ${failure.failureMessage()}")
            // ...
        }
    }
    

برای مثالی از استفاده از این کتابخانه، نمونه GitHub را ببینید. همچنین به کتابخانه کیت (بسته) کامپایلر دارایی قابل حمل که برای ساختن APK روی دستگاه برای استفاده با اعتبارسنجی مبتنی بر Android مفید است، مراجعه کنید.

اندازه APK

برای به حداقل رساندن اندازه APK مراقب صفحه‌های Watch Face Push باشید: APK صفحه ساعت احتمالاً از طریق بلوتوث از برنامه تلفن به برنامه ساعت منتقل می‌شود، که می‌تواند کند باشد.

یک APK بیش از حد بزرگ می تواند زمان قابل توجهی برای انتقال نیاز داشته باشد، که هم تجربه کاربری ضعیفی است و هم باتری آن خالی می شود.

  • از کتابخانه های مناسب مانند pngquant استفاده کنید تا اندازه فایل های تصویری را به حداقل برسانید
    • این را در فرآیند ساخت مجموعه چهره ساعت خود بگنجانید
    • بررسی کنید ابعاد تصویر متناسب با مقیاسی است که از آن استفاده می کنید.
    • برش تصاویر برای حذف هر گونه پس زمینه اطراف مناسب است.
  • حجم فایل های فونت را کاهش دهید

برای پیشنهادات بیشتر در مورد به حداقل رساندن اندازه APK به راهنمای استفاده از حافظه Optimize مراجعه کنید.

امضای APK

به عنوان یک APK معمولی، باید تمام صفحه‌های ساعت خود را امضا کنید. یک کلید متفاوت از کلیدی که در برنامه اصلی خود استفاده می کنید ایجاد کنید و از کلید متفاوت برای تمام صفحه های ساعت خود استفاده کنید.

معماری

چهار جزء اصلی سیستم را در نظر بگیرید:

  1. فضای ذخیره‌سازی مبتنی بر ابر : در برنامه متعارف Marketplace، صفحه‌های ساعت خود را در Cloud می‌سازید و ذخیره می‌کنید و برای استفاده کاربران آماده است. صفحه های ساعت دارای ویژگی های زیر هستند:
    1. آنها به عنوان APKهای معمولی با فرمت Watch Face از پیش ساخته شده اند.
    2. هر APK تنها حاوی یک صفحه ساعت مبتنی بر فرمت واچ فیس است.
    3. آنها با فرآیند اعتبارسنجی Watch Face Push تأیید شده و با رمز اعتبار سنجی مربوطه ذخیره می شوند.
    4. برنامه تلفن شما می تواند در صورت نیاز آنها را بازیابی کند.
  2. برنامه تلفن : برنامه تلفن اصلی ترین روشی است که کاربران شما با سیستم شما تعامل دارند. به آنها اجازه می دهد:
    1. فهرست صفحه ساعت خود را مرور و جستجو کنید
    2. صفحه ساعت را روی ساعت نصب یا جایگزین کنید
  3. برنامه تماشا : برنامه ساعت معمولاً ممکن است رابط کاربری قابل توجهی نداشته باشد. این در درجه اول پلی است بین برنامه تلفن و واچ فیس Push API، با عملکرد زیر:
    1. استفاده از Watch Face Push API برای نصب/به‌روزرسانی یا جایگزینی صفحه‌های ساعت
    2. درخواست مجوزهای لازم و درخواست از کاربر
    3. ارائه یک صفحه ساعت پیش فرض
    4. ارائه حداقل حافظه پنهان از صفحه های ساعت
  4. ارتباطات ساعت تلفن : ارتباط تلفن و برنامه ساعت برای موفقیت تجربه کلی بسیار مهم است. از API های لایه داده Wear OS استفاده کنید که اجازه می دهد:
    1. تشخیص نصب : با استفاده از قابلیت‌ها و CapabilityClient ، برنامه تلفن می‌تواند عدم وجود برنامه ساعت را تشخیص دهد و برعکس. سپس می توانید یک intent را به فروشگاه Play راه اندازی کنید تا فاکتور فرم گم شده را نصب کنید.
    2. مدیریت وضعیت : با استفاده از DataClient یا MessageClient ، تلفن را با وضعیت ساعت همگام می‌کنید، برای مثال، همگام‌سازی وضعیت صفحه ساعت فعال.
    3. انتقال APK : با استفاده از ChannelClient یا MessageClient ، فایل‌های APK را از تلفن به ساعت ارسال کنید.
    4. فراخوانی از راه دور : با استفاده از Messageclient ، تلفن می‌تواند به ساعت دستور دهد که واچ فیس فشاری API را فراخوانی کند، به عنوان مثال، یک صفحه ساعت را نصب کند.

برای جزئیات بیشتر به راهنمای API لایه داده مراجعه کنید.