ضبط تطبيق الهاتف لعرض خلفيات شاشة الساعة

في السوق الأساسي، يُعد تطبيق الهاتف الطريقة السائدة التي يتفاعل بها المستخدم مع التطبيق.

ضبط خلفية شاشة الساعة

عندما يختار المستخدم خلفية شاشة ساعة في تطبيق الهاتف، يتضمّن المسار التالي لضبط خلفية شاشة الساعة جزأين:

  1. التثبيت: ثبِّت خلفية شاشة الساعة باستخدام ميزة "إرسال خلفية شاشة الساعة" التي يتم بدءها من خلال MessageClient. هذه الخطوة بسيطة، إذ يتم استخدام addWatchFace أو updateWatchFace، ويتم تشغيلها باستخدام MessageClient من الهاتف إلى الساعة.
  2. التفعيل: ضبط خلفية شاشة الساعة المثبَّتة كخلفية نشطة تتضمّن هذه الخطوة عدة مسارات محتملة، وذلك حسب حالة الإذن:
    • قد لا يكون عليك اتّخاذ أي إجراء. قد يتحكّم السوق في خلفية شاشة الساعة النشطة.
    • قد لا يكون من الضروري أن يتدخّل المستخدم. يجب أن يكون لدى التطبيق الأذونات اللازمة لضبط خلفية شاشة الساعة النشطة، وأن يتمكّن من إجراء ذلك مباشرةً باستخدام setWatchFaceAsActive().
    • قد تكون هناك إرشادات مطلوبة، إما حول كيفية قبول طلبات الأذونات أو كيفية ضبط خلفية شاشة الساعة يدويًا باستخدام إيماءة الضغط مع الاستمرار أو من خلال تطبيق مصاحب.

ردّ التثبيت

لتسهيل مرحلة التفعيل، يجب أن تعرض مرحلة التثبيت المعلومات التالية من الساعة إلى الهاتف:

  • نتيجة محاولة التثبيت
  • نتيجة isWatchFaceActive() - لتحديد ما إذا كان التطبيق يتضمّن خلفية شاشة الساعة النشطة.
  • ما إذا تم استدعاء setWatchFaceAsActive() من قبل - يجب أن يتتبّع تطبيق Wear OS هذه المعلومات ويحتفظ بها على الجهاز. لا يمكن استخدام طلب البيانات من واجهة برمجة التطبيقات هذا إلا مرة واحدة.

التفعيل

بعد التثبيت، قد تشير الاستجابة إلى أنّ التطبيق يتضمّن خلفية شاشة الساعة النشطة. ومع ذلك، إذا لم يكن الأمر كذلك، يمكن للتطبيق اختيار عرض زر لضبط خلفية شاشة الساعة كخلفية نشطة.

السيناريو 1: استنفاد جميع محاولات ضبط خلفية شاشة الساعة النشطة

إذا أشارت الاستجابة من عملية التثبيت إلى أنّه تم استدعاء setWatchFaceAsActive() من قبل، يجب أن يؤدي الزر إلى شاشة تعليمية على الهاتف توضّح للمستخدم كيفية النقر مع الاستمرار على خلفية الساعة لضبطها يدويًا على الخلفية التي يريدها.

السيناريو 2: محاولة ضبط خلفية شاشة الساعة النشطة

يجب أن يطلب الهاتف من الساعة التحقّق من توفّر إذن SET_PUSHED_WATCH_FACE_AS_ACTIVE اللازم:

  • إذا كان المستخدم قد منح الإذن مسبقًا، انتقِل إلى استدعاء setWatchFaceAsActive().
  • إذا كان المستخدم قد رفض الإذن سابقًا، يجب أن تنقل الساعة هذه المعلومات إلى الهاتف، حيث يمكن عرض شاشة توضيحية تشرح الحاجة إلى الإذن وكيفية منحه يدويًا.
  • إذا لم يتم طلب الإذن من قبل، يجب أن تطلب الساعة من الهاتف عرض لحظة تعليمية ترشد المستخدم إلى كيفية قبول الأذونات على الساعة، ويجب أن تطلب الساعة الإذن.

    • إذا منح المستخدم الإذن، يجب أن تتصل الساعة بعد ذلك بالدالة setWatchFaceAsActive().
    • وفي حال عدم توفّر ذلك، يجب أن تطلب الساعة من الهاتف عرض شاشة تعليمية توضّح الحاجة إلى الحصول على الإذن وكيفية منحه يدويًا.