إرسال خلفية شاشة الساعة

يقدِّم Wear OS 6 واجهة برمجة تطبيقات جديدة، Watch Face Push، تتيح المزيد من حالات الاستخدام المتقدّمة لنشر خلفيات شاشة الساعة.

تحديد وقت استخدام ميزة "إرسال خلفية الساعة"

‫Watch Face Push هي واجهة برمجة تطبيقات على Wear OS تتيح للمطوّر إضافة خلفيات شاشة الساعة أو تعديلها أو إزالتها مباشرةً. ولا حاجة إليه لتطوير خلفيات شاشة الساعة العادية.

يجب كتابة خلفيات شاشة الساعة المستخدَمة مع ميزة "إرسال خلفية شاشة الساعة" باستخدام "تنسيق خلفية شاشة الساعة". ويمكن أن يشمل ذلك خلفيات شاشة الساعة المصمَّمة باستخدام Watch Face Studio أو أي أداة أخرى تنشئ خلفيات شاشة ساعة تستخدم "تنسيق خلفية شاشة الساعة".

مع أنّ واجهة برمجة التطبيقات Watch Face Push API يمكن استخدامها بعدة طرق، يجب استخدام الجدول التالي كدليل لحالات الاستخدام الرئيسية:

سرد قصة الحل المقترح التعقيد
أريد إنشاء خلفيات شاشة فردية للساعة ونشرها. استخدام "تنسيق خلفية شاشة الساعة"، سواء بشكل مباشر أو من خلال أداة مثل Watch Face Studio، ونشرها على Google Play ضعيفة
أريد إنشاء تطبيق هاتف يتيح للمستخدمين اختيار خلفيات شاشة الساعة من مجموعة منتقاة، أو تصميم خلفيات شاشة الساعة وتخصيصها لتثبيتها مباشرةً على ساعة Wear OS. أنشئ تطبيقًا لكل من الساعة والهاتف باستخدام Watch Face Push API على الساعة. عالية

الغرض

حالة الاستخدام الأساسية لواجهة برمجة التطبيقات Watch Face Push API هي إنشاء تطبيق سوق. من خلال هذا التطبيق، يمكن للمستخدمين اختيار خلفيات شاشة الساعة من مجموعة منسَّقة على هواتفهم والتحكّم مباشرةً في تثبيت هذه الخلفيات على ساعاتهم المتصلة.

الاعتبارات

للحصول على تفاصيل حول إنشاء خلفيات شاشة الساعة، يُرجى الرجوع إلى إرشادات تنسيق خلفية شاشة الساعة: خلفيات شاشة الساعة التي يتم نشرها باستخدام ميزة "إرسال خلفية شاشة الساعة" هي خلفيات شاشة ساعة عادية بتنسيق خلفية شاشة الساعة.

عند إنشاء خلفية شاشة الساعة، ضَع الاعتبارات التالية في ذهنك.

أسماء الحِزم

يجب أن تتوافق خلفيات شاشة الساعة المثبَّتة باستخدام Watch Face Push مع التنسيق التالي:

<app name>.watchfacepush.<watchface name>

... حيث <app name> هو اسم حزمة التطبيق الذي يستدعي واجهة برمجة التطبيقات Watch Face Push.

على سبيل المثال، بالنسبة إلى تطبيق يحمل اسم الحزمة com.example.mymarketplace، تكون أسماء حِزم خلفيات شاشة الساعة التالية صالحة:

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

وترفض واجهة برمجة التطبيقات خلفيات شاشة الساعة التي لا تتوافق مع هذا الاصطلاح.

محتوى الحزمة

يتم فرض قيود صارمة على محتوى حِزم APK. يجب الحرص على أن يتوافق &quot;تنسيق خلفية شاشة الساعة&quot; مع القيود التالية: من الممكن تقنيًا إنشاء حِزم APK بتنسيق خلفية شاشة الساعة تحتوي على ملفات بيانات وصفية غير ضارة وغيرها من العناصر التي قد يقبلها Google Play ولكنها لا تجتاز عملية التحقّق من صحة &quot;إرسال خلفية شاشة الساعة&quot; (راجِع ما يلي).

يجب أن تتضمّن حِزمة 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 مسؤولية إجراء عمليات التحقّق من أنّ كل خلفية شاشة ساعة منسَّقة بشكل جيد وتعمل بكفاءة.

يستخدم Google Play عمليات التحقّق التالية من الصحة للتحقّق من جودة كل خلفية شاشة ساعة تستخدم ميزة "إرسال خلفية شاشة الساعة":

  1. يجب أن تجتاز جميع خلفيات شاشة الساعة التي يتم تثبيتها أو تعديلها من خلال Watch Face Push API أداة التحقّق من Watch Face Push.
  2. يمكن استخدام أداة التحقّق الرسمية فقط لإنشاء رموز التحقّق التي يمكن استخدامها مع واجهة برمجة التطبيقات.
  3. يجب أن تكون أداة التحقّق المستخدَمة محدّثة عند إجراء عملية التحقّق.
  4. لا يُشترط إعادة التحقّق من صحة حزمة APK لم يتم تغييرها. لا تنتهي صلاحية الرموز المميزة، حتى عندما يتم استبدال إصدار أداة التحقّق المستخدَمة.

    في الوقت نفسه، ننصحك بإعادة عملية التحقّق من الصحة مرة واحدة كل فترة، لأنّ أداة التحقّق من الصحة يتم تعديلها بشكل دوري.

تشغيل أداة التحقّق

تتوفّر أداة التحقّق بثلاثة أشكال:

  • أداة سطر أوامر
  • مكتبة للاستخدام مع آلة جافا الافتراضية (JVM)
  • مكتبة للاستخدام على Android

استخدام أداة التحقّق من صحة البيانات في سطر الأوامر

  1. الحصول على أداة التحقّق من مستودع Maven التابع لشركة Google
  2. شغِّل الأداة على النحو التالي:

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

    في حال نجاح العملية، سيتضمّن الناتج رمزًا مميزًا للتحقّق، ويجب تقديمه إلى واجهة برمجة التطبيقات Watch Face Push عند إضافة خلفية شاشة ساعة أو تعديلها.

    في حال حدوث خطأ، يتضمّن الناتج تفاصيل حول عملية التحقّق المحدّدة التي تعذّر إجراؤها.

استخدام أداة التحقّق من صحة المكتبة

  1. أدرِج مستودع 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:1.0.0-alpha06")
    
    // For use on Android
    implementation("com.google.android.wearable.watchface.validator-android:1.0.0-alpha06")
    
    
  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. يمكنك أيضًا الاطّلاع على مكتبة Portable Asset Compiler Kit (Pack)، وهي مفيدة لإنشاء حِزم APK على الجهاز لاستخدامها مع أداة التحقّق المستندة إلى Android.

حجم حزمة APK

يجب توخّي الحذر بشكل خاص عند استخدام خلفيات شاشة الساعة التي يتم إرسالها من خلال ميزة Watch Face Push لضمان الحفاظ على الحد الأدنى لحجم حِزمة APK، لأنّه من المحتمل أن يتم نقل حِزمة APK الخاصة بخلفية شاشة الساعة من تطبيق الهاتف إلى تطبيق الساعة عبر البلوتوث، وهو ما قد يستغرق وقتًا طويلاً.

قد يستغرق نقل حِزمة APK كبيرة الحجم وقتًا طويلاً، ما يؤدي إلى تقديم تجربة سيئة للمستخدمين واستنزاف البطارية.

  • استخدِم مكتبات مناسبة، مثل pngquant، لتقليل أحجام ملفات الصور إلى الحد الأدنى
    • تضمين ذلك في عملية إنشاء مجموعة خلفيات شاشة الساعة
    • تأكَّد من أنّ أبعاد الصورة مناسبة للمقياس الذي سيتم استخدامها به.
    • احرص على اقتصاص الصور بشكل مناسب لإزالة أي خلفية محيطة.
  • تقليل حجم ملفات الخطوط

راجِع إرشادات تحسين استخدام الذاكرة للحصول على المزيد من الاقتراحات حول الحفاظ على الحد الأدنى لحجم حِزم APK.

توقيع حِزم APK

وكما هو الحال مع حِزم APK العادية، يجب توقيع جميع خلفيات شاشة الساعة. أنشئ مفتاحًا مختلفًا عن المفتاح المستخدَم مع تطبيقك الرئيسي، واستخدِم المفتاح المختلف مع جميع خلفيات شاشة الساعة.

البنية

ضَع في اعتبارك المكوّنات الرئيسية الثلاثة للنظام:

  1. التخزين المستند إلى السحابة الإلكترونية: في تطبيق Marketplace الأساسي، يتم إنشاء خلفيات شاشة الساعة وتخزينها في السحابة الإلكترونية، وتكون جاهزة للاستخدام من قِبل المستخدمين. في ما يلي خلفيات شاشة الساعة:
    1. تم إنشاؤها مسبقًا كحِزم APK عادية بتنسيق خلفية شاشة الساعة
    2. يحتوي كل منها على خلفية شاشة ساعة واحدة فقط تستند إلى "تنسيق خلفية شاشة الساعة"
    3. تم التحقّق من صحتها باستخدام عملية التحقّق من صحة ميزة "إرسال خلفية شاشة الساعة"، ويتم تخزينها مع رمز التحقّق المرتبط.
    4. ويكون جاهزًا لاسترداده من خلال تطبيق الهاتف عند الحاجة.
  2. تطبيق الهاتف: تطبيق الهاتف هو الطريقة الرئيسية التي يتفاعل بها المستخدمون مع نظامك. ويتيح لهم ذلك ما يلي:
    1. تصفُّح قائمة خلفيات شاشة الساعة والبحث فيها
    2. تثبيت خلفية شاشة ساعة أو استبدالها على الساعة
  3. تطبيق الساعة: قد لا يتضمّن تطبيق الساعة عادةً واجهة مستخدم مهمة. وهي في الأساس وسيط بين تطبيق الهاتف وواجهات برمجة التطبيقات الخاصة بإرسال البيانات إلى خلفية الساعة، وتتضمّن الوظائف التالية:
    1. استخدام Watch Face Push API لتثبيت خلفيات شاشة الساعة أو تحديثها أو استبدالها
    2. طلب الأذونات اللازمة وتوجيه المستخدم
    3. توفير خلفية شاشة ساعة تلقائية
    4. توفير ذاكرة تخزين مؤقت صغيرة لخلفيات شاشة الساعة
  4. التواصل بين الهاتف والساعة: يُعد التواصل بين تطبيق الهاتف وتطبيق الساعة أمرًا أساسيًا لنجاح التجربة بشكل عام. استخدِم واجهات برمجة التطبيقات الخاصة بطبقة البيانات في Wear OS، والتي تتيح ما يلي:
    1. رصد التثبيت: باستخدام الإمكانات وCapabilityClient، يمكن لتطبيق الهاتف رصد عدم توفّر تطبيق الساعة، والعكس صحيح. يمكن أن يتبع ذلك إطلاق هدف إلى &quot;متجر Play&quot; لتثبيت عامل الشكل غير المتوفّر.
    2. إدارة الحالة: باستخدام DataClient أو MessageClient، يمكن الحفاظ على مزامنة الهاتف مع حالة الساعة، مثلاً، التأكّد من أنّ الهاتف على دراية بخلفية الساعة التي تم ضبطها.
    3. نقل حِزم APK: باستخدام ChannelClient أو MessageClient، يمكن إرسال حِزم APK من الهاتف إلى الساعة
    4. الاستدعاء عن بُعد: باستخدام Messageclient، يمكن للهاتف أن يطلب من الساعة استدعاء واجهة برمجة التطبيقات Watch Face Push API، وذلك مثلاً لتثبيت خلفية شاشة ساعة.

يُرجى الرجوع إلى إرشادات Data Layer API لمزيد من التفاصيل.