الصفحات الرئيسية هي ميزة جديدة في إضافات Google Workspace تتيح تحديد بطاقة واحدة أو أكثر من البطاقات غير السياقية. تُستخدَم البطاقات غير السياقية لعرض واجهة مستخدم عندما يكون المستخدم خارج سياق معيّن، مثلاً عندما يعرض المستخدم بريده الوارد على Gmail ولكنّه لم يفتح رسالة أو مسودة.
تتيح لك الصفحات الرئيسية عرض محتوى غير سياقي، تمامًا مثل تطبيقات Google في اللوحة الجانبية للوصول السريع (Keep و"تقويم Google" و"مهام Google"). يمكن أن توفّر الصفحات الرئيسية أيضًا نقطة بداية أولية عندما يفتح المستخدم الإضافة لأول مرة، وهي مفيدة لتعليم المستخدمين الجدد كيفية التفاعل مع الإضافة.
يمكنك تحديد صفحة رئيسية للإضافة من خلال تحديدها في ملف البيان الخاص بمشروعك وتنفيذ وظيفة واحدة أو أكثر من وظائف homepageTrigger (راجِع إعدادات الصفحة الرئيسية).
يمكنك الحصول على صفحات رئيسية متعددة، واحدة لكل تطبيق مضيف يوسّعه تطبيقك الإضافي. يمكنك أيضًا تحديد صفحة رئيسية تلقائية واحدة مشتركة يتم استخدامها في المضيفين الذين لم تحدّد فيهم صفحة رئيسية مخصّصة.
تظهر الصفحة الرئيسية للإضافة عند استيفاء أحد الشروط التالية:
- عند فتح الإضافة لأول مرة في التطبيق المضيف (بعد منح الإذن)
- عندما ينتقل المستخدم من سياق مشروط إلى سياق غير مشروط أثناء فتح الإضافة على سبيل المثال، من تعديل حدث في "تقويم Google" إلى التقويم الرئيسي.
- عندما ينقر المستخدم على زر الرجوع عدة مرات لإزالة كل بطاقة أخرى من الحِزم الداخلية
- عندما يؤدي تفاعل واجهة المستخدم في بطاقة غير سياقية إلى إجراء مكالمة
Navigation.popToRoot().
إنّ تصميم صفحة رئيسية ليس إلزاميًا ولكن يُنصح به بشدة. وفي حال عدم تحديد أي صفحة رئيسية، يتم استخدام بطاقة عامة تحتوي على اسم الإضافة عندما يحاول المستخدم الانتقال إلى الصفحة الرئيسية.
إعدادات الصفحة الرئيسية
تستخدم إضافات Google Workspace الحقل
addOns.common.homepageTrigger
لضبط المحتوى التلقائي للصفحة الرئيسية (غير السياقي) للإضافة
في جميع التطبيقات المضيفة في
بيان الإضافة:
{
// ...
"addOns": {
// ...
"common": {
// ...
"homepageTrigger": {
"runFunction": "myFunction",
"enabled": true
}
}
}
}
runFunction: اسم دالة "برمجة تطبيقات Google" التي يستدعيها إطار عمل إضافات Google Workspace لعرض بطاقات الإضافة على الصفحة الرئيسية. هذه الدالة هي دالة مشغّل الصفحة الرئيسية. يجب أن تنشئ هذه الدالة مجموعة من عناصرCardالتي تشكّل واجهة المستخدم للصفحة الرئيسية، وأن تعرضها. إذا تم عرض أكثر من بطاقة واحدة، يعرض التطبيق المضيف عناوين البطاقات في قائمة يمكن للمستخدم الاختيار منها (راجِع عرض بطاقات متعددة).enabled: تحدّد ما إذا كان يجب تفعيل بطاقات الصفحة الرئيسية لنطاق التطبيق هذا. هذا الحقل اختياري، ويتم ضبطه تلقائيًا علىtrue. إذا تم ضبط هذه السياسة علىfalse، سيتم إيقاف بطاقات الصفحة الرئيسية لجميع المضيفين (ما لم يتم تجاهل هذا الإعداد لمضيف معيّن، كما هو موضّح أدناه).
بالإضافة إلى الإعدادات الشائعة، تتوفّر أيضًا عمليات إلغاء منظَّمة بشكل مماثل لكل مضيف في إعدادات كل تطبيق مضيف، وذلك في addOns.gmail.homepageTrigger وaddOns.calendar.homepageTrigger وما إلى ذلك:
{
...
"addOns": {
...
"common": {
// By default, call 'buildHomePage' to render homepage content
// in all hosts. Since calendar.homepageTrigger below overrides
// this in Calendar and Drive and the homepageTrigger is disabled
// for Gmail, this homepage function never executes.
"homepageTrigger": { "runFunction": "buildHomePage" }
},
"calendar": {
// Show customized homepage content for Calendar only.
"homepageTrigger": { "runFunction": "buildCalendarHomepage" }
},
"drive": {
// Show customized homepage content for Drive only.
"homepageTrigger": { "runFunction": "buildDriveHomepage" }
}
"gmail": {
// Disable homepage add-on content in Gmail.
"homepageTrigger": { "enabled": false }
},
...
}
}
يُرجى العِلم أنّ هذا الإعداد يعادل مقتطف البيان التالي:
{
...
"addOns": {
...
"common": { /* ... */ }, // Omitted a default homepageTrigger specification.
"calendar": {
// Show customized homepage content for Calendar only.
"homepageTrigger": { "runFunction": "myCalendarFunction" }
},
"drive": {
// Show customized homepage content for Drive only.
"homepageTrigger": { "runFunction": "myDriveFunction" }
}
"gmail": { /* ... */ },
...
}
}
لا يلزم ملء أي من أقسام homepageTrigger. ومع ذلك، تعتمد واجهة المستخدم المعروضة لإضافة في أي منتج مضيف على توفّر حقل البيان المقابل، وما إذا كان هناك homepageTrigger مرتبط. يوضّح المثال التالي وظائف مشغّل الإضافة التي يتم تنفيذها (إن وُجدت) لإنشاء واجهة مستخدم للصفحة الرئيسية لإعدادات بيان مختلف:

عناصر أحداث الصفحة الرئيسية
عند استدعاء دالة مشغّل الصفحة الرئيسية (runFunction) الموضّحة أعلاه، يتم تمرير عنصر حدث يحتوي على بيانات من سياق الاستدعاء.
لا تتضمّن عناصر أحداث الصفحة الرئيسية معلومات حول الأدوات أو معلومات سياقية، وتقتصر المعلومات التي يتم تمريرها على حقول عنصر الحدث الشائع التالية:
commonEventObject.clientPlatformcommonEventObject.hostAppcommonEventObject.userLocaleوcommonEventObject.userTimezone(ولكن اطّلِع على الوصول إلى لغة المستخدم ومنطقته الزمنية للحصول على معلومات حول القيود).
اطّلِع على عنصر الحدث لمزيد من التفاصيل.
البطاقات الأخرى غير السياقية
يمكن أن تتضمّن واجهة مستخدم الإضافة بطاقات إضافية غير سياقية لا تمثّل صفحات رئيسية. على سبيل المثال، قد تحتوي صفحتك الرئيسية على زر يفتح بطاقة "الإعدادات" حيث يمكن للمستخدم ضبط إعدادات الإضافة (في معظم الحالات، تكون هذه الإعدادات مستقلة عن السياق وبالتالي غير سياقية).
يتم إنشاء البطاقات غير السياقية مثل أي بطاقة أخرى، والفرق الوحيد هو الإجراء أو الحدث الذي يؤدي إلى إنشاء البطاقة وعرضها. يمكنك الاطّلاع على طُرق التنقّل لمعرفة تفاصيل حول كيفية إنشاء انتقالات بين البطاقات.