تغییر قابلیت ها در زمان اجرا

از آنجایی که ویژگی‌های جدید (مثلاً اندازه بافر پویا) را می‌توان با ارتقای سیستم عامل در ارائه‌دهنده فعال کرد، می‌خواهیم راهی برای دریافت قابلیت‌های ارائه‌دهنده در زمان اجرا ارائه دهیم. برای جلوگیری از پرس و جوی مکرر قابلیت‌ها، ابتدا، ارائه‌دهنده باید ویرایش میان‌افزار را هنگام اتصال از طریق جریان پیام برای جستجوگر ارسال کند. بنابراین ما یک کد پیام جدید را به گروه پیام موجود، رویداد اطلاعات دستگاه اضافه می کنیم.

نام گروه پیام ارزش
رویداد اطلاعات دستگاه 0x03
نام کد پیام ارزش
ویرایش سیستم عامل 0x09

پس از دریافت کد ویرایش سیستم عامل، جستجوگر باید آن را در برابر کد ذخیره شده بررسی کند. اگر نسخه میان‌افزار تغییر کرده باشد، جستجوگر نسخه میان‌افزار حافظه پنهان را به‌روزرسانی می‌کند و قابلیت‌ها را از طریق جریان پیام جستجو می‌کند.

ما همچنین به ارائه‌دهنده اجازه می‌دهیم تا ابتدا قابلیت‌ها را بدون درخواست مستقیماً به جستجوگر منتقل کند، زیرا تصور می‌کنیم که در آینده، دستگاه‌های پیچیده‌تر (شاید مبتنی بر Android) پیکربندی پویا را بر اساس پرچم‌ها برای همان ویرایش میان‌افزار انجام دهند.

بنابراین ما در زیر یک گروه پیام جدید و کدهای پیام اضافه می کنیم.

نام گروه پیام ارزش
رویداد همگام‌سازی قابلیت دستگاه 0x06
نام کد پیام ارزش
درخواست به روز رسانی قابلیت (ارسال شده از جستجوگر) 0x01
ردیابی FMDN 0x03

پس از دریافت 0x0601 ،

  • اگر ارائه دهنده پشتیبانی از ردیابی FMDN را فعال کرده باشد، باید به صورت زیر پاسخ دهد:
اکتت نوع داده شرح ارزش
0 uint8 رویداد همگام‌سازی قابلیت دستگاه 0x06
1 uint8 ردیابی FMDN 0x03
2 - 3 uint16 طول داده های اضافی 0x0007
4 uint8 وضعیت تامین FMDN 0x00 در صورت عدم ارائه؛ 0x01 اگر توسط هر حسابی ارائه شده باشد
5 - 10 uint8[] آدرس مک BLE فعلی دستگاه متفاوت است