تنفيذ الثوابت والعناصر الأساسية

يتم تحديد الثوابت والعناصر الأساسية الحسية من خلال طبقة تجريد الأجهزة (HAL) الخاصة بجهاز الاهتزاز، ويتم ربطها بإطار عمل Android بواجهات برمجة التطبيقات العامة. نفِّذ عمليات التحقّق التالية لتحديد ما إذا كان جهازك يستوفي الحدّ الأدنى من المتطلبات اللازمة لتنفيذ ردود الفعل اللمسية:

مخطط انسيابي لعملية تفعيل تقنية اللمس

الشكل 2: تنفيذ المؤثرات

مخطط انسيابي لخطوات تنفيذ
العناصر الأساسية

الشكل 3: تنفيذ العناصر الأساسية

تنفيذ الثوابت

يمكن للمطوّرين استخدام الثوابت الحسّية في VibrationEffect من خلال VibrationEffect.createPredefined(). يُرجى التحقّق من حالة تنفيذ الثوابت الحسّية التالية.

الثوابت الحسية المواقع الجغرافية والملخّصات
EFFECT_TICK، EFFECT_CLICK، EFFECT_HEAVY_CLICK، EFFECT_DOUBLE_CLICK VibrationEffect class
لا تتضمّن ثوابت اللمس في VibrationEffect أي مفهوم لأحداث الإدخال، كما لا تتضمّن أي عناصر واجهة مستخدم. تتضمّن الثوابت مفهوم مستويات الطاقة بدلاً من ذلك، مثل EFFECT_CLICK وEFFECT_HEAVY_CLICK، ويتم استدعاؤها من خلال createPredefined().

يتم تنفيذ الاهتزازات البديلة الموضّحة أدناه على الأجهزة التي لا تنفّذ الثوابت VibrationEffect. ننصحك بتعديل هذه الإعدادات لتكون متوافقة مع هذه الأجهزة.

  • EFFECT_CLICK

    تم إنشاء الاهتزازات الموجية باستخدام VibrationEffect.createWaveform وتم ضبط التوقيتات في frameworks/base/core/res/res/values/config.xml##config_virtualKeyVibePattern.

  • EFFECT_HEAVY_CLICK

    تم إنشاء الاهتزازات على شكل موجة باستخدام VibrationEffect.createWaveform وتم ضبط التوقيتات على frameworks/base/core/res/res/values/config.xml##config_longPressVibePattern.

    • EFFECT_DOUBLE_CLICK

    اهتزازات الشكل الموجي التي تم إنشاؤها باستخدام VibrationEffect.createWaveform والتوقيتات (0 و30 و100 و30).

  • EFFECT_TICK

    تم إنشاء اهتزازات شكل الموجة باستخدام VibrationEffect.createWaveform وتم ضبط التوقيتات على frameworks/base/core/res/res/values/config.xml##config_clockTickVibePattern.

مخطط انسيابي لخطوات اختبار الملاحظات الحسية

الشكل 4. تنفيذ ثوابت الملاحظات

يمكن للمطوّرين استخدام الثوابت الحسّية في HapticFeedbackConstants من خلال View.performHapticFeedback()). تحقَّق من حالة ثوابت الملاحظات العامة التالية.

الثوابت الحسية المواقع الجغرافية والملخّصات
CLOCK_TICK، CONTEXT_CLICK، KEYBOARD_PRESS، KEYBOARD_RELEASE، KEYBOARD_TAP، LONG_PRESS، TEXT_HANDLE_MOVE، VIRTUAL_KEY، VIRTUAL_KEY_RELEASE، CONFIRM، REJECT، GESTURE_START، GESTURE_END فئة HapticFeedbackConstants
ثوابت اللمس في HapticFeedbackConstants أحداث الإدخال المساعد مع عناصر معيّنة في واجهة المستخدم، مثل KEYBOARD_PRESS وKEYBOARD_RELEASE، اللذين يتم استدعاؤهما من خلال performHapticFeedback()

تنفيذ العناصر الأساسية

تتضمّن عناصر التحكم الحسية الأساسية في VibrationEffect.Composition شدة قابلة للتعديل يمكن للمطوّرين استخدامها من خلال addPrimitive(int primitiveId, float scale, int delay). يمكن تقسيم العناصر الأساسية إلى فئتَين:

  • العناصر الأساسية القصيرة: هي عناصر أساسية تستغرق وقتًا قصيرًا، أي أقل من 20 مللي ثانية عادةً، وتشمل CLICK وTICK وLOW_TICK.

  • عناصر Chirp الأساسية: عناصر أساسية ذات سعة وتردد مختلفَين، وعادةً ما تكون مدتها أطول من مدة العناصر الأساسية القصيرة. وهي SLOW_RISE وQUICK_RISE وQUCK_FALL وTHUD وSPIN.

أنواع البيانات الأساسية القصيرة

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

يُعدّ مقياس الجودة المهم للاهتزازات القصيرة هو نسبة النبض إلى الرنين (PRR)، كما هو موضّح في الشكل 5. يتم تعريف نسبة تكرار الرنين بأنها النسبة بين النبضة الرئيسية، المحدّدة بواسطة الإشارة داخل فترة المدة التي ينخفض فيها السعة إلى% 10 من الحد الأقصى للسعة، ونبضة الرنين، المحدّدة بواسطة الإشارة التي تنخفض فيها السعة من% 10 من الحد الأقصى للسعة إلى أقل من% 1 من الحد الأقصى للسعة. صيغة معدّل التكرار هي:

$$ \text{Pulse to ring ratio (PRR)} = 20log_{10}\frac{\text{RMS (main pulse)}}{\text{RMS (ring)}} $$

لمزيد من المعلومات حول "تقرير أداء الموقع"، راجِع مقالة تحليل شكل الموجة، ولمزيد من المعلومات حول تحليل النتائج ومقارنتها، راجِع مقالة مقارنة النتائج باستخدام خريطة الأداء.

نسبة النبض إلى الرنين

الشكل 5. تعريف نسبة النبض إلى الرنين

استخدِم العناصر الأساسية القصيرة كتعليقات على بيانات أدخلها المستخدم أو شغِّلها في مقطوعات أطول لإنشاء تأثيرات ناعمة. وهذا يعني أنّه يتم تشغيلها عادةً بشكل متكرّر ومتتالٍ. يمكن أن تزيد الشدة المدرَكة لعنصر بدائي قصير واحد من شدة التأثير الأكبر. لهذا السبب، يجب معايرة عنصر أساسي واحد أو عدد قليل من العلامات باستخدام تركيبة أكبر، مثل 100 علامة متتالية.

عنصر النقر الأساسي

تكون تأثيرات النقر قوية وواضحة، وعادةً ما تعمل بالقرب من التردد الرنيني للجهاز للوصول إلى الحد الأقصى من الناتج خلال مدة قصيرة. وهي أقوى وأعمق من المشاعر الأساسية الأخرى، وتعمل بأقصى شدة.

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

ملف تسريع ناتج المكوّن

الشكل 6. مثال على ملف تسريع الإخراج لمكوّن النقر

المَعلمة الإرشادات
المدة

الهدف: 12 مللي ثانية

الحدّ الأقصى: أقل من 30 مللي ثانية

تسارع الإنتاجية في أوقات الذروة

الهدف: 2 جيجابايت

الحدّ الأقصى: > 1 غيغابايت

التكرار تقريبًا عند التردد الرنيني

عنصر علامة صح أساسي (علامة صح خفيفة)

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

ملف تسريع إخراج مكوّن Tick

الشكل 7. مثال على ملف تسريع الإخراج الخاص بعنصر tick الأساسي

المَعلمة الإرشادات
المدة

الهدف: 5 ملّي ثانية

الحدّ الأقصى: < 20 مللي ثانية

تسارع الإنتاجية في أوقات الذروة

الهدف: نصف CLICK، 1 غ

الحدّ: بين 0.5 غيغابايت و1 غيغابايت

التكرار

الهدف: ضعف التردد الرنيني

الحدّ الأقصى: < 500 هرتز

Low tick primitive

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

ملف تسريع ناتج الأشكال الأساسية ذات عدد التجزئة المنخفض

الشكل 8. مثال على ملف تسريع الإخراج الأولي المنخفض

المَعلمة الإرشادات
المدة

الهدف: 12 مللي ثانية

الحدّ الأقصى: أقل من 30 مللي ثانية

تسارع الإنتاجية في أوقات الذروة

الهدف: ربع TICK، أي 0.25 غيغابايت

الحدّ: بين 0.2 G و0.5 G

التكرار

الهدف: 2/3 من التردد الرنيني

الحدّ الأقصى: أقل من 100 هرتز

عناصر Chirp الأساسية

يمكن وصف عناصر Chirp الأساسية من خلال إشارات الإدخال لمستوى الجهد وتردد الاهتزاز. يختلف التسارع الذي يمكن أن يوفّره المحرك في نطاقات التردد المختلفة حسب منحنى استجابة التردد للمشغّل. يجب تعديل نطاقات التردد ومستويات الفولتية لكل جهاز على حدة.

Slow rise primitive

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

مَعلمات الإدخال وملف تسريع الإخراج للعنصر الأساسي الذي يرتفع ببطء

الشكل 9. مَعلمات الإدخال ومثال على ملف تعريف تسريع الإخراج للعنصر الأساسي الذي يرتفع ببطء

إذا كان استجابة التردد للمحرك محدودة (غير قوية بما يكفي خارج تردد الرنين)، يمكن استخدام طريقة بديلة وهي مسح جيبي من 1/2x إلى 1x تردد الرنين. يساهم رنين المحرّك في الوصول إلى ذروة الإشارة في النهاية.

المَعلمة الإرشادات
المدة

الهدف: 500 مللي ثانية

التفاوت: 20 مللي ثانية

تسارع الإنتاجية في أوقات الذروة

الهدف: 0.5 غرام

الحدّ: بين 0.5 غيغابايت و1 غيغابايت

التكرار

الهدف: من 1/2 إلى 2/3 من التردد الرنيني

البديل: من 1/2 إلى التردد الرنيني

Quick rise primitive

الارتفاع السريع هو زيادة أسرع في السعة والتردد مع بداية ناعمة وزيادة ثابتة في شدة الاهتزاز على مستوى عملية المسح. يجب أن تكون أهداف تسارع الإخراج وتردّد الاهتزاز هي نفسها أهداف عنصر &quot;الارتفاع البطيء&quot; الأساسي، ولكن يتم تحقيقها في مدة أقصر. يعرض الشكل 10 مَعلمات إدخال الاهتزاز ومثالاً على ملف تسريع الناتج الخاص بالعنصر الأساسي &quot;الارتفاع البطيء&quot;. (يتطابق الخط الأحمر مع تصنيفات السعة على اليمين ويمثّل كيفية تغيُّر سعة الاهتزاز مع مرور الوقت. يتطابق الخط الأزرق مع تصنيفات التردد على اليسار ويمثّل كيفية تغيُّر تردد الاهتزاز مع مرور الوقت.)

مَعلمات الإدخال وملف تسريع الإخراج للعنصر الأساسي الذي يرتفع بسرعة

الشكل 10. مَعلمات الإدخال ومثال على ملف تسريع الإخراج الخاص بالعنصر الأساسي quick rise

المَعلمة الإرشادات
المدة

الهدف: 150 مللي ثانية

التفاوت: 20 مللي ثانية

تسارع الإنتاجية في أوقات الذروة

الهدف: الأسعار نفسها في فندق SLOW_RISE

الحدّ الأقصى: هو نفسه SLOW_RISE

التكرار

الهدف: الأسعار نفسها في فندق SLOW_RISE

الخيار البديل: الأسعار نفسها في فندق SLOW_RISE

Quick fall primitive

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

مَعلمات الإدخال وملف تعريف تسارع الإخراج لعنصر السقوط السريع

الشكل 11. مَعلمات الإدخال ومثال على ملف تعريف تسارع الإخراج للعنصر الأساسي الخاص بالسقوط السريع

المَعلمة الإرشادات
المدة

الهدف: 100 مللي ثانية

التفاوت: 20 مللي ثانية

تسارع الإنتاجية في أوقات الذروة

الهدف: 1 G

الحدّ: بين 0.5 غيغابايت و2 غيغابايت

التكرار

الهدف: من ضعف إلى مرّة واحدة من التردد الرنيني

Thud primitive

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

مَعلمات الإدخال وملف تعريف تسريع الإخراج لعنصر thud الأساسي

الشكل 12: معلَمات الإدخال ومثال على ملف تعريف تسريع الإخراج لعنصر thud الأساسي

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

المَعلمة الإرشادات
المدة

الهدف: 300 مللي ثانية

التفاوت: 20 مللي ثانية

تسارع الإنتاجية في أوقات الذروة

الهدف: 0.25 غرام

الحدّ: بين 0.2 G و0.5 G

التكرار

الهدف: من 1/2 إلى 1/3 من التردد الرنيني

البديل: من 1 إلى 1/2 من التردد الرنيني

عنصر Spin الأساسي

يحاكي الدوران قوة دفع دورانية سريعة للأعلى والأسفل مع تركيز بسيط في المنتصف. يمكن تنفيذ الدوران من خلال تغيير السعة والتردد بشكل مستقل وفي اتجاهين متعاكسين، ثم عكس الحركة. من المهم استخدام نطاق تردد منخفض (يُفضّل أن يكون أقل من 100 هرتز). يعرض الشكل 13 مَعلمات الإدخال ومثالاً على ملف تسريع الإخراج لهذا التنفيذ. (يتطابق الخط الأحمر مع تصنيفات السعة على اليمين ويمثّل كيفية تغيُّر سعة الاهتزاز مع مرور الوقت. يتطابق الخط الأزرق مع تصنيفات التردد على اليسار ويمثّل كيفية تغيُّر تردد الاهتزاز مع مرور الوقت.)

وقد نصحنا بأن يتم استدعاء العنصر الأساسي الخاص بالدوران مرتين متتاليتين، أو ثلاث مرات في التركيبات، لتحقيق إحساس بالدوران وعدم الثبات.

إذا كان استجابة التردد للمحرك محدودة، يمكن تنفيذ طريقة بديلة وهي إجراء مسح سريع للموجة الجيبية من 1/2x إلى 1x التردد الرنيني والعودة. يمنح الرنين الحركي الإشارة تلقائيًا نبرة في المنتصف.

مَعلمات الإدخال وملف تعريف التسارع الناتج عن مكوّن الدوران

الشكل 13. معلَمات الإدخال ومثال على ملف تعريف تسارع الإخراج لعنصر spin الأساسي

المَعلمة الإرشادات
المدة

الهدف: 150 مللي ثانية

التفاوت: 20 مللي ثانية

تسارع الإنتاجية في أوقات الذروة

الهدف: 0.5 غرام

الحدّ: بين 0.25 G و0.75 G

التكرار

الهدف: من 2/3 إلى 1/3، ثم العودة إلى 1/2 من التردد الرنيني

البديل: من 2/3 إلى 1 مرة، ثم العودة إلى 1/2 من التردد الرنيني