تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
إجراء الجهاز
يمكن للباحثين أن يطلبوا من مقدّم الخدمة اتّخاذ إجراء. إذا كان الإجراء متاحًا لدى "مقدّم الخدمة"، يجب إقراره وتنفيذه، وإلا يجب تجاهله.
اسم مجموعة الرسائل
القيمة
حدث إجراءات الجهاز
0x04
اسم رمز إجراء الجهاز
القيمة
رنين
0x01
إصدار رنين على جهاز
أحد حالات استخدام هذه الإجراءات هو أن يطلب "الباحث" من "الموفّر" إصدار رنين، مثلاً عندما يفقد المستخدم الجهاز ويحتاج إلى تحديد موقعه. عند تلقّي إجراء الرنين، على مقدّم الخدمة بدء تشغيل ملف صوتي تم تحميله مسبقًا بمستوى صوت عالٍ بما يكفي ليتمكّن المستخدم من تحديد موقعه. يُنصح بزيادة مستوى الصوت تدريجيًا من مستوى منخفض إلى الحد الأقصى بمرور الوقت. يجب أن يستمر الرنين إلى أن يتم تلقّي إجراء إضافي يوجّه بإيقافه، أو إلى أن تنتهي مهلة محددة.
سيتم تضمين بيانات إضافية في الرسالة للإشارة إلى ما إذا كان يجب بدء الرنين أو إيقافه، ويمكن توسيع نطاق هذه البيانات لتشمل مقدّمي الخدمات الذين يتضمّنون عدة مكونات (سماعة أذن يمنى وسماعة أذن يسرى). في البايت الأول، سيتم ضبط البتات على 1 لطلب بدء الرنين أو 0 لطلب إيقاف الرنين.
على سبيل المثال، إذا تم ضبط البايت الأول من البيانات الإضافية على:
0x00 (0b00000000): يجب أن تتوقف جميع المكوّنات عن إصدار رنين
0x01 (0b00000001): الرنين في الأذن اليمنى، وإيقاف الرنين في الأذن اليسرى
0x02 (0b00000010): الرنين في السماعة اليسرى، وإيقاف الرنين في السماعة اليمنى
في "موفّري الخدمات" الذين لا يتيحون الرنين الفردي، يجب أخذ بت واحد فقط في الاعتبار:
0x00 (0b00000000): إيقاف الرنين
0x01 (0b00000001): بدء إصدار الرنين
يمثّل البايت الثاني في البيانات الإضافية، إذا كان متوفّرًا، المهلة الزمنية بالثواني. يجب أن يستخدم مقدّم الخدمة هذه القيمة لتحديد المدة التي يجب أن يرن خلالها الجهاز قبل أن يتم إسكاته تلقائيًا. استنادًا إلى مثال الرنين الصحيح أعلاه ومهلة تبلغ 60 ثانية، سيتم تمرير 0x013C كبيانات إضافية.
مزامنة حالة الرنين مع أجهزة التتبُّع
قد يريد مقدّمو الخدمات إرسال إشعار إلى مستخدم جهاز التتبّع عند تغيير حالة الرنين، مثلاً إذا أدت إيماءة إلى إيقاف الرنين. يمكن للمستخدِم بعد ذلك تلقّي الرسالة وتعديل واجهة المستخدم إذا لزم الأمر.
على مقدّم الخدمة اتّباع تنسيق الرسالة نفسه المحدّد في المثال أعلاه. سيستمع جهاز الباحث إلى هذه الرسالة وسيرسل إقرارًا عند استلامها.
الإقرار بإجراء
عند تلقّي إجراء، يجب تأكيده لكي يعرف الباحث ما إذا تم تنفيذ الإجراء أم لا. إذا لم يتم تلقّي إقرار في غضون ثانية واحدة من إرسال إجراء (أو تم تلقّي إقرار سلبي)، سيفترض الباحث أنّ الإجراء غير متاح حاليًا.
تاريخ التعديل الأخير: 2025-08-13 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-08-13 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\u003cp\u003eSeekers can request Providers to perform actions, such as ringing, which should be acknowledged and performed if supported.\u003c/p\u003e\n"],["\u003cp\u003eRinging can be initiated and stopped for single or dual components (like earbuds) using specific data values, with optional timeout duration.\u003c/p\u003e\n"],["\u003cp\u003eProviders can notify Seekers of ringing status changes, enabling UI updates on the Seeker's end.\u003c/p\u003e\n"],["\u003cp\u003eSeekers expect acknowledgements within 1 second to confirm action execution, otherwise assuming unsupported functionality.\u003c/p\u003e\n"],["\u003cp\u003eDevice actions use a specific message group and action codes for communication between Seekers and Providers.\u003c/p\u003e\n"]]],["Seekers request Providers to perform actions, like ringing. Providers acknowledge and execute supported actions or ignore unsupported ones. The \"Ring\" action (0x01) initiates a preloaded sound, potentially ramping up in volume until stopped or timed out. The first data byte indicates which components (e.g., left/right) should ring, using bit flags (1 for start, 0 for stop). The second byte sets a timeout in seconds. Providers should update Seekers of changes to the ringing status, and Seekers must acknowledge the action.\n"],null,["Device action\n-------------\n\nSeekers can request that a Provider takes an action. If the action is supported\nby the Provider, it should be acknowledged and performed, otherwise it should be\nignored.\n\n| Message Group Name | Value |\n|---------------------|-------|\n| Device action event | 0x04 |\n\n| Device Action Code Name | Value |\n|-------------------------|-------|\n| Ring | 0x01 |\n\n### Ringing a device\n\nOne use case for these actions is the Seeker requesting the Provider to ring,\nfor example when a user has lost the device and needs to locate it. When the\nring action is received, the Provider should begin playing a preloaded sound\nfile at a high enough volume that the user is able to locate it. It is\nrecommended that the sound be ramped from a low volume to max volume over\ntime. Ringing should continue until an additional action is received\ndirecting a stop, or a timeout value has passed.\n\nAdditional data will be included in the message to indicate whether the ringing\nshould be started or stopped, which can be expanded to support Providers with\nmultiple components (a left and right bud). In the first byte, bits will be set\nto 1 to request a ring to start or 0 to request a ring to stop.\n\nFor example, if the first byte of additional data is set to:\n\n- 0x00 (0b00000000): All components should stop ringing\n- 0x01 (0b00000001): Ring right, stop ringing left\n- 0x02 (0b00000010): Ring left, stop ringing right\n- 0x03 (0b00000011): Ring both left and right\n\nOn Providers which do not support individual ringing, only 1 bit should be\nconsidered:\n\n- 0x00 (0b00000000): Stop ringing\n- 0x01 (0b00000001): Start ringing\n\n| **Note:** For Providers that include on-head detection, consider checking whether the device is on-head before ringing at max volume.\n\nThe second byte in additional data, if present, represents the timeout in\nseconds. This value should be used by the Provider to determine how long it\nshould ring before silencing itself. Based off of the ring right example above\nand a timeout of 60 seconds, `0x013C` would be passed as the additional data.\n\n#### Syncing ringing status back to Seekers\n\nProviders may want to notify a Seeker when it changes the ringing status, for\nexample if a gesture causes the ringing to stop. The Seeker can then receive\nthe message and update the UI if necessary.\n\nThe Provider should follow the same message format as defined in the example\nabove. Seeker's will listen for this message and provide an acknowledgement when\nit is received.\n\n### Acknowledging an action\n\nWhen an action is received, it should be\n[acknowledged](/nearby/fast-pair/specifications/extensions/acknowledgement#MessageStreamAcknowledgements \"Acknowledgements\") so that the Seeker knows whether\nor not the action was performed. If an acknowledgement is not received within 1\nsecond of sending an action (or a negative-acknowledgement is received) the\nSeeker will assume the action is not currently supported."]]