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

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

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

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

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

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

حالة الاستخدام الحل المقترح التعقيد
أريد إنشاء خلفيات شاشة فردية للساعة ونشرها. استخدام "تنسيق خلفية شاشة الساعة"، سواء بشكل مباشر أو من خلال أداة مثل Watch Face Designer أو 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 بشكل صارم. من الناحية الفنية، يمكن إنشاء حِزم APK لتنسيق خلفية شاشة الساعة تحتوي على ملفات بيانات وصفية غير ضارة وغيرها من العناصر التي قد يقبلها Google Play ولكنها لا تجتاز عملية التحقّق من صحة ميزة "إرسال خلفية شاشة الساعة" (راجِع ما يلي).

يجب أن يحتوي كل ملف 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 متوافقة مع المعايير وتعمل بشكل جيد.

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

  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-alpha07.jar \
        --apk_path=<your watch face>.apk \
        --package_name=<your marketplace package name>
    

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

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

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

  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. يمكنك أيضًا الاطّلاع على مكتبة Portable Asset Compiler Kit (Pack)، وهي مفيدة لإنشاء حِزم APK على الجهاز لاستخدامها مع أداة التحقّق المستندة إلى Android.

حجم حزمة APK

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

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

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

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

توقيع حِزم APK

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

البنية

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

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

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