Skip to main content
‏Protokite Playtest حزمة اختيارية لـUnity تحوّل بناءً من لعبتك إلى بناء اختبار لعب. وما دام اختبار اللعب قائمًا، يصبح كل تشغيل للعبة جلسةً واحدة في صفحة Sessions الخاصة بالاختبار، ويقرّر الاختبار ما تجمعه تلك الجلسة. ولا تحتاج إلى أي شيفرة: ثبّتها، ووجّهها إلى اختبار اللعب لديك، وسجّل دخول لاعب، ثم اضغط Play.

احصل على الحزمة

يثبّتها تبويب Playtesting في حزمة Flock بنقرة واحدة. ويُرفق الملف ProtokitePlaytest-<version>.unitypackage أيضًا بكل إصدار من حزمة Flock لـUnity، وبالرقم ذاته.

ما الذي يجمعه اختبار اللعب

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

قبل أن تبدأ

  • حزمة Flock مُعدّة وتعمل في المشروع: Api Url وApi Key وGame Name وGame Version في Flock → Settings، مع قيمة ظاهرة في Resolved Version ID. راجع صفحة حزمة تطوير Unity.
  • هناك اختبار لعب في Protokite. وإنشاء واحد يُنشئ له إصدار لعبة في Flock، اسمه pt- يليه معرّف الاختبار.
  • يُسجَّل الفيديو على Windows بنواة 64 بت وعلى Android. وأما بقية المنصّات فتشغّل سائر أجزاء اختبار اللعب، وتذكر مرة واحدة في السجل أنها لا تسجّل فيديو. راجع المنصّات.

الخطوة 1: ثبّت الحزمة

1

افتح تبويب Playtesting

من شريط قوائم Unity اختر Flock → Settings ثم تبويب Playtesting. يذكر التبويب رقم الإصدار الذي سيثبّته، وهو دائمًا مطابق لإصدار حزمة Flock لديك.
نافذة إعدادات Flock على تبويب Playtesting، وفيها Not installed وزر Install Protokite Playtest

Flock → Settings → Playtesting قبل تثبيت الحزمة.

2

اضغط Install Protokite Playtest

ينزّل الحزمة من إصدار حزمة Flock ويستوردها إلى Assets/ProtokitePlaytest، دون حاجة إلى Git. تصرّفها Unity، ثم يعرض التبويب الإصدار المثبّت مع زرّين تستعملهما في الخطوات التالية: Open Playtest Settings وCheck Playtest Setup.
تبويب Playtesting يعرض الإصدار المثبّت مع أزرار Open Playtest Settings وCheck Playtest Setup وRemove

التبويب نفسه بعد تثبيت الحزمة: إصدارها، وموضعها، والأزرار التي تحتاجها في الخطوات التالية.

طريقتان أخريان، وكلتاهما بإصدار حزمة Flock نفسه: انقر نقرًا مزدوجًا على ProtokitePlaytest-<version>.unitypackage من صفحة الإصدارات، أو أدخل في Window → Package Manager → + → Add package from git URL العنوان https://github.com/QwackStack/FlockUnitySDK.git?path=/ProtokitePlaytest~#v<version> (وهذه الطريقة تحتاج إلى Git مثبّتًا). واترك الحزمة خارج المشاريع التي لا تُجري اختبارات لعب.

الخطوة 2: وجّه البناء إلى اختبار اللعب

يجد Protokite اختبار اللعب من إصدار Flock الخاص باختبار اللعب نفسه. ويرسله البناء إلى Protokite وحده: فيبقى Game Version إصدار لعبتك، ومعه كل ما أعددته تحته في Flock.
1

شغّل اختبار اللعب

اختر Protokite → Playtest → Settings، أو اضغط Open Playtest Settings في تبويب Playtesting. في المرة الأولى يُنشأ الملف Assets/Resources/ProtokitePlaytestSettings.asset واختبار اللعب مطفأ، ويُحدَّد في نافذة Inspector. فعّل Playtesting Enabled.قيمة Protokite Api Url مضبوطة مسبقًا على بيئة الإنتاج، https://api-protokite.qwacks.com؛ لا تغيّرها إلا لتشير إلى Protokite محلي مثل http://localhost:8020. يجب أن يبدأ العنوان بـhttp:// أو https:// وألا يحوي مسافات؛ والعنوان المخالف يُرفض بدل أن يُصحَّح.
ملف إعدادات Protokite Playtest في نافذة Inspector في Unity، مع تفعيل Playtesting Enabled وPlaytest ID محوَّل

Protokite → Playtest → Settings: المفتاح، وعنوان Protokite، وPlaytest ID مع الإصدار الذي حُوِّل إليه وما وجده Flock، والسؤال الموجّه إلى اللاعب، ونموذج الملاحظات، وإعدادات التسجيل.

2

ألصق معرّف اختبار اللعب

افتح الاختبار في Protokite وانسخ معرّفه: معرّف إصدار Flock الذي تعرضه كتلة SDK فيه، أو معرّف الاختبار نفسه من عنوان الصفحة (بعد /tests/). وألصق أيًّا منهما في Playtest ID في إعدادات اختبار اللعب. فيجد المحرّر إصدار اختبار اللعب عبر Flock، ويعرضه في Resolved Version ID، ويذكر تحته ما وجده Flock.
يبقى Game Version إصدار لعبتك. فطلبات اختبار اللعب إلى Protokite وحدها تحمل إصدار اختبار اللعب، لذا تبقى قوالب اللاعبين والإعدادات والمتجر تعمل في بناء اختبار اللعب.
اترك Playtest ID فارغًا ينضمّ البناء إلى أحدث اختبار لعب للعبتك، أيًّا كان الأحدث في Protokite حين يبدأ البناء، حتى لو كان اختبارًا أغلقته. والاختبار الذي يُنشأ بعد ذلك يُنضمّ إليه من التشغيل التالي، لا في منتصف تشغيل. املأ Playtest ID لتختار. ويبقى Game Version الذي هو نفسه اسم اختبار لعب، أي pt- يليه معرّف الاختبار، ينضمّ إلى ذلك الاختبار، كما كان قبل 1.68.0.
معرّف Playtest ID الذي لم يُحوَّل إلى اختبار لعب يُبقي اختبار اللعب مطفأً، ويُرفض البناء الذي فيه Playtesting Enabled مفعّل حتى يُحوَّل. افتح إعدادات اختبار اللعب حين يمكن الوصول إلى Flock؛ وResolve Again يعيد السؤال.

الخطوة 3: افحص إعدادك

اختر Protokite → Playtest → Setup Checks And Test Video، أو اضغط Check Playtest Setup في تبويب Playtesting. تفحص النافذة ما يحتاجه بناء هذا المشروع لاختبار اللعب. والفحص الناجح عليه علامة صح خضراء ويقول ذلك:
نافذة إعداد Protokite Playtest فيها الفحوص الأربعة كلها ناجحة لمنصّة بناء Android

Protokite → Playtest → Setup Checks And Test Video، لمشروع يُبنى لـAndroid: الفحوص الأربعة كلها ناجحة.

الفحص الذي يفشل عليه علامة حمراء، ويذكر ما يجب تغييره، ومعه زر يفتح موضع التغيير: Open Playtest Settings أو Open Flock Settings أو Open Build Settings، أو Resolve Playtest ID، أو Set Game Version To pt-… حين يكون Playtest ID فارغًا وقد ألصقت معرّف الاختبار في Game Version. ويُفحص Playtest ID، أو Game Version حين يكون فارغًا، مع Flock عند فتح النافذة وكلما تغيّرت الإعدادات؛ وCheck Again يعيد السؤال. وظهور «Players built for … record no video» لا يوقف اختبار اللعب: البناء لمنصّة أخرى يشغّل كل شيء آخر ولا يسجّل فيديو.

الخطوة 4: سجّل دخول لاعب

اختبار اللعب لا يسجّل دخول أي لاعب أبدًا. تبدأ جلسته حين تصل جلسة Flock إلى الخادم، وتبدأ جلسة Flock حين تسجّل لعبتك دخول لاعب، مع تفعيل Analytics Enabled وAnalytics Auto Start Session في Flock → Settings → Advanced Settings (أو حين تستدعي StartSessionAsync)، ومع منح الموافقة حين يكون Analytics Require Explicit Consent مفعّلًا. ويكفي تسجيل الدخول بالجهاز، ولا يحتاج إلى حساب:
في المرة الأولى التي يسجّل فيها جهاز دخوله، سجّله بـRegisterWithDeviceAsync بدلًا من ذلك؛ وصفحة حزمة تطوير Unity تشرح تسجيل الدخول كاملًا. وفي مثال الحزمة زر Sign In With This Device يفعل الأمرين، لبناء لا شاشة تسجيل دخول له.

الخطوة 5: اضغط Play

يسأل البناء لاعبه عمّا يجوز لاختبار اللعب أن يجمعه، ولا يجمع شيئًا حتى يجيب. يُرسم السؤال فوق اللعبة بمجرد تحميل اختبار اللعب الخاص بهذا البناء، ويعرض أربع إجابات: تسجيل الشاشة وجمع بيانات اللعب، أو الشاشة وحدها، أو بيانات اللعب وحدها، أو لا شيء على الإطلاق — وهي تجعل البناء يتصرّف كما لو كان Playtesting Enabled مطفأً.
لعبة في Unity تعرض سؤال اختبار اللعب What this playtest may collect مع أربع إجابات

السؤال الذي يطرحه بناء اختبار اللعب على لاعبه، فوق اللعبة، قبل أن يجمع أي شيء.

ويُجاب بالفأرة، أو بلمسة على الهاتف. وما دام السؤال على الشاشة يظهر المؤشّر حرًّا، ويعود كما كانت لعبتك تضبطه بعد أن يجيب اللاعب. ولا تكون أي إجابة محدّدة حين يظهر، فلا يضغط مفتاح Submit الخاص بلعبتك أي إجابة، وتُتجاهل النقرة في نصف الثانية الأولى من ظهوره.
إنه سؤال اختبار اللعب نفسه. أما Analytics Require Explicit Consent في حزمة Flock فسؤال آخر، تطرحه لعبتك بكلماتها عن تحليلات لعبتك. ولا تغيّر أيٌّ من الإجابتين الأخرى، والسؤال يقول ذلك أمام اللاعب.
تُحفظ الإجابة على جهاز اللاعب ويستعملها كل تشغيل لاحق، ويحمل كل بدء جلسة القيمتين playtest_consent و playtest_consent_asked، فتُقرأ الجلسة التي لا تسجيل فيها على أنها للاعب طلب ألا يُسجَّل شيء، لا لبناء أخطأ. ولكي يُطرح السؤال مجددًا في المحرّر، اضغط Forget This Machine’s Answer في نافذة الإعداد. وعلى الهاتف يتبعها سؤال ثانٍ بعد إجابة تسمح بتسجيل الشاشة: هل يجوز رفع التسجيلات على بيانات الهاتف أم تنتظر Wi-Fi. راجع على الهاتف: الشبكات التي تُرفع عليها التسجيلات. ويمكن للعبتك أن تتولّى السؤال من قوائمها:
لا تُطفئ Ask The Player For Playtest Consent في إعدادات اختبار اللعب إلا حيث يُسأل لاعبوك بطريقة أخرى، أو في تشغيل اختباري لا أحد فيه ليجيب؛ عندها يجمع البناء ما يشغّله اختبار اللعب، وتذكر كل جلسة أن اللاعب لم يُسأل. والإجابة التي أعطاها لاعب من قبل تبقى معتبرة.

تابعه وهو يعمل

تذكر نافذة Console ما يفعله اختبار اللعب، وكل سطر يبدأ بـ[Protokite Playtest]:
بعدها تظهر الجلسة في صفحة Sessions الخاصة باختبار اللعب. وتنتهي حين تُغلق اللعبة؛ وينتظر الإغلاق حتى 3 ثوانٍ ليستلم Protokite نهايتها. ولا ينهيها تسجيل الخروج ولا جلسة Flock جديدة ولا إعادة تشغيل حزمة Flock ولا يعيد بدءها: التشغيل الواحد جلسة واحدة. وفي الشيفرة، تجيب ProtokitePlaytest.Status عن السؤال نفسه الذي يجيب عنه السجل، وتعطي ProtokitePlaytest.Describe(status) كلمات السجل.

حين يتوقّف اختبار اللعب

تذكر نافذة Console السبب وما يجب تغييره، مرة واحدة، على شكل تحذير. والرفض (PlaytestNotLinked وProtokiteRefusedApiKey وPlaytestConfigForAnotherVersion) لا يُسأل عنه مجددًا حتى تبدأ حزمة Flock من جديد أو يُعاد تشغيل اللعبة، إذ ستكون الإجابة نفسها.

قبل أن تنشر لعبتك

أطفئ Playtesting Enabled قبل أن تبني إصدار النشر. ومع Playtest ID يكون Game Version إصدار لعبتك أصلًا؛ ومن دونه أعِد Game Version إلى إصدار نشر أيضًا. ويبقى بناء النشر يرفع أي تسجيل لم يستطع بناء اختبار لعب سابق على ذلك الجهاز إرساله، فلا يضيع تسجيل لاعب أبدًا؛ ومع إطفاء اختبار اللعب لا يُسجَّل شيء آخر ولا يُرسَل. ولإزالة الحزمة اضغط Remove في تبويب Playtesting. ويبقى ملف الإعدادات حتى تحذفه.

أخبر لاعبيك

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

ما الذي يجمعه اختبار اللعب

الفيديو، ونوافذ الأداء، والاستثناءات، ونماذج الملاحظات، واستدعاءات C# لكلٍّ منها، وكيف تختبر ذلك كله.

حزمة تطوير Unity

حزمة Flock التي يعمل عليها اختبار اللعب: الإعداد، وتسجيل الدخول، وبيانات لعبتك.