خيارات بمجموعة إعدادات الإشعارات

يتم تلقائيًا نقل الإشعارات أو مشاركتها من تطبيق على الهاتف إلى أي ساعات مقترنة. إذا أنشأت تطبيق ساعة وكان تطبيقك متاحًا أيضًا على هاتف مقترِن، قد يتلقّى المستخدمون إشعارات مكرّرة، واحدة من إنشاء تطبيق الهاتف وعرض إشعارات أخرى من خلال تطبيق الساعة الذكية. يتضمن نظام التشغيل Wear OS ميزات للتحكم في طريقة ووقت عرض الإشعارات.

تجنُّب الإشعارات المكرَّرة

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

استخدام علامات مجموعة إعدادات نقل المحتوى

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

اضبط علامة مجموعة إعدادات نقل المحتوى على إشعار باستخدام طريقة setBridgeTag(String) على النحو الموضّح في نموذج الرمز البرمجي التالي:

val notification = NotificationCompat.Builder(context, channelId)
    // ... set other fields ...
    .extend(
        NotificationCompat.WearableExtender()
            .setBridgeTag("tagOne")
    )
    .build()

إيقاف الربط

يمكنك إيقاف ميزة نقل المعلومات إلى شاشة بعض الإشعارات أو لجميع الإشعارات. ننصحك باختيار إيقاف ميزة "التوصيل".

إيقاف ميزة نقل الرسائل في بعض الإشعارات

يمكنك إيقاف ميزة الربط ديناميكيًا، والسماح بعرض بعض الإشعارات إذا أردت ذلك استنادًا إلى علامتها. على سبيل المثال، لإيقاف الربط بين جميع الإشعارات باستثناء الإشعارات التي يتم وضع علامة tagOne عليها أو tagTwo أو tagThree، يمكنك استخدام الكائن BridgingConfig كما هو موضّح في المثال التالي:

BridgingManager.fromContext(context).setConfig(
    BridgingConfig.Builder(context, false)
        .addExcludedTags(listOf("tagOne", "tagTwo", "tagThree"))
        .build()
)

إيقاف ميزة الربط بين جميع الإشعارات (لا ننصح بهذا الخيار)

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

لمنع عرض جميع الإشعارات من تطبيق الهاتف، استخدِم الإدخال <meta-data> في ملف البيان الخاص بتطبيق الساعة، كما هو موضّح في المثال التالي:

<application>
...
  <!-- Beware, this can have unintended consqequences before the user is signed-in -->
  <meta-data
    android:name="com.google.android.wearable.notificationBridgeMode"
    android:value="NO_BRIDGING" />
...
</application>

ملاحظة: يؤدي تحديد إعدادات الربط في وقت التشغيل إلى إلغاء الإعداد المرتبط بالربط في ملف بيان Android.

ضبط رقم تعريف إغلاق لمزامنة الإشعارات المشابهة

عند منع الربط بميزة "وضع الربط"، لا تتم مزامنة عمليات إغلاق الإشعارات على جميع أجهزة المستخدم.

أمّا في حال إنشاء إشعارات مشابهة على كلٍّ من الجهاز الجوّال والساعة، فعليك إغلاق كلا الإشعارَين عندما يرفض المستخدم أحدهما.

في NotificationCompat.WearableExtender، يمكنك ضبط معرّف فريد عالمي بحيث يتم تجاهل الإشعارات الأخرى التي تحمل رقم التعريف نفسه على الساعات المقترنة أيضًا.

تتضمّن الفئة NotificationCompat.WearableExtender طُرقًا تتيح لك استخدام أرقام تعريف الرفض، على النحو الموضّح في المثال التالي:

fun setDismissalId(dismissalId: String): WearableExtender
fun getDismissalId(): String

لمزامنة عملية إغلاق، استخدِم الإجراء setDismissalId(). بالنسبة إلى كل إشعار، أدخِل معرّفًا فريدًا عالميًا كسلسلة عند استدعاء طريقة setDismissalId().

عند إغلاق الإشعار، يتم إغلاق جميع الإشعارات الأخرى التي تحمل رقم تعريف الإغلاق نفسه على الساعة والهاتف. لاسترداد رقم تعريف الرفض، استخدِم getDismissalId().

في المثال التالي، يتم تحديد معرّف فريد عالمي للإشعار الجديد، لذلك تتم مزامنة عمليات الرفض:

val notification = NotificationCompat.Builder(context, channelId)
    // Set other fields ...
    .extend(
        NotificationCompat.WearableExtender()
            .setDismissalId("abc123")
    )
    .build()

ملاحظة: يمكن استخدام معرّفات الإغلاق إذا تم إقران الساعة بهاتف Android، وليس إذا تم إقرانها بهاتف iPhone.

في حال عدم تلقّي الإشعارات

لا يتم تلقّي إشعارات من أنواع الإشعارات التالية:

أفضل الممارسات المتعلّقة بالإشعارات التي تم ضبط إعداداتها

يستغرق دفع الإشعارات التي تم تلقّي إشعاراتها من الجهاز القابل للارتداء أو إزالتها بعض الوقت. أثناء تصميم الإشعارات، احرص على تجنُّب السلوكيات غير المتوقّعة الناتجة عن وقت الاستجابة هذا. تساعد الإرشادات التالية في ضمان عمل الإشعارات غير المتزامنة مع الإشعارات غير المتزامنة:

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

اعتبارات التصميم

تتضمّن إشعارات Wear OS إرشادات التصميم الخاصة بها. لمزيد من المعلومات، يمكنك مراجعة إرشادات تصميم نظام التشغيل Wear OS.