للتحقّق مما إذا كان جهاز المستخدم متوافقًا مع RCS وقادرًا على التواصل مع وكيل RBM، يمكنك طلب إمكانات الجهاز. من خلال تحديد الميزات التي يتيحها الجهاز، إن وُجدت، يمكن للوكيل تخصيص المحادثة حسب إمكانات الجهاز وتجنُّب تقديم تفاعلات يصعب على المستخدم إكمالها أو يستحيل عليه ذلك.
إذا كان جهاز المستخدم غير متوافق مع خدمة RCS، يمكنك التواصل معه من خلال خدمات أخرى، مثل رسائل SMS أو رسائل الوسائط المتعددة.
التحقّق من إمكانات الجهاز
يرسل الرمز التالي عملية التحقّق من الإمكانات وينتظر تلقّي ردّ. للاطّلاع على خيارات التنسيق والقيمة، يُرجى الرجوع إلى 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", "PDF_IN_RICH_CARDS" ] }
يعرض الطلب إما استجابة أو خطأ.
لا يتم عرض استجابة ناجحة إلا إذا كان رقم MSISDN (رقم الهاتف) قد تم ربطه بخدمة RCS خلال آخر 31 يومًا. وهذا يعني أنّ جهاز المستخدم قد تواصل مع خادم RCS خلال هذا الإطار الزمني. تُجري الأجهزة المتصلة بالإنترنت والأجهزة المتوافقة مع خدمات الاتصالات التفاعلية (RCS) عمليات تسجيل دخول كل ساعة إلى 4 ساعات في المتوسط.
إذا نقل المستخدم شريحة SIM إلى جهاز آخر متوافق مع خدمات الاتصالات التفاعلية (RCS)، تتم إزالة عملية الربط السابقة بالجهاز وإنشاء عملية ربط جديدة، ما يؤدي إلى تعديل إمكانات الجهاز في خدمة الاتصالات التفاعلية (RCS).
إذا تم وضع شريحة SIM في جهاز أوقف فيه مشغّل شبكة الجوّال أو الشركة المصنّعة خدمة الاتصالات التفاعلية (RCS)، أو إذا بقيت شريحة SIM غير مستخدَمة، ستظل خدمة الاتصالات التفاعلية (RCS) تحاول تسليم الرسائل إلى الجهاز المرتبط بها سابقًا لمدة تصل إلى 31 يومًا.
في ما يلي أسباب ظهور أخطاء 404:
لا يمكن الوصول إلى المستخدم من خلال RBM، مثلاً إذا كان جهازه لا يتوافق مع RCS.
لدى المستخدم خدمات الاتصالات التفاعلية (RCS)، ولكن لم يتم تشغيل وكيلك على شبكة الجوّال.
وضع المحتوى في قائمة الانتظار بلا إنترنت
يتم وضع الرسائل في قائمة الانتظار لمدة تصل إلى 31 يومًا، ويتم تسليمها عندما يعود الجهاز إلى الاتصال بالإنترنت. وهذا يعني أنّه حتى إذا كان الجهاز غير متصل بالإنترنت لفترة طويلة (تصل إلى 31 يومًا)، سيتم تسليم الرسائل التي تم وضعها في قائمة الانتظار عند إعادة الاتصال، طالما أنّ رقم MSISDN قد اتصل بخدمة RCS خلال آخر 31 يومًا.
عمليات التحقّق من الإمكانات المجمّعة
لتقدير عدد المستخدمين الذين يمكن الوصول إليهم من خلال RBM، يمكنك إجراء عملية تحقّق مجمّعة من الإمكانات. تشير عمليات التحقّق المجمّعة إلى ما إذا كان يمكن الوصول إلى رقم الهاتف، ولكنّها لا تشير إلى الميزات التي يتيحها رقم الهاتف.
يجب تقديم ما بين 500 و10,000 رقم هاتف فريد لكل عملية تحقّق من الإمكانات المجمّعة. للاطّلاع على المزيد من الأرقام، يمكنك إجراء عمليات تحقّق متعددة. يمكنك إجراء ما يصل إلى 600 مكالمة في الدقيقة. استخدِم نص التحقّق من الإمكانات المجمّعة لاستخدام ملفات CSV كتنسيق إدخال. يتم إجراء عمليات التحقّق المجمّعة من ذاكرة التخزين المؤقت الخاصة بالإمكانات، والتي يتم تعديلها من خلال العملاء بشكل طبيعي باستخدام خدمات الاتصالات التفاعلية (RCS). لا تطلب البرامج الوكيلة إمكانات كل جهاز بشكل مباشر. لهذا السبب، قد لا تكون النتائج حديثة.
تعرض عمليات التحقّق المجمّعة من إمكانية الوصول إلى الأرقام قائمة بالأرقام التي يمكن أن يصل إليها وكيلك على شركات الاتصالات التي تم إطلاق الخدمة فيها، بالإضافة إلى تقديرات لإجمالي عدد المستخدمين الذين يمكن الوصول إليهم على مستوى جميع شركات الاتصالات. اطّلِع على ردّ التحقّق من الإمكانات المجمّع.
تقدير إجمالي عدد المستخدمين الذين يمكن الوصول إليهم
في حين أنّ الردود الخاصة بعمليات التحقّق المجمّعة تتضمّن قائمة بأرقام الهواتف التي يمكن الوصول إليها على الفور من خلال مشغّلي شبكات الجوّال الذين أطلقهم وكيلك (reachableUsers)، تتضمّن الردود أيضًا قيمتَين يمكن أن تساعداك في تقدير إجمالي عدد المستخدمين الذين يمكن الوصول إليهم على مستوى جميع مشغّلي شبكات الجوّال.
آلية العمل
عندما يجري الوكيل عملية تحقّق مجمّعة من الإمكانات، يختار RBM عيّنة عشوائية من حوالي% 75 من هذه الأرقام للتحقّق من جميع شركات النقل (يتم عرضها في totalRandomSampleUserCount). يعرض RBM أيضًا عدد الأرقام التي يمكن الوصول إليها من خلال العيّنة العشوائية، بغض النظر عن حالة إطلاق شركة النقل (reachableRandomSampleUserCount). من خلال قسمة reachableRandomSampleUserCount على totalRandomSampleUserCount، يمكنك تقدير النسبة المئوية للأرقام التي يمكن أن يصل إليها الوكيل إذا تم إطلاقه على جميع شركات النقل.
على سبيل المثال، إذا حدّدت 5,000 رقم هاتف في عملية التحقّق من الإمكانات المجمّعة،
واختار RBM عيّنة عشوائية بنسبة% 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"}));
ردّ التحقّق من إمكانية إجراء عمليات مجمّعة
بعد إجراء عملية التحقّق من الإمكانات المجمّعة، يعرض RBM استجابة بتنسيق JSON.
{
"reachableUsers": [
"PHONE_NUMBER"
],
"totalRandomSampleUserCount": "COUNT_OF_SAMPLE",
"reachableRandomSampleUserCount": "REACHABLE_FROM_SAMPLE"
}| الحقل | الوصف |
|---|---|
reachableUsers
|
قائمة بالمستخدمين الذين يمكن الوصول إليهم على شركات النقل التي أطلقها الوكيل. |
totalRandomSampleUserCount
|
عدد عيّنة عشوائية من الأرقام المحدّدة. عادةً ما تكون% 75 من الأرقام المحدّدة. |
reachableRandomSampleUserCount
|
عدد الأرقام من العيّنة العشوائية التي يمكن الوصول إليها من خلال خدمة "المراسلة التفاعلية" على جميع مشغّلي شبكة الجوّال، بغض النظر عن مشغّلي شبكة الجوّال الذين يتم تشغيل الوكيل عليهم يُستخدَم هذا العدد لتقديم تقدير تقريبي لإجمالي عدد المستخدمين الذين يمكن الوصول إليهم على مستوى جميع شركات النقل. |
reachableUsersMap
|
النتائج فقط. خريطة لمعرّف شركة النقل وقائمة بالمستخدمين الذين يمكن الوصول إليهم من خلال شركة النقل هذه لا تتم تعبئة هذا الحقل إلا لأرقام الهواتف في الولايات المتحدة. |
الأداة: نص برمجي للتحقّق من إمكانية الوصول إلى عدد كبير من المواقع الإلكترونية
يتيح برنامج نصي للتحقّق من الإمكانات المجمّعة (تسجيل الدخول للتنزيل) إجراء عمليات التحقّق من الإمكانات المجمّعة باستخدام ملفات CSV كتنسيقات للإدخال والإخراج. يحلّل النص البرمجي ملف CSV الخاص بأرقام MSISDN ويستخدم حزمة تطوير البرامج (SDK) الخاصة بخدمة "المراسلة الغنية" (RBM) للتحقّق من إمكانات كل جهاز مُدرَج.
يمكن أن تصل آلة افتراضية تحتوي على وحدتَي معالجة مركزية وذاكرة وصول عشوائي بسعة 4 غيغابايت وتشغّل البرنامج النصي مع 500 سلسلة محادثات إلى حوالي 1,000 طلب بحث في الثانية، ولكن يعتمد عدد طلبات البحث في الثانية بشكل عام على الجهاز المستخدَم والبلد الذي تقع فيه الأجهزة والإعدادات الإقليمية للوكيل ونقطة نهاية واجهة برمجة التطبيقات المستخدَمة.
المتطلبات الأساسية
قبل استخدام الأداة لإجراء عملية تحقّق مجمّعة من الإمكانات، احصل على ما يلي:
- مسار ملف CSV الذي يتضمّن أرقام MSISDN لإجراء عمليات التحقّق من الإمكانات
- مسار مفتاح حساب الخدمة الخاص بالوكيل على جهاز التطوير
بالإضافة إلى ذلك، يجب تثبيت البرامج التالية على جهاز التطوير:
- الإصدار 3.3.9 من Apache Maven أو إصدار أحدث
- 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-botINPUT_FILE مسار ملف CSV للإدخال input.csvOUTPUT_FILE مسار ملف CSV الناتج. output.csvNUM_OF_THREADS عدد سلاسل المحادثات التي سيتم تخصيصها لعمليات التحقّق من الإمكانات. 500START_INDEX اختيارية: القيمة في ملف CSV التي سيتم بدء عمليات التحقّق منها. 5END_INDEX اختيارية: القيمة في ملف CSV التي يجب إنهاء عمليات التحقّق بعدها 500عند اكتمال النص البرمجي، افتح ملف CSV الناتج للاطّلاع على النتائج.