تُستخدم واجهة وحدة تحكم NFC (NCI) للتفاعل مع وحدة تحكُّم NFC (الاتصال القصير المدى) توضّح هذه الصفحة مواصفات Android. أوامر NCI الخاصة.
تعريفات أداة "إحصاءات المستهلكين في أخبار Google"
تستخدم أوامر أداة NCI الخاصة بنظام التشغيل Android رقم تعريف المجموعة الخاصة بالمالك (GID) 0xF
.
ومساحة رمز معرّف العملية لنظام التشغيل Android 0xC
.
تنسيق الحزمة الشائعة
يتّبع تنسيق حزمة NCI لنظام التشغيل Android مواصفات أداة NCI الخاصة بحِزم التحكّم.
باستخدام الملكية Group_ID 0xF
وOpcode_ID 0x0C
. لكل جهاز Android
ملكية إضافية، يجب تعيين البايت الأول من حمولة الحزمة على
رمز تشغيل Android (0x0C
). تستخدم حزم التحكم في Android Message_Type
PBF
لتحديد الأوامر والردود والإشعارات بشكل مشابه
والأوامر القياسية.
يظهر تنسيق حزمة Android في الجدول التالي:
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Message_Type
|
PBF
|
Group_ID = 0xF (PROPRIETARY)
|
|||||
محجوز للاستخدام في المستقبل (RFU) | Opcode_ID = 0x0C (ANDROID)
|
||||||
Payload_Length
|
|||||||
Android_Opcode_ID
|
|||||||
Android_Payload
|
|||||||
يتم عرض معرّفات رموز التشغيل المخصصة لنظام التشغيل Android في الجدول التالي. تشير رسالة الأشكال البيانية لكل حزمة نتبعها في الأقسام التالية.
معرّف OID لنظام Android | نوع الرسالة | اسم الرسالة |
---|---|---|
0×00 | NCI_MT_CMD | NCI_ANDROID_GET_CAPS_CMD |
NCI_MT_RSP | NCI_ANDROID_GET_CAPS_RSP
|
|
0x01 | NCI_MT_CMD | NCI_ANDROID_POWER_SAVING_CMD
|
NCI_MT_RSP | NCI_ANDROID_POWER_SAVING_RSP
|
|
0x02 | NCI_MT_CMD | NCI_ANDROID_PASSIVE_OBSERVE_MODE_CMD |
NCI_MT_RSP | NCI_ANDROID_PASSIVE_OBSERVE_MODE_RSP
|
|
0x03 | NCI_MT_NTF | NCI_ANDROID_POLLING_FRAME_NTF
|
0×04 | NCI_MT_CMD | NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_CMD |
NCI_MT_RSP | NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_RSP |
أمر الحصول على الإمكانيات
يستخدم المضيف NCI_ANDROID_GET_CAPS_CMD
لطلب البحث في القائمة.
الميزات المملوكة لنظام التشغيل Android والمدعومة من قبل بروتوكول NFCC. تشير رسالة الأشكال البيانية
لا يأخذ الأمر NCI_ANDROID_GET_CAPS_CMD
أي معلمات.
يجب أن يستجيب الاتصال القصير المدى (NFCC) بالاستجابة NCI_ANDROID_GET_CAPS_RSP
مع إدراج حالة.
.STATUS_OK
وقائمة الميزات والميزات المتاحة
إذا كان NFCC لا يتوافق مع NCI_ANDROID_GET_CAPS_CMD
، يجب أن يفترض المضيف
أن تأخذ كل الإمكانات القيمة الافتراضية المحددة. إذا تم تحديد
من خلال NFCC في الرد، يجب أن يفترض المضيف أن
تمتلك الإمكانية القيمة التلقائية المحددة.
NCI_ANDROID_GET_CAPS_CMD
حقول الحمولة | حجم الملف | القيمة/الوصف | |||||
---|---|---|---|---|---|---|---|
لا ينطبق | 0 ثُمانيات |
NCI_ANDROID_GET_CAPS_RSP
حقول الحمولة | حجم الملف | القيمة/الوصف | |||||
---|---|---|---|---|---|---|---|
الحالة | ثماني بتات واحد | اطّلِع على رموز الحالة في الجدول 140 من مواصفات NCI. | |||||
Android_Version
|
2 ثماني بتات | يحدد إصدار متطلبات Android الذي يتم تطبيقه من خلال NFCC. | |||||
0×0000 | الإصدار 15 من نظام التشغيل Android | ||||||
عدد الإمكانات | ثماني بتات واحد | عدد الإمكانات المتوافقة | |||||
الإمكانات[0..n] | (م + 2) * n ثماني بتات | الإمكانات المتوافقة | |||||
النوع | ثماني بتات واحد | معرّف الميزة | |||||
Len | ثماني بتات واحد | الطول (م) للقيمة | |||||
القيمة | م ثُماني بتات | قيمة القدرة |
إمكانات خاصة بنظام التشغيل Android
اسم القدرة | رقم التعريف | حجم الملف | القيمة/الوصف | |||||
---|---|---|---|---|---|---|---|---|
وضع المراقبة | 0×00 | ثماني بتات واحد | دعم وضع المراقبة
0x00 (تلقائي) - لا يدعم هذه الميزة. 0x01 - يتوافق مع الميزة من خلال إلغاء تنشيط الترددات اللاسلكية من المضيف (مطلوب من أجل الإصدار 15 من نظام Android أو إصدار أحدث). وجميع القيم الأخرى هي RFU. |
|||||
إشعار إطار الاستطلاع | 0x01 | ثماني بتات واحد | دعم إشعارات إطار الاستطلاع. 0x01 إذا كان متاحًا، و0x00 (الإعداد التلقائي) إذا لم يكن متاحًا. وجميع القيم الأخرى هي RFU. | |||||
وضع توفير الطاقة | 0x02 | ثماني بتات واحد | دعم وضع توفير الطاقة. 0x01 إذا كان متاحًا، و0x00 (الإعداد التلقائي) إذا لم يكن متاحًا. وجميع القيم الأخرى هي RFU. | |||||
فلتر حلقة الاستطلاع بشأن Auotransact | 0x03 | 1 ثماني بتات | دعم فلاتر حلقة الاستطلاع في البرامج الثابتة لتجاوز وضع المراقبة لأنماط معيَّنة عند تفعيل وضع المراقبة بشكل عام
0x00 (تلقائي) - لا يدعم هذه الميزة 0x01 - إتاحة فلاتر حلقة الاستطلاع جميع القيم الأخرى هي RFU |
|||||
0x04..0xFF | 0 ثُمانيات | محجوزة للاستخدام في المستقبل |
أمر توفير الطاقة
لنقل NFCC إلى وضع توفير الطاقة، يمكن للمضيف استخدام
الأمر NCI_ANDROID_POWER_SAVING_CMD
. يجب أن يستجيب الاتصال القصير المدى (NFCC) بما يلي:
NCI_ANDROID_POWER_SAVING_RSP
مع رمز حالة
إلى النجاح أو الفشل.
أثناء استخدام وضع توفير الطاقة، يجب ألا يرسل المضيف أي أمر إلى NFCC يجب ألا يرسل NFCC أي إشعار أو رد إلى المضيف. يتيح لك NFCC أو يمكن للعنصر الآمن (eSE) المضمّن قبول طلبات الدفع الواردة تلقائيًا. وفقًا لإعدادات التوجيه التي تم ضبطها قبل تفعيل خيار توفير الطاقة الحالي.
للعودة إلى وضع الطاقة الكامل، يمكن للمضيف إعادة ضبط NFCC أو إعادة إعدادها.
NCI_ANDROID_POWER_SAVING_CMD
حقول الحمولة | حجم الملف | القيمة/الوصف | |
---|---|---|---|
وضع توفير الطاقة | 1 ثماني بتات | 0×00 | إيقاف "وضع توفير الطاقة" |
0x01 | تفعيل "وضع توفير الطاقة" |
NCI_ANDROID_POWER_SAVING_RSP
حقول الحمولة | حجم الملف | القيمة/الوصف | |||||
---|---|---|---|---|---|---|---|
الحالة | ثماني بتات واحد | اطّلع على رموز الحالة في الجدول 140 من مواصفات NCI، |
ضبط أمر وضع المراقبة
لتفعيل "وضع المراقبة" أو إيقافه، يمكن للمضيف استخدام
الأمر NCI_ANDROID_PASSIVE_OBSERVE_MODE_CMD
. يجب أن يستجيب الاتصال القصير المدى (NFCC) بما يلي:
NCI_ANDROID_PASSIVE_OBSERVE_MODE_RSP
مع رمز حالة يشير إلى نجاح أو
إخفاقًا.
عند إيقاف وضع المراقبة، على تقنية NFCC تنفيذ نشاط وضع الاستماع العادي وفقًا المواصفات الفنية للنشاط.
عندما يكون وضع المراقبة مفعَّلاً، يجب ألا يستجيب NFCC لأي استطلاع.
الطلبات أثناء حلقة الاستطلاع في وضع الاستماع، إلى أن يتم السماح بذلك صراحةً من قِبل
المضيف. يجب أن يرسل NFCC إشعار RF_FIELD_INFO_NTF
(كما هو محدد في
الفقرة 5.3 من
مواصفات أداة "إحصاءات المستهلكين في أخبار Google")
عند اكتشاف تفعيل الحقل. إذا كانت ميزة اكتشاف وضع الاستطلاع نشطة، سيتم تفعيل تكنولوجيا NFCC
تنفيذ نشاط وضع الاستطلاع وفقًا
المواصفات الفنية للنشاط.
يمكن لتقنية NFCC تخزين معلومات الاستطلاع مؤقتًا للمتابعة على الفور باستخدام الجهاز.
التفعيل فور إيقاف وضع المراقبة.
يجب أن يوقف الاتصال القصير المدى (NFCC) وضع المراقبة في حال إيقاف المضيف لأي سبب. (على سبيل المثال، نفاد شحن البطارية أو بدء إيقاف التشغيل من قِبل المستخدم) بحيث تكون شريحة العنصر الآمن (SE) إمكانية متابعة معاملاتك.
NCI_ANDROID_PASSIVE_OBSERVE_mode_CMD
حقول الحمولة | حجم الملف | القيمة/الوصف | |
---|---|---|---|
وضع المراقبة | ثماني بتات واحد | 0×00 | إيقاف وضع المراقبة (تلقائي) |
0x01 | تفعيل وضع المراقبة |
NCI_ANDROID_PASSIVE_OBSERVE_mode_RSP
حقول الحمولة | حجم الملف | القيمة/الوصف | |||||
---|---|---|---|---|---|---|---|
الحالة | ثماني بتات واحد | اطّلِع على رموز الحالة في الجدول 140 من مواصفات NCI. |
إشعار حلقة الاستطلاع
يجب أن يرسل NFCC إشعارًا NCI_ANDROID_POLLING_FRAME_NTF
إلى المضيف.
بعد كل إطار لحلقة الاستطلاع. عندما يُمنع كل من RF_FIELD_INFO_NTF
و
يتم إنشاء NCI_ANDROID_POLLING_FRAME_NTF
إشعار، ويجب أن يرسل NFCC
NCI_ANDROID_POLLING_FRAME_NTF
بعد RF_FIELD_INFO_NTF
.
إنّ إشعار NCI_ANDROID_POLLING_FRAME_NTF
مستقلّ عمّا إذا كان
وضع المراقبة نشط أم لا. عندما يكون وضع المراقبة نشطًا،
يجب أن يرسل NFCC دائمًا إشعارًا NCI_ANDROID_POLLING_FRAME_NTF
قبل
متابعة المعاملة.
NCI_ANDROID_POLLING_iframe_NTF
حقول الحمولة | حجم الملف | القيمة/الوصف | |||||
---|---|---|---|---|---|---|---|
بيانات الاستطلاع[0..n] | (m +3) * n ثماني بتات | قائمة طلبات الاستطلاع التي تم تلقّيها منذ آخر . وتعطي كل نتيجة نوع (تقنية) البيانات المستلمة الطلبات والبيانات التي تحدد الهوية من الطلب وفقًا للتكنولوجيا. | |||||
النوع | ثماني بتات واحد | راجِع أنواع الإطارات. | |||||
أعلام | ثماني بتات واحد | راجِع الإبلاغ عن بايت. | |||||
المدة | ثماني بتات واحد | طول (m) تقرير بيانات الاستطلاع، بما في ذلك حقول الطابع الزمني والاكتساب | |||||
الطابع الزمني | 4 ثمانيات | يتم قياس الطابع الزمني بالمللي ثانية من وقت استلام طلبات الاستطلاع. | |||||
اكتساب الألوان | ثماني بتات واحد | قوة طلب الاستطلاع
يشير 0xFF إلى أن القيمة غير متاحة. |
|||||
البيانات | م - 5 ثماني بتات | عرض بيانات التعريف الموجودة في طلب الاستطلاع |
أنواع الإطارات
إطار الاقتراع | النوع | حجم الملف | القيمة/الوصف | |
---|---|---|---|---|
حقل بعيد | 0×00 | ثماني بتات واحد | 0×00 | الحقل غير مفعَّل |
0x01 | الحقل مفعّل | |||
0x02..0xFF | تردد لاسلكي (RFU) | |||
NFC-A | 0x01 | عدد الثمانيات | يجب أن تتضمّن القيمة أمر ISO 14443-3 (مثل REQ أو WUP). | |
NFC-B | 0x02 | عدد الثمانيات | يجب أن تتضمّن القيمة بايت AIF وأمر ISO 14443-3. (على سبيل المثال، REQ أو WUP) | |
NFC-F | 0x03 | عدد الثمانيات | يجب أن تتضمّن القيمة أمر ISO 14443-3 (مثل REQ أو WUP). | |
NFC-V | 0×04 | عدد الثمانيات | يجب أن تتضمّن القيمة أمر ISO 14443-3 (مثل REQ أو WUP). | |
غير معروف | 0×07 | عدد الثمانيات | بيانات الإطارات الأولية |
الإبلاغ عن تعريف البايت
أعلام | ||||||||
---|---|---|---|---|---|---|---|---|
B0 | ب1 | ب2 | ب 3 | ب4 | ب5 | ب6 | ب7 | |
0 | إطار قصير | تردد لاسلكي (RFU) | تردد لاسلكي (RFU) | تردد لاسلكي (RFU) | تردد لاسلكي (RFU) | تردد لاسلكي (RFU) | تردد لاسلكي (RFU) | تردد لاسلكي (RFU) |
1 | إطار طويل |
طلب بحث حالة وضع مراقبة
لاسترداد الحالة الحالية لوضع الطلب السلبي، يمكن للمضيف استخدام
الأمر NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_CMD
. يجب أن يكون NFCC
الردّ باستخدام الحالة "NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_RSP
"
رمز يشير إلى نجاح الفشل.
NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_CMD
حقول الحمولة | حجم الملف | القيمة/الوصف | |||||
---|---|---|---|---|---|---|---|
لا ينطبق | 0 ثُمانيات |
NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_RSP
حقول الحمولة | حجم الملف | القيمة/الوصف | |
---|---|---|---|
الحالة | ثماني بتات واحد | اطّلع على رموز الحالة في الجدول 140 من مواصفات NCI، | |
وضع المراقبة | ثماني بتات واحد | 0×00 | تم إيقاف وضع المراقبة |
0x01 | تم تفعيل وضع المراقبة |