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

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

تحديد وقت استخدام Watch Face Push

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

يجب كتابة خلفيات شاشة الساعة التي يتم استخدامها مع Watch Face Push باستخدام تنسيق خلفية شاشة الساعة. ويمكن أن يشمل ذلك خلفيات شاشة الساعة المصمّمة باستخدام 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 هي خلفيات شاشة ساعة عادية بتنسيق خلفية شاشة الساعة.

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

أسماء الحزم

يجب أن تتوافق خلفيات شاشة الساعة التي يتم تثبيتها باستخدام 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

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

محتويات الحزمة

يفرض النظام محتويات حزمة APK بشكل صارم. من الناحية الفنية، من الممكن إنشاء حِزم APK بتنسيق خلفية شاشة الساعة تحتوي على ملفات بيانات وصفية غير ضارة وعناصر أخرى، قد تكون مقبولة على 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. استخدِم أداة التحقق من الصحة الرسمية فقط لإنشاء رموز التحقق من الصحة لـ استخدامها مع واجهة برمجة التطبيقات.
  3. يجب أن تكون أداة التحقق من الصحة حديثة عند تشغيل عملية التحقق من الصحة.
  4. لست بحاجة إلى إعادة التحقق من صحة حزمة APK لم يطرأ عليها أي تغيير. لا تنتهي صلاحية الرموز ، حتى إذا تم استبدال إصدار أداة التحقق من الصحة المستخدَمة.

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

تشغيل أداة التحقق من الصحة

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

  • أداة سطر أوامر
  • مكتبة للاستخدام مع جهاز JVM
  • مكتبة للاستخدام على Android

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

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

    java -jar validator-push-cli-1.0.0-alpha10.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-alpha10")
    
    // For use on Android
    implementation("com.google.android.wearable.watchface.validator:validator-push-android:1.0.0-alpha10")
    
    
  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

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

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

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

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

توقيع حزمة APK

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

هندسة معمارية

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

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

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