يشير ذلك المصطلح إلى إجراء يتيح التفاعل داخل عناصر واجهة المستخدم. لا يتم تنفيذ الإجراء على البرنامج مباشرةً، بل يستدعي وظيفة معاودة الاتصال ببرمجة التطبيقات مع معلَمات اختيارية.
متاحة لإضافات Google Workspace وتطبيقات Google Chat.
var image = CardService.newImage() .setOnClickAction(CardService.newAction() .setFunctionName("handleImageClick") .setParameters({imageSrc: 'carImage'}));
الطُرق
الطريقة | نوع القيمة التي يتم إرجاعها | وصف قصير |
---|---|---|
addRequiredWidget(requiredWidget) | Action | يضيف أسماء التطبيقات المصغّرة التي يحتاجها هذا الإجراء لإرسال صالح. |
setAllWidgetsAreRequired(allWidgetsAreRequired) | Action | يشير إلى ما إذا كان هذا الإجراء يتطلب إدخالات من جميع التطبيقات المصغّرة. |
setFunctionName(functionName) | Action | لضبط اسم دالة معاودة الاتصال المطلوب استدعائها. |
setInteraction(interaction) | Action | لضبط التفاعل مع المستخدم، يكون مطلوبًا فقط عند فتح مربّع حوار. |
setLoadIndicator(loadIndicator) | Action | لضبط مؤشر التحميل الذي يظهر أثناء تنفيذ الإجراء. |
setParameters(parameters) | Action | يسمح بتمرير المعلمات المخصصة إلى دالة رد الاتصال. |
setPersistValues(persistValues) | Action | تشير هذه السمة إلى ما إذا كانت قيم النموذج يتم تحديدها حسب قيم العميل أو قيم الخادم بعد أن يعدّل الاستجابة الإجراء Card للنموذج. |
الوثائق التفصيلية
addRequiredWidget(requiredWidget)
يضيف أسماء التطبيقات المصغّرة التي يحتاجها هذا الإجراء لإرسال صالح. إذا لم تكن التطبيقات المصغّرة في هذه القائمة تحتوي على قيمة عند استدعاء هذا الإجراء، سيتم إلغاء إرسال النموذج.
هذه الميزة متاحة فقط لتطبيقات Google Chat. غير متاحة لإضافات Google Workspace.
var textInput = CardService.newTextInput() .setFieldName("text_input_1") .setTitle("Text input title") // Creates a footer button that requires an input from the above TextInput Widget. var action = CardService.newAction() .setFunctionName("notificationCallback") .addRequiredWidget("text_input_1"); var fixedFooter = CardService .newFixedFooter() .setPrimaryButton( CardService .newTextButton() .setText("help") .setOnClickAction(action));
المَعلمات
الاسم | النوع | الوصف |
---|---|---|
requiredWidget | String | اسم التطبيق المصغّر الذي يتطلبه هذا الإجراء. |
استرجاع الكرة
Action
: هذا الكائن، للتسلسل.
setAllWidgetsAreRequired(allWidgetsAreRequired)
يشير إلى ما إذا كان هذا الإجراء يتطلب إدخالات من جميع التطبيقات المصغّرة.
هذه الميزة متاحة فقط لتطبيقات Google Chat. غير متاحة لإضافات Google Workspace.
// Creates a button with an action that requires inputs from all widgets. const button = CardService.newTextButton() .setText('Create notification') .setOnClickAction( CardService.newAction() .setAllWidgetsAreRequired(true));
المَعلمات
الاسم | النوع | الوصف |
---|---|---|
allWidgetsAreRequired | Boolean | ما إذا كان الإجراء يتطلب إدخالات من جميع التطبيقات المصغّرة وتكون الإعدادات التلقائية
false . |
استرجاع الكرة
Action
: هذا الكائن، للتسلسل.
setFunctionName(functionName)
لضبط اسم دالة معاودة الاتصال المطلوب استدعائها. مطلوبة.
المَعلمات
الاسم | النوع | الوصف |
---|---|---|
functionName | String | اسم الدالة. يمكنك استخدام دوال من المكتبات المضمّنة،
مثل Library.libFunction1 . |
استرجاع الكرة
Action
: هذا الكائن، للتسلسل.
setInteraction(interaction)
لضبط التفاعل مع المستخدم، يكون مطلوبًا فقط عند فتح مربّع حوار. وفي حال عدم تحديد ذلك، يستجيب التطبيق من خلال تنفيذ Action
مثل فتح رابط أو تشغيل دالة كالعادة.
هذه الميزة متاحة فقط لتطبيقات Google Chat. غير متاحة لإضافات Google Workspace.
const action = CardService.newAction() .setFunctionName('handleDialog') .setInteraction(CardService.Interaction.OPEN_DIALOG);
المَعلمات
الاسم | النوع | الوصف |
---|---|---|
interaction | Interaction | التفاعل المطلوب تحديده. |
استرجاع الكرة
Action
: هذا الكائن، للتسلسل.
setLoadIndicator(loadIndicator)
لضبط مؤشر التحميل الذي يظهر أثناء تنفيذ الإجراء.
المَعلمات
الاسم | النوع | الوصف |
---|---|---|
loadIndicator | LoadIndicator | المؤشر الذي سيتم عرضه. |
استرجاع الكرة
Action
: هذا الكائن، للتسلسل.
setParameters(parameters)
يسمح بتمرير المعلمات المخصصة إلى دالة رد الاتصال. اختياريّ.
المَعلمات
الاسم | النوع | الوصف |
---|---|---|
parameters | Object | يجب أن تكون كل من المفاتيح والقيم سلاسل. |
استرجاع الكرة
Action
: هذا الكائن، للتسلسل.
setPersistValues(persistValues)
تشير هذه السمة إلى ما إذا كانت قيم النموذج يتم تحديدها حسب قيم العميل أو قيم الخادم بعد أن يعدّل الاستجابة الإجراء Card
للنموذج. عند ضبط السياسة على true
،
تستمر قيم العميل بعد استجابة الخادم. وعند ضبط السياسة على false
، ستستبدل قيم الخادم قيم النموذج. وتكون الإعدادات التلقائية false
.
يساعد الثبات على قيم العميل في منع المواقف التي يتغير فيها النموذج بشكل غير متوقع بعد إجراء المستخدم لتعديل. على سبيل المثال، إذا أجرى المستخدم تعديلاً على TextInput
بعد إرسال نموذج، ولكن قبل استجابة الخادم. في حال الاحتفاظ بالقيم، يظل التعديل الذي أجراه المستخدم بعد تعديل استجابة الخادم لـ Card
، وإلا سيتم إرجاع قيمة النموذج إلى القيمة التي أرسلها المستخدم في الأصل إلى النموذج.
يمكن أن تتداخل قيم العميل الثابتة مع قدرة النص البرمجي على محو حقول النموذج أو
تجاوز قيم النموذج، لذا تجنَّب تفعيل ميزة الثبات لهذا النوع من الوظائف. بدون
مثابر، ننصحك باستخدام LoadIndicator.SPINNER
للأحداث،
لأن ذلك يؤدي إلى قفل واجهة المستخدم ويمنع تعديلات المستخدم قبل استجابة الخادم. وبدلاً من ذلك، يمكنك استخدام LoadIndicator.NONE
والتأكّد من أنّ كل عنصر في النموذج يتضمّن إجراء onChange.
// Creates a button with an action that persists the client's values as the on-click action. const button = CardService.newTextButton() .setText('Create notification') .setOnClickAction( CardService.newAction() .setPersistValues(true) .setFunctionName('functionName'));
المَعلمات
الاسم | النوع | الوصف |
---|---|---|
persistValues | Boolean | ما إذا كنت تريد الاحتفاظ بالقيم أم لا. وتكون الإعدادات التلقائية false . |
استرجاع الكرة
Action
: هذا الكائن، للتسلسل.