البدء
إنشاء حساب
يسجّل المستخدمون الجدد عبر /register. تنقسم الشاشة إلى لوحة تسويقية على اليسار (تضم عنوانًا متحركًا «مرحبًا بك في Apps Kit SDK»، ووصفًا للمنتج في سطر واحد، وثلاث بطاقات إحصائية متحركة — إيرادات أعلى، ومعدلات المطابقة، والأعطال وعدم الاستجابة ANR — وهي عناصر تسويقية تزيينية، وليست بيانات عن حسابك) ونموذج تسجيل على اليمين.

يجمع نموذج التسجيل البيانات التالية:
- الاسم الكامل — مطلوب.
- البريد الإلكتروني — مطلوب، ويجب أن يكون عنوان بريد إلكتروني صالحًا.
- كلمة المرور — مطلوبة، ويجب ألا تقل عن 8 أحرف، وأن تحتوي على حرف كبير واحد وحرف صغير واحد ورمز خاص واحد على الأقل (مثل
!@#$%^&*).
يؤدي النقر على إنشاء حساب إلى إنشاء حساب في Firebase باستخدام البريد الإلكتروني وكلمة المرور، وإرسال رسالة تحقق من البريد الإلكتروني عبر Firebase فورًا، ثم تسجيل المستخدم في الواجهة الخلفية لـ Apps Kit SDK (POST /oauth/login مع oauthProvider: "email"). بعد ذلك، يُعاد توجيهك إلى /login — إنشاء الحساب لا يسجّل دخولك تلقائيًا، ولا يمكنك تسجيل الدخول حتى تتحقق من بريدك الإلكتروني (راجع قسم تسجيل الدخول أدناه).
بدلًا من ذلك، يستخدم خيار التسجيل باستخدام Google نافذة Google المنبثقة عبر Firebase (signInWithPopup)، ويسجّل الحساب باستخدام oauthProvider: "gmail". لا يتطلب التسجيل باستخدام Google تحققًا منفصلًا من البريد الإلكتروني، وينقلك مباشرةً إلى / (تطبيقاتي) أو /users بحسب نوع الحساب.
يعيدك رابط «هل لديك حساب بالفعل؟ سجّل الدخول هنا» إلى /login.
تسجيل الدخول
تستخدم شاشة تسجيل الدخول (/login) تخطيط اللوحتين نفسه المستخدم في شاشة التسجيل: لوحة تسويقية على اليسار وبطاقة تسجيل الدخول الفعلية على اليمين.
LOGIN_SCREEN_IMAGE
يحتوي نموذج تسجيل الدخول على:
- البريد الإلكتروني — مطلوب، وبتنسيق بريد إلكتروني صالح.
- كلمة المرور — مطلوبة.
- زر تبديل لإظهار كلمة المرور أو إخفائها (أيقونة عين) في حقل كلمة المرور.
- متابعة — زر الإرسال، ويظل معطّلًا حتى تصبح بيانات النموذج صالحة.
- تذكّرني — مربع اختيار يحفظ عنوان بريدك الإلكتروني (وليس كلمة المرور) في المتصفح عند تحديده، ليُملأ الحقل مسبقًا في زيارتك التالية.
- هل نسيت كلمة المرور؟ — رابط إلى
/forget-password. - زر «تسجيل الدخول باستخدام Google» — يستخدم آلية نافذة Firebase المنبثقة نفسها المستخدمة عند التسجيل باستخدام Google، ولكن للحسابات الحالية.
- «مستخدم جديد؟ سجّل هنا» — رابط إلى
/register.
عند تسجيل الدخول باستخدام البريد الإلكتروني وكلمة المرور، يجري أيضًا التحقق من تأكيد عنوان البريد الإلكتروني لحسابك في Firebase؛ وإذا لم يكن مؤكّدًا، فستظهر رسالة «يرجى التحقق من بريدك الإلكتروني أولًا.» ولن يُسجّل دخولك. بعد نجاح تسجيل الدخول (بأي من الطريقتين)، تُوجَّه إلى / (تطبيقاتي) إذا كان حسابك حساب مستخدم عادي، أو إلى /users إذا كان حسابًا داخليًا أو حساب مسؤول.
نسيان كلمة المرور
تحتوي صفحة /forget-password على نموذج بحقل واحد فقط، وهو عنوان بريدك الإلكتروني. يؤدي إرساله إلى استدعاء sendPasswordResetEmail في Firebase — لا توجد آلية لإعادة تعيين كلمة المرور داخل البوابة؛ بل تتلقى رابط إعادة التعيين عبر البريد الإلكتروني، ويظهر إشعار عابر يؤكد: «تم إرسال رسالة إعادة تعيين كلمة المرور. يرجى التحقق من صندوق الوارد»، ثم تُعاد إلى /login. ويتوفر أيضًا رابط «العودة إلى تسجيل الدخول؟» مباشرةً في الصفحة.

شريط التنقل العلوي
بعد تسجيل الدخول، تعرض كل صفحة (باستثناء شاشات المصادقة) شريط تنقل علويًا مع قائمة حسابك على اليمين، وبجوارها جرس إشعارات يظهر في صفحة تطبيقاتي فقط.
قائمة الحساب. يؤدي النقر على صورتك الرمزية أو اسمك أو بريدك الإلكتروني في أعلى اليمين إلى فتح قائمة منسدلة تتضمن:
- صف «حسابي» الذي يمثل حسابك الشخصي (تشير نقطة زرقاء إلى أنه السياق النشط عند تحديده).
- قسم «تمت مشاركته معي» — لا يظهر إلا إذا كنت قد قبلت دعوة مشاركة واحدة على الأقل من فريق آخر. ويعرض كل مُرسِل دعوة باسمه وبريده الإلكتروني وصورته الرمزية. يؤدي النقر على أحدهم إلى تبديل سياق البوابة بالكامل إلى ذلك الحساب (تقنيًا: يُطلِق
switchAccount())، بحيث يصبح كل ما تراه بعد ذلك — تطبيقاتي، والعلامات التجارية، والحملات، وغيرها — خاصًا بموارد ذلك الحساب، مع تصفيتها بحسب الصلاحيات الممنوحة لك. - تذييل يتغير بحسب السياق: إذا كنت تعرض حسابك الشخصي، فسيُظهر رابط «الملف الشخصي». أما إذا كنت تعرض حاليًا حسابًا مشتركًا انتقلت إليه، فسيُظهر بدلًا منه زرًا أحمر بعنوان «خروج → تمت مشاركته معي»، يعيدك إلى حسابك الشخصي وينقلك إلى صفحة تمت مشاركته معي.
عند عرض حساب انتقلت إليه، يعرض شريط التنقل أيضًا شارة صغيرة بعنوان «مشترك» بجوار الاسم المعروض، ليظل واضحًا دائمًا صاحب البيانات التي تطّلع عليها.

جرس الإشعارات. يظهر فقط في المسارين / و/apps (أي لوحة تحكم تطبيقاتي)، ولا يظهر في أي موضع آخر من البوابة. يمثّل العدد في شارته إجمالي الإشعارات في جميع مجموعات الإشعارات. يؤدي النقر عليه إلى فتح قائمة منسدلة بعنوان «الإشعارات»، تعرض الإشعارات مجمّعة بحسب النوع، مع رسالة قصيرة لكل منها.
يختلف سلوك النقر على إشعار منفرد بحسب نوعه:
- إذا كان نوع الإشعار هو
upatedSdkVersion(تنبيه «تم تحديث إصدار SDK»)، فإن النقر عليه ينقلك مباشرةً إلى صفحة تفاصيل ذلك التطبيق (/app/:id)، ولا يضع علامة مقروء على الإشعار. - بالنسبة إلى جميع أنواع الإشعارات الأخرى، ينقلك النقر إلى صفحة تنزيل SDK، ويضع علامة مقروء على الإشعار (يستدعي نقطة النهاية الخاصة بوضع علامة مقروء، ويعرض إشعارًا عابرًا نصّه «تم وضع علامة مقروء على الإشعار بنجاح»).

هذا الجرس مجرد قائمة منسدلة للاطّلاع السريع — وواجهته مختلفة وأبسط من صفحة إشعاراتي المخصصة التي يرد وصفها لاحقًا في هذا الدليل، وكلتاهما منفصلتان بدورهما عن قائمة دعوات تمت مشاركته معي. توجد بالفعل ثلاث واجهات مختلفة للدعوات والإشعارات في البوابة؛ راجع قسم الحساب لمعرفة الفروق بينها.