این صفحه نحوه ایجاد و ارسال پیام کارت اصلی برنامه برای برنامه چت را توضیح می دهد. App home یک پیام کارت قابل تنظیم است که یک برنامه Chat هنگامی که کاربر یک پیام مستقیم را با برنامه Chat باز می کند برای آن ارسال می کند.
برای مثال، میتوانید پیام کارت صفحه اصلی برنامه را طوری پیکربندی کنید که نکاتی برای تعامل با برنامه Chat با استفاده از دستورات اسلش داشته باشد. برای کاربران نهایی، صفحه اصلی برنامه تنها در صورتی در پیام مستقیم برنامه چت در دسترس است که توسعهدهنده برنامه این ویژگی را فعال کرده باشد.
از Card Builder برای طراحی و پیش نمایش پیام های کارت JSON برای برنامه های Chat استفاده کنید:
کارت ساز را باز کنیدپیش نیازها
پایتون
- یک حساب Google Workspace با دسترسی به Google Chat .
- یک برنامه چت منتشر شده. برای ایجاد یک برنامه چت، این شروع سریع را ببینید.
- یک برنامه Google Chat که برای تعامل پیکربندی شده است. برای اطلاعات بیشتر، به پیکربندی برنامه چت Google خود برای دریافت رویدادهای تعامل مراجعه کنید.
اسکریپت برنامه ها
- یک حساب Google Workspace با دسترسی به Google Chat .
- یک برنامه چت منتشر شده. برای ایجاد یک برنامه چت، این شروع سریع را دنبال کنید.
- یک برنامه Google Chat که برای تعامل پیکربندی شده است. برای اطلاعات بیشتر، به پیکربندی برنامه چت Google خود برای دریافت رویدادهای تعامل مراجعه کنید.
در کنسول Google Cloud پیکربندی کنید
پایتون
در کنسول Google Cloud، به > محصولات بیشتر > Google Workspace > کتابخانه محصول > Google Chat API بروید.
منوروی Manage کلیک کنید و سپس روی تب Configuration کلیک کنید.
صفحه اصلی برنامه پشتیبانی را فعال کنید.
کادر تأیید Home App App را انتخاب کنید.
در قسمت URL صفحه اصلی برنامه ، یک URL اضافه کنید. این مقدار معمولاً همان URL با URL برنامه است. این URL برای رویدادهای
APP_HOME
فراخوانی می شود.روی ذخیره کلیک کنید.
اسکریپت برنامه ها
در کنسول Google Cloud، به > محصولات بیشتر > Google Workspace > کتابخانه محصول > Google Chat API بروید.
منوروی Manage کلیک کنید و سپس روی تب Configuration کلیک کنید.
کادر تأیید Home App App را انتخاب کنید.
روی ذخیره کلیک کنید.
برنامه چت خود را پیکربندی کنید
برنامه چت خود را برای ارسال پیام کارت جدید برای صفحه اصلی برنامه پیکربندی کنید.
پایتون
وقتی کاربر یک پیام مستقیم از یک برنامه چت باز می کند، یک رویداد APP_HOME
به برنامه چت شما ارسال می شود. وقتی یک برنامه چت این رویداد را دریافت میکند، یک نمونه JSON از RenderActions
با پیمایش pushCard
برگردانده میشود.
@app.route('/', methods=['POST'])
def on_event():
event = request.get_json()
chat = event.get('chat')
if chat is not None:
return handle_chat_event(event)
def handle_chat_event(event):
if event['chat'].get('type') == 'APP_HOME':
return get_app_home_card()
def get_app_home_card():
return {
"action": {
"navigations": [
{
"pushCard": {
"sections": [
{
"widgets": [
{
"buttonList": {
"buttons": [
{
"text": "Open documentation",
"onClick": {
"openLink": {
"url": "https://developers.google.com/chat"
}
}
}
]
}
}
]
}
]
}
}
]
}
}
اسکریپت برنامه ها
این مثال با برگرداندن کارت JSON یک پیام کارت ارسال می کند. همچنین میتوانید از سرویس کارت برنامههای اسکریپت استفاده کنید.
یک تابع onAppHome
را برای بازگرداندن نمونه JSON از RenderActions
با پیمایش pushCard
پیاده سازی کنید:
// "onAppHome" is the pre-defined name of the callback that the Chat servers
// execute.
function onAppHome() {
return {
action: {
navigations: [
{
pushCard: getCard()
}
]
}
};
}
function getCard() {
return {
sections: [
{
widgets: [
{
buttonList: {
buttons: [
{
text: "Open documentation",
onClick: {
openLink: {
url: "https://developers.google.com/chat"
}
}
}
]
}
}
]
}
]
};
}
پیام کارت خانه برنامه را به روز کنید
هنگامی که کاربر اطلاعاتی را در پیام کارت ارسال می کند یا یک گفتگو را می بندد، پیام کارت خانه برنامه را می توان به روز کرد. به عنوان مثال، پیام کارت خانه برنامه اولیه یک پیام خوش آمدگویی است که از کاربر میخواهد فرمی را با اطلاعات پر کند. پس از تکمیل فرم توسط کاربر، پیام کارت خانه برنامه به روز شده ارسال می شود. بهروزرسانی باید با نمونهای از RenderActions
که حاوی یک پیمایش updateCard
است، بازگردانده شود.
پایتون
برای برنامههای HTTP، بهروزرسانی پیام کارت اصلی برنامه مشابه اطلاعات پردازش وارد شده توسط کاربران است، اما باید RenderActions
را برگردانید. invokedFunction
نام تابع فراخوانی شده مرتبط با ویجت Card
را نشان می دهد. برای اطلاعات بیشتر، CommonEventObject
ببینید. در مثال زیر، submitForm
نشان میدهد که کاربر دادههای فرم را ارسال کرده است:
@app.route('/', methods=['POST'])
def on_event():
event = request.get_json()
chat = event.get('chat')
if chat is not None:
return handle_chat_event(event)
def handle_chat_event(event):
if event['chat'].get('type') == 'SUBMIT_FORM':
event_object = event.get('commonEventObject')
if event_object is not None:
// Forms
if 'submitForm' == event_object.get('invokedFunction'):
return {
'render_actions': {
'action': {
'navigations': [{
'updateCard': get_update_card()
}]
}
}
}
def get_update_card():
return {
"action": {
"navigations": [{
"pushCard": {
"sections": [{
"widgets": [{
"buttonList": {
"buttons": [{
"text": "Open documentation",
"onClick": {
"openLink": {
"url": "https://developers.google.com/chat"
}
},
}]
}
}]
}]
}
}]
}
}
اسکریپت برنامه ها
این مثال با برگرداندن کارت JSON یک پیام کارت ارسال می کند. همچنین میتوانید از سرویس کارت برنامههای اسکریپت استفاده کنید.
// Called from elsewhere (i.e. on button press).
function updateAppHomeCard(event) {
return {
render_actions: {
action: {
navigations: [
{
updateCard: getCard()
}
]
}
}
}
}
function getCard() {
return {
sections: [
{
widgets: [
{
buttonList: {
buttons: [
{
text: "Open documentation",
onClick: {
openLink: {
url: "https://developers.google.com/chat"
}
}
}
]
}
}
]
}
]
};
}
محدودیت ها
به طور کلی، navigation
برای برنامههای چت در دسترس نیست. شما نمی توانید یک پشته کارت را برگردانید. فقط pushCard
(برای پاسخ اولیه) و updateCard
(برای بهروزرسانی) برای برنامههای چت در دسترس هستند.
مطالب مرتبط
برای باز کردن یک گفتگو، از تعامل
OPEN_DIALOG
استفاده کنید. برای اطلاعات بیشتر، به باز کردن یک گفتگو در پاسخ به پیام کارت اصلی برنامه مراجعه کنید.برای بستن یک گفتگو، از تعامل
CLOSE_DIALOG
برای بستن گفتگو و بازگشت به پیام کارت اصلی برنامه استفاده کنید یا از تعاملCLOSE_DIALOG_EXECUTE
برای بستن گفتگو و بازخوانی پیام کارت اصلی برنامه استفاده کنید. برای اطلاعات بیشتر، به پاسخ به گفتگوی پیامهای کارت اصلی برنامه مراجعه کنید.برای مثالی از نحوه ایجاد و ارسال پیام کارت اصلی برنامه، به برنامه Chat مدیریت مشکلات در لبه کد برنامهها برای Google Chat با Gemini را ببینید.