توضّح هذه الصفحة كيفية إنشاء تطبيق Chat باستخدام Pub/Sub. يكون هذا النوع من البنية لتطبيق Chat مفيدًا إذا كانت مؤسستك تستخدم جدار حماية يمكنه منع Chat من إرسال الرسائل إلى تطبيق Chat، أو إذا كان تطبيق Chat يستخدم Google Workspace Events API. ومع ذلك، يتضمّن هذا التصميم القيود التالية لأنّ تطبيقات الدردشة هذه يمكنها فقط إرسال واستقبال رسائل غير متزامنة:
- لا يمكن استخدام مربّعات الحوار في الرسائل. استخدِم رسالة بطاقة بدلاً من ذلك.
- لا يمكن تعديل البطاقات الفردية باستخدام ردّ متزامن. بدلاً من ذلك، يمكنك تعديل الرسالة بأكملها من خلال استدعاء الطريقة
patch
.
يوضّح المخطّط التالي بنية تطبيق دردشة تم إنشاؤه باستخدام Pub/Sub:
في الرسم البياني السابق، يتضمّن تفاعل المستخدم مع تطبيق Pub/Sub Chat تدفّق المعلومات التالي:
يرسل مستخدم رسالة في Chat إلى تطبيق Chat، إما في رسالة مباشرة أو في مساحة Chat، أو يحدث حدث في مساحة Chat يكون تطبيق Chat لديه اشتراك نشط فيه.
يرسل Chat الرسالة إلى موضوع Pub/Sub.
يتم الاشتراك في موضوع Pub/Sub من خلال خادم التطبيقات، وهو إما نظام مستند إلى السحابة الإلكترونية أو نظام محلي يحتوي على منطق تطبيق Chat، وذلك لتلقّي الرسالة من خلال جدار الحماية.
يمكن لتطبيق Chat اختياريًا استدعاء واجهة برمجة تطبيقات Chat لنشر الرسائل بشكل غير متزامن أو تنفيذ عمليات أخرى.
المتطلبات الأساسية
Java
- حساب Google Workspace من إصدار Business أو Enterprise مع إذن الوصول إلى Google Chat
- مشروع على Google Cloud تم تفعيل الفوترة فيه للتأكّد من تفعيل الفوترة في مشروع حالي، يُرجى الاطّلاع على التأكّد من حالة الفوترة في مشاريعك. لإنشاء مشروع وإعداد الفوترة، يُرجى الاطّلاع على إنشاء مشروع على Google Cloud.
- Java 11 أو إصدار أحدث
- أداة إدارة الحِزم Maven
Python
- حساب Google Workspace من إصدار Business أو Enterprise مع إذن الوصول إلى Google Chat
- مشروع على Google Cloud تم تفعيل الفوترة فيه للتأكّد من تفعيل الفوترة في مشروع حالي، يُرجى الاطّلاع على التأكّد من حالة الفوترة في مشاريعك. لإنشاء مشروع وإعداد الفوترة، يُرجى الاطّلاع على إنشاء مشروع على Google Cloud.
- الإصدار 3.6 أو الإصدارات الأحدث من Python
- أداة إدارة الحزم pip
Node.js
- حساب Google Workspace من إصدار Business أو Enterprise مع إذن الوصول إلى Google Chat
- مشروع على Google Cloud تم تفعيل الفوترة فيه للتأكّد من تفعيل الفوترة في مشروع حالي، يُرجى الاطّلاع على التأكّد من حالة الفوترة في مشاريعك. لإنشاء مشروع وإعداد الفوترة، يُرجى الاطّلاع على إنشاء مشروع على Google Cloud.
- Node.js 14 أو إصدار أحدث
- npm، وهي أداة لإدارة الحِزم
-
مشروع Node.js تم إعداده لبدء مشروع جديد، أنشئ مجلدًا جديدًا وانتقِل إليه، ثم نفِّذ الأمر التالي في واجهة سطر الأوامر:
npm init
إعداد البيئة
قبل استخدام واجهات Google APIs، عليك تفعيلها في مشروع على Google Cloud. يمكنك تفعيل واجهة برمجة تطبيق واحدة أو أكثر في مشروع واحد على Google Cloud.في Google Cloud Console، فعِّل Google Chat API وPub/Sub API.
إعداد Pub/Sub
أنشئ موضوعًا في Pub/Sub يمكن أن يرسل إليه Chat API الرسائل. ننصحك باستخدام موضوع واحد لكل تطبيق Chat.
امنح Chat إذنًا بالنشر في الموضوع من خلال منح دور ناشر Pub/Sub لحساب الخدمة التالي:
chat-api-push@system.gserviceaccount.com
أنشئ حساب خدمة لتطبيق Chat من أجل منح الإذن باستخدام Pub/Sub و Chat، واحفظ ملف المفتاح الخاص في دليل العمل.
أنشئ اشتراكًا في السحب في الموضوع.
امنح دور المشترك في Pub/Sub على الاشتراك لحساب الخدمة الذي أنشأته سابقًا.
كتابة النص
Java
في واجهة سطر الأوامر، قدِّم بيانات اعتماد حساب الخدمة:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
في واجهة سطر الأوامر، أدخِل رقم تعريف مشروع Google Cloud:
export PROJECT_ID=PROJECT_ID
في واجهة سطر الأوامر، أدخِل رقم تعريف الاشتراك في Pub/Sub الذي أنشأته سابقًا:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
في دليل العمل، أنشئ ملفًا باسم
pom.xml
.في ملف
pom.xml
، ألصِق الرمز التالي:في دليل العمل، أنشئ بنية الدليل
src/main/java
.في الدليل
src/main/java
، أنشئ ملفًا باسمMain.java
.في
Main.java
، الصِق الرمز التالي:
Python
في واجهة سطر الأوامر، قدِّم بيانات اعتماد حساب الخدمة:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
في واجهة سطر الأوامر، أدخِل رقم تعريف مشروع Google Cloud:
export PROJECT_ID=PROJECT_ID
في واجهة سطر الأوامر، أدخِل رقم تعريف الاشتراك في Pub/Sub الذي أنشأته سابقًا:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
في دليل العمل، أنشئ ملفًا باسم
requirements.txt
.في ملف
requirements.txt
، ألصِق الرمز التالي:في دليل العمل، أنشئ ملفًا باسم
app.py
.في
app.py
، الصِق الرمز التالي:
Node.js
في واجهة سطر الأوامر، قدِّم بيانات اعتماد حساب الخدمة:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
في واجهة سطر الأوامر، أدخِل رقم تعريف مشروع Google Cloud:
export PROJECT_ID=PROJECT_ID
في واجهة سطر الأوامر، أدخِل رقم تعريف الاشتراك في Pub/Sub الذي أنشأته سابقًا:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
في دليل العمل، أنشئ ملفًا باسم
package.json
.في ملف
package.json
، ألصِق الرمز التالي:في دليل العمل، أنشئ ملفًا باسم
index.js
.في
index.js
، الصِق الرمز التالي:
نشر التطبيق في Chat
في Google Cloud Console، انتقِل إلى القائمة > واجهات برمجة التطبيقات والخدمات > واجهات برمجة التطبيقات والخدمات المفعَّلة > Google Chat API > الإعدادات.
ضبط تطبيق Chat لخدمة Pub/Sub:
- في حقل اسم التطبيق، أدخِل
Quickstart App
. - في عنوان URL للأفاتار، أدخِل
https://developers.google.com/chat/images/quickstart-app-avatar.png
. - في الوصف، أدخِل
Quickstart app
. - ضمن الوظائف، اختَر الانضمام إلى المساحات والمحادثات الجماعية.
- ضِمن إعدادات الربط، اختَر Cloud Pub/Sub والصِق اسم موضوع Pub/Sub الذي أنشأته سابقًا.
- ضمن مستوى الظهور، اختَر إتاحة تطبيق Google Chat هذا لأشخاص ومجموعات معيّنة في نطاقك وأدخِل عنوان بريدك الإلكتروني.
- ضمن السجلات، اختَر تسجيل الأخطاء في خدمة تسجيل البيانات.
- في حقل اسم التطبيق، أدخِل
انقر على حفظ.
التطبيق جاهز لتلقّي الرسائل والردّ عليها في Chat.
تشغيل النص البرمجي
في واجهة سطر الأوامر، انتقِل إلى دليل العمل ونفِّذ النص البرمجي:
Java
mvn compile exec:java -Dexec.mainClass=Main
Python
python -m venv env
source env/bin/activate
pip install -r requirements.txt -U
python app.py
Node.js
npm install
npm start
عند تشغيل الرمز، يبدأ التطبيق في الاستماع إلى الرسائل المنشورة في موضوع Pub/Sub.
اختبار تطبيق Chat
لاختبار تطبيق Chat، افتح مساحة رسالة مباشرة باستخدام تطبيق Chat وأرسِل رسالة:
افتح Google Chat باستخدام حساب Google Workspace الذي قدّمته عند إضافة نفسك كمختبِر موثوق به.
- انقر على محادثة جديدة.
- في حقل إضافة مستخدم واحد أو أكثر، اكتب اسم تطبيق Chat.
اختَر تطبيق Chat من النتائج. سيتم فتح رسالة مباشرة.
- في الرسالة المباشرة الجديدة مع التطبيق، اكتب
Hello
واضغط علىenter
.
لإضافة مختبِرين موثوق بهم والتعرّف على مزيد من المعلومات حول اختبار الميزات التفاعلية، يُرجى الاطّلاع على مقالة اختبار الميزات التفاعلية لتطبيقات Google Chat.
تحديد المشاكل وحلّها
عندما يعرض تطبيق أو بطاقة في Google Chat خطأً، تعرض واجهة Chat رسالة تفيد بأنّه "حدث خطأ". أو "لم نتمكّن من معالجة طلبك". في بعض الأحيان، لا تعرض واجهة مستخدم Chat أي رسالة خطأ، ولكن ينتج تطبيق Chat أو البطاقة نتيجة غير متوقّعة، مثلاً، قد لا تظهر رسالة البطاقة.
على الرغم من أنّه قد لا تظهر رسالة خطأ في واجهة مستخدم Chat، تتوفّر رسائل خطأ وصفية وبيانات سجلّات لمساعدتك في إصلاح الأخطاء عند تفعيل تسجيل الأخطاء لتطبيقات Chat. للحصول على مساعدة في عرض الأخطاء وتصحيحها وتحديد المشاكل فيها، يُرجى الاطّلاع على تحديد مشاكل Google Chat وحلّها.
تَنظيم
لتجنُّب تحمّل رسوم في حسابك على Google Cloud مقابل الموارد المستخدَمة في هذا البرنامج التعليمي، ننصحك بحذف مشروع Cloud.
- في Google Cloud Console، انتقِل إلى صفحة إدارة الموارد. انقر على القائمة > إدارة الهوية وإمكانية الوصول والمشرف > إدارة الموارد.
- في قائمة المشاريع، اختَر المشروع الذي تريد حذفه، ثم انقر على حذف .
- في مربّع الحوار، اكتب رقم تعريف المشروع، ثم انقر على إيقاف لحذف المشروع.
مواضيع ذات صلة
لإضافة المزيد من الميزات إلى تطبيق Chat، راجِع ما يلي: