للتحقّق مما إذا كان جهاز المستخدم مزوّدًا بتقنية RCS وقادرًا على التواصل مع أحد موظّفي دعم RBM، يمكنك طلب إمكانات الجهاز. من خلال تحديد الميزات التي يتوافق معها الجهاز، إن وُجدت، يمكن لموظف الدعم تخصيص المحادثة بما يتوافق مع إمكانات الجهاز وتجنُّب تقديم تفاعلات يصعب على المستخدم إكمالها أو يستحيل إكمالها.
إذا كان جهاز المستخدم غير قادر على تلقّي رسائل RCS على الإطلاق، يمكنك التواصل مع المستخدم من خلال خدمات أخرى، مثل الرسائل القصيرة أو رسائل الوسائط المتعددة.
التحقّق من إمكانات الجهاز
يُرسِل الرمز التالي طلب التحقّق من الإمكانات وينتظر الردّ. للاطّلاع على خيارات التنسيق والقيمة، يُرجى الاطّلاع على getCapabilities
.
cURL
curl -X GET "https://REGION-rcsbusinessmessaging.googleapis.com/v1/phones/PHONE_NUMBER/capabilities?requestId=REQUEST_ID&agentId=AGENT_ID" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/rcs-business-messaging" \ -H "`oauth2l header --json PATH_TO_SERVICE_ACCOUNT_KEY rcsbusinessmessaging`"
Node.js
// Reference to RBM API helper const rbmApiHelper = require('@google/rcsbusinessmessaging'); // Send a capability check to the device rbmApiHelper.checkCapability('+12223334444', function(response) { // Print capabilities of the device console.log(response); });
Java
import com.google.rbm.RbmApiHelper; … // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(); // Check the capabilities of the device boolean capability = rbmApiHelper.getCapability("+12223334444");
Python
# Reference to RBM Python client helper from rcs_business_messaging import rbm_service # Send the tester invite to a device response = rbm_service.make_cap_request('+12223334444')
#C
using RCSBusinessMessaging; … // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation, projectId); // Register the device as a tester Capabilities capabilities = rbmApiHelper.GetCapability("+12223334444");
الردّ على طلبات الحصول على معلومات عن الإمكانيات
بعد إجراء فحص للإمكانات، تعرض منصة RBM قائمة بتنسيق JSON للميزات التي يتيحها الجهاز المحدّد.
{ "features": [ "RICHCARD_STANDALONE", "RICHCARD_CAROUSEL", "ACTION_CREATE_CALENDAR_EVENT", "ACTION_DIAL", "ACTION_OPEN_URL", "ACTION_SHARE_LOCATION", "ACTION_VIEW_LOCATION", "ACTION_OPEN_URL_IN_WEBVIEW", "ACTION_COMPOSE", ] }
يعرض الطلب إما استجابة أو خطأ.
لا يتم عرض استجابة ناجحة إلا إذا كان رقم MSISDN (رقم الهاتف) مرتبطًا بخدمة RCS خلال آخر 24 ساعة. وهذا يعني أنّه تم تسجيل دخول جهاز المستخدم إلى خادم RCS خلال الإطار الزمني المحدَّد. تُجري الأجهزة تسجيلًا دوريًا (كل ساعة إلى 4 ساعات)، لذا من المفترض أن يكون أي جهاز يمكنه بشكل عامتلقّي رسائل RCS قد سجّل الدخول خلال آخر 24 ساعة.
في ما يلي أسباب ظهور أخطاء 404:
لا يمكن الوصول إلى المستخدم من خلال إدارة الخدمات الجوّالة للمؤسسات (RBM)، على سبيل المثال، إذا كان جهازه لا يسمح باستخدام RCS.
يمتلك المستخدم خدمة RCS، ولكن لم يتم تشغيل موظّف الدعم على شبكة الجوّال.
وضع "الانتظار بلا إنترنت"
يتم وضع الرسائل في "قائمة الانتظار" لمدة تصل إلى 30 يومًا ويتم تسليمها عندما يعود الجهاز مجددًا إلى الاتصال بالإنترنت. لضمان تسليم الرسالة، يجب أن يعرض الجهاز علامات تدل على نشاط RCS خلال 24 ساعة من إرسال الرسالة. وهذا يعني أنّه حتى إذا انقطع اتصال أحد الأجهزة بالشبكة لفترة طويلة (تصل إلى 30 يومًا)، سيستمر إرسال الرسائل المُرسَلة إلى "البريد الوارد" عند إعادة الاتصال، شرط استيفاء فترة النشاط التي تبلغ 24 ساعة في وقت البث.
عمليات التحقّق المجمّعة من الإمكانات
لتقدير عدد المستخدِمين الذين يمكن الوصول إليهم من خلال نموذج "الاستهداف بالاستناد إلى سلوك المستخدِمين"، يمكنك إجراء فحص قدرات مجمّع. تشير عمليات التحقّق المبرمَجة إلى ما إذا كان بإمكانك التواصل مع رقم هاتف معيّن، ولكنّها لا تشير إلى الميزات التي يتيحها رقم الهاتف.
لكل عملية فحص للإمكانيات المجمّعة، يجب تقديم 500 إلى 10,000 رقم هاتف فريد. للتحقّق من المزيد من الأرقام، يمكنك إجراء عمليات تحقّق متعددة. يمكنك إجراء ما يصل إلى 600 مكالمة في الدقيقة. استخدِم النص البرمجي لفحص الإمكانات المجمّعة لاستخدام ملفات CSV بصفتها تنسيق إدخال. تتم قراءة عمليات التحقّق المجمّعة من ذاكرة التخزين المؤقت للميزات التي يتم تعديلها من قِبل العملاء بشكلٍ آلي باستخدام RCS. لا يطلب موظّفو الدعم معرفة ميزات كل جهاز مباشرةً. لهذا السبب، قد لا تكون النتائج حديثة.
تُعرِض عمليات التحقّق من الإمكانات المجمّعة قائمة بالأرقام التي يمكن لموظّف الدعم التواصل معها على شركات الجوّال التي تم إطلاقها فيها، بالإضافة إلى تقديرات لإجمالي عدد المستخدِمين الذين يمكن التواصل معهم على مستوى جميع شركات الجوّال. راجِع استجابة التحقّق من الإمكانات المجمّعة.
تقدير إجمالي عدد المستخدِمين الذين يمكن الوصول إليهم
على الرغم من أنّ الردود على عمليات التحقّق المجمّعة تتضمّن قائمة بأرقام الهواتف
التي يمكن التواصل معها على الفور على مشغّلي شبكات الجوّال الذين أطلقهم موظّف الدعم
(reachableUsers
)، تتضمّن الردود أيضًا قيمتَين يمكن أن تساعدك في تقدير
إجمالي عدد المستخدمين الذين يمكن التواصل معهم على جميع مشغّلي شبكات الجوّال.
آلية العمل
عندما يُجري وكيلك عملية تحقّق من الإمكانات بشكلٍ مجمّع، يختار RBM بشكل عشوائي 75% تقريبًا من
هذه الأرقام للتحقّق من جميع شركات النقل (يتم إدراجها في totalRandomSampleUserCount
).
يعرض RBM أيضًا عدد الأرقام التي يمكن للوكيل الوصول إليها من العيّنة العشوائية،
بغض النظر عن حالة الإطلاق على شركة النقل (reachableRandomSampleUserCount
). وبقسمةreachableRandomSampleUserCount
على totalRandomSampleUserCount
،
يمكنك تقدير النسبة المئوية للأرقام التي يمكن للوكيل الوصول إليها إذا تم إطلاقه
على جميع شركات النقل.
على سبيل المثال، إذا حدّدت 5,000 رقم هاتف في عملية التحقّق من إمكانية استخدام ميزة "الاستهداف بالاستناد إلى الجمهور المستهدَف" بشكلٍ مجمّع،
وأخذت ميزة "الاستهداف بالاستناد إلى الجمهور المستهدَف" عيّنات عشوائية من% 75 تقريبًا من الأرقام المحدّدة،
قد يكون totalRandomSampleUserCount
هو 3750
. إذا كان reachableRandomSampleUserCount
يساوي 3000
، يعني ذلك أنّه يمكن الوصول إلى% 80 من الأرقام التي تم تحليل عيّنات منها.
مراعاة أخذ العيّنات العشوائية
يمكن أن يؤدي اختبار عيّنات عشوائية إلى حدوث تباينات في النسب المئوية. لمراعاة أثر تحليل عيّنات عشوائية، يمكنك إجراء عمليات تحقّق من الإمكانات المجمّعة باستخدام كميات أكبر من أرقام الهواتف. يمكنك أيضًا إجراء عمليات تحقّق باستخدام الدفعات نفسها من الأرقام متعدد المرات ثم احتساب متوسط النتائج لتطبيع سلوك تحليل العينات العشوائية.
إرسال طلب التحقّق من الإمكانات بشكل مجمّع
يُرسِل الرمز البرمجي التالي طلبًا للتحقق من الإمكانات المجمّعة وينتظر الردّ. للاطّلاع على خيارات التنسيق والقيمة، يُرجى الاطّلاع على users.batchGet
.
يجب أن تكون أرقام الهواتف بتنسيق E.164 (على سبيل المثال، +12223334444)، ويجب أن تحتوي المحاولة على 500 إلى 10,000 رقم هاتف فريد.
cURL
curl -X POST "https://REGION-rcsbusinessmessaging.googleapis.com/v1/users:batchGet?agentId=AGENT_ID \ -H "Content-Type: application/json" \ -H "User-Agent: curl/rcs-business-messaging" \ -H "`oauth2l header --json PATH_TO_SERVICE_ACCOUNT_KEY rcsbusinessmessaging`" \ -d '{ "users": [ "PHONE_NUMBER", ] }'
Node.js
// Reference to RBM API helper const rbmApiHelper = require('@google/rcsbusinessmessaging'); // Specify phone numbers let phoneNumbers = ['+12223334444', '+12223334444']; // Perform a bulk capability check rbmApiHelper.getUsers(phone_numbers, function(response) { // Print the bulk capability check response console.log(response); });
Java
import com.google.rbm.RbmApiHelper; … // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(); // Perform a bulk capability check BatchGetUsersResponse batchGetUsersResponse = rbmApiHelper.getUsers(Arrays.asList("+12223334444", "+12223334444"));
Python
# Reference to RBM Python client helper from rcs_business_messaging import rbm_service # Perform a bulk capability check response = rbm_service.make_batch_cap_request(['+12223334444', '+12223334444'])
#C
using RCSBusinessMessaging; … // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation, projectId); // Perform a bulk capability check BatchGetUsersResponse batchGetUsersResponse = rbmApiHelper.GetUsers(new List({"+12223334444", "+12223334444"}));
ردّ التحقّق من الإمكانات المجمّعة
بعد إجراء فحص للإمكانات المجمّعة، يعرض "نموذج تحسين الأداء من Google" استجابة بتنسيق JSON.
{ "reachableUsers": [ "PHONE_NUMBER" ], "totalRandomSampleUserCount": "COUNT_OF_SAMPLE", "reachableRandomSampleUserCount": "REACHABLE_FROM_SAMPLE" }
الحقل | الوصف |
---|---|
reachableUsers
|
قائمة بالمستخدمين الذين يمكن التواصل معهم على شركات النقل التي بدأها موظّف الدّعم |
totalRandomSampleUserCount
|
عدد عيّنة عشوائية من الأرقام المحدّدة عادةً ما يشمل ذلك% 75 تقريبًا من الأرقام المحدّدة. |
reachableRandomSampleUserCount
|
عدد الأرقام من العينة العشوائية التي يمكن الوصول إليها من خلال ميزة "إدارة التفاعلات مع العملاء" على جميع مشغّلي شبكات الجوّال، بغض النظر عن مشغّلي شبكات الجوّال الذين تم إطلاق موظّف الدّعم عليهم يُستخدَم هذا العدد لتقديم تقدير تقريبي لإجمالي عدد المستخدِمين الذين يمكن الوصول إليهم في جميع شركات الجوّال. |
الأداة: نص برمجي للتحقّق من الإمكانات المجمّعة
يُجري النص البرمجي لفحص الإمكانات (تسجيل الدخول لتحميله) عمليات فحص الإمكانات المجمّعة باستخدام ملفات CSV بتنسيقات الإدخال والإخراج. تُحلِّل النص البرمجي ملف CSV الخاص بأرقام MSISDN وتستخدِم حِزمة تطوير البرامج (SDK) لبرنامج RBM لفحص إمكانات كل جهاز مُدرَج.
يمكن أن يصل عدد طلبات البحث في الثانية (QPS) تقريبًا إلى 1,000 طلب على جهاز افتراضي مزوّد بمعالجَين مركزيَّين وذاكرة وصول عشوائي (RAM) بسعة 4 غيغابايت ويعمل على تشغيل النص البرمجي باستخدام 500 سلسلة محادثة، ولكن يعتمد إجمالي عدد طلبات البحث في الثانية على الجهاز المستخدَم وبلد الأجهزة والإعدادات الإقليمية للوكيل ونقطة نهاية واجهة برمجة التطبيقات المستخدَمة.
المتطلبات الأساسية
قبل استخدام الأداة لإجراء فحص للإمكانات بشكل مجمّع، يجب الحصول على ما يلي:
- مسار ملف CSV يحتوي على أرقام MSISDN لإجراء عمليات التحقّق من الإمكانات
- المسار إلى مفتاح حساب الخدمة الخاص بالوكيل على جهاز التطوير
بالإضافة إلى ذلك، يجب تثبيت البرامج التالية على جهاز التطوير:
- Apache Maven 3.3.9 أو إصدار أحدث
- Java 8
إعداد
لإعداد جهاز التطوير لإجراء فحص قدرات مجمّع، اتّبِع الخطوات التالية:
- نزِّل واستخرِج نص التحقّق من الإمكانات المجمّعة (تسجيل الدخول لتنزيله).
- اتّبِع الخطوات الواردة في ملف README.
إجراء فحص قدرات مجمّع
لإجراء عملية تحقّق مجمّعة، اتّبِع الخطوات التالية:
- في وحدة طرفية، انتقِل إلى الدليل الجذري للنص البرمجي.
نفِّذ الأوامر التالية:
export MAVEN_OPTS="-Xms1024m -Xmx3000m"
mvn compile && mvn exec:java -Dexec.args="AGENT_ID INPUT_FILE OUTPUT_FILE NUM_OF_THREADS START_INDEX END_INDEX"
استبدِل المتغيّرات بالقيم التي حدّدتها.
استبدال يشمل مثال AGENT_ID معرّف موظّف الدعم في ميزة "مراسلة الأنشطة التجارية من خلال خدمات الاتصالات التفاعلية (RCS)" welcome-bot
INPUT_FILE مسار ملف CSV الذي يتم إدخاله. input.csv
OUTPUT_FILE مسار ملف CSV الناتج output.csv
NUM_OF_THREADS عدد سلاسل المحادثات المخصّصة لعمليات التحقّق من الإمكانات 500
START_INDEX اختياريّ. القيمة في ملف CSV التي يجب البدء بإجراء عمليات التحقّق وفقًا لها 5
END_INDEX اختياريّ. القيمة في ملف CSV التي يتم إنهاء عمليات التحقّق بعدها 500
عند اكتمال النص البرمجي، افتح ملف CSV الناتج للاطّلاع على النتائج.