للتحقّق مما إذا كان جهاز المستخدم مزوّدًا بخدمة RCS وقادر على الاتصال بوكيل RBM، يمكنك طلب إمكانيات الجهاز. إنّ تحديد الميزات التي يوفّرها الجهاز، إن توفّرت، يسمح لوكيلك بتخصيص المحادثة وفقًا لإمكانات الجهاز وتجنُّب إجراء التفاعلات التي يصعُب أو يستحيل على المستخدم إكمالها.
إذا كان جهاز المستخدم غير قادر على استلام رسائل RCS مطلقًا، يمكنك التواصل مع المستخدم من خلال خدمات أخرى، مثل الرسائل القصيرة SMS.
إرسال فحص الإمكانية
يرسل الرمز التالي فحصًا للإمكانية وينتظر استجابة. للتعرّف على خيارات التنسيق والقيمة، يُرجى الاطّلاع على القسم getCapabilities
.
cURL
curl -X GET "https://REGION-rcsbusinessmessaging.googleapis.com/v1/phones/PHONE_NUMBER/capabilities?requestId=REQUEST_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('../libs/rbm_api_helper'); // Send a capability check to the device rbmApiHelper.checkCapability('+12223334444', function(response) { // Print capabilities of the device console.log(response); });هذا الرمز هو مقتطف من نموذج لوكيل ميزة RBM.
Java
import com.google.rbm.samples.lib.RbmApiHelper; … // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(); // Check the capabilities of the device boolean capability = rbmApiHelper.getCapability("+12223334444");هذا الرمز هو مقتطف من نموذج لوكيل ميزة RBM.
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')هذا الرمز هو مقتطف من نموذج لوكيل ميزة RBM.
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.
استجابة القدرة
بعد إجراء فحص للإمكانية، يعرض النظام الأساسي لميزة "مراسلة الأنشطة التجارية من خلال خدمات الاتصالات التفاعلية" (RBM) قائمة بالميزات بتنسيق JSON التي يتوافق معها الجهاز المحدّد.
{ "features": [ "REVOCATION", "RICHCARD_STANDALONE", "RICHCARD_CAROUSEL", "ACTION_CREATE_CALENDAR_EVENT", "ACTION_DIAL", "ACTION_OPEN_URL", "ACTION_SHARE_LOCATION", "ACTION_VIEW_LOCATION", ] }
إذا أرسلت فحصًا للإمكانية إلى مستخدم لا يمكن الوصول إليه من خلال ميزة "مراسلة الأنشطة التجارية من خلال خدمات الاتصالات التفاعلية (RCS)"، على سبيل المثال،
إذا كان جهازه لا يتوافق مع خدمات الاتصالات التفاعلية (RCS)، تعرض النظام الأساسي "مراسلة الأنشطة التجارية من خلال خدمات الاتصالات التفاعلية (RCS)" خطأ 404
.
إذا أرسلت فحصًا للإمكانية إلى مستخدم RCS على شبكة لم يتم إطلاق الوكيل فيها بعد، ستعرض منصة RBM خطأ 403
.
عمليات التحقّق من الإمكانات المجمّعة
لتقدير عدد المستخدمين الذين يمكن الوصول إليهم في ميزة RBM، عليك إجراء فحص مجمَّع للإمكانات. تشير عمليات التحقّق المجمّعة إلى ما إذا كان يمكن الوصول إلى رقم الهاتف ولكنها لا تشير إلى الميزات المتوافقة مع رقم الهاتف.
يمكنك تحديد ما يصل إلى 10,000 رقم هاتف في كل فحص مجمّع للإمكانات. للتحقق من المزيد من الأرقام، قم بإجراء عمليات تحقق متعددة. استخدِم النص البرمجي للتحقّق من الإمكانيات المجمَّعة لاستخدام ملفات CSV كتنسيق إدخال.
الحد الأقصى لعدد الطلبات في عمليات التحقّق من الإمكانات المجمّعة هو 600 طلب في الدقيقة.
تعرض عمليات التحقّق من الإمكانيات المجمّعة قائمة بالأرقام التي يمكن لوكيلك الوصول إليها على مشغّلي شبكات الجوّال الذين يتم إطلاقهم حاليًا، بالإضافة إلى تقديرات للعدد الإجمالي للمستخدمين الذين يمكن الوصول إليهم من خلال جميع مشغّلي شبكات الجوّال. اطّلِع على الردّ على التحقّق من الإمكانيات المجمَّعة.
تقدير إجمالي عدد المستخدمين الذين يمكن الوصول إليهم
تتضمّن ردود الفحص المجمَّع قائمة بأرقام الهواتف
التي يمكن الوصول إليها فورًا من خلال مشغّلي شبكات الجوّال الذين استخدمهم الوكيل
(reachableUsers
)، إلا أنّ الردود تتضمّن أيضًا قيمتَين يمكن أن تساعدكا في تقدير
إجمالي عدد المستخدمين الذين يمكن الوصول إليهم على مستوى جميع مشغّلي شبكات الجوّال.
عندما يجري وكيلك فحصًا مُجمَّعًا لأكثر من 500 رقم هاتف،
يأخذ نظام RBM عشوائيًا من هذه الأرقام نحو 75% تقريبًا من هذه الأرقام للتحقّق من جميع مشغّلي شبكات الجوّال
(تم الإبلاغ عنها في totalRandomSampleUserCount
). تعرض ميزة RBM أيضًا عدد
الأرقام التي يمكن الوصول إليها من خلال ميزة "مراسلة الأنشطة التجارية من خلال خدمات الاتصالات التفاعلية (RCS)" من العينة العشوائية، بغض النظر عن حالة إطلاق
مشغّل شبكة الجوّال (reachableRandomSampleUserCount
). من خلال قسمة
reachableRandomSampleUserCount
على totalRandomSampleUserCount
، يمكنك
تقدير النسبة المئوية للأرقام التي يمكن أن يصل إليها
وكيلك في حال إطلاق مشغّل شبكة الجوّال.
على سبيل المثال، في حال تحديد 5,000 رقم هاتف في التحقّق من الإمكانيات المجمّعة،
وقد أخذت ميزة "مراسلة الأنشطة التجارية من خلال خدمات الاتصالات التفاعلية" (RBM) نماذج عشوائية بنسبة 75% تقريبًا من الأرقام المحدّدة،
قد تكون قيمة السمة totalRandomSampleUserCount
3750
. وإذا كانت قيمة reachableRandomSampleUserCount
3000
، ذلك يعني أنّه يمكن الوصول إلى% 80 من عيّنات الأرقام.
يمكن أن يؤدي اختبار عينات عشوائية إلى تباينات في النسب المئوية. لحساب آثار أخذ العينات العشوائي، عليك إجراء عمليات تحقق من الإمكانيات المجمّعة مع كميات أكبر من أرقام الهواتف. ويمكنك أيضًا إجراء عمليات تحقق باستخدام مجموعات الأرقام نفسها عدة مرات، ثم متوسط النتائج لتسوية سلوك العينات العشوائية.
إرسال فحص للإمكانات المجمّعة
يرسل الرمز التالي فحصًا مجمّعًا للإمكانات وينتظر ردًا. للتعرّف على خيارات التنسيق والقيمة، يُرجى الاطّلاع على القسم users.batchGet
.
يجب أن تكون أرقام الهواتف بتنسيق E.164. على سبيل المثال، " +12223334444".
cURL
curl -X POST "https://REGION-rcsbusinessmessaging.googleapis.com/v1/users:batchGet \ -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('../libs/rbm_api_helper'); // 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); });يستخدم هذا الرمز وكيل RBM.
Java
import com.google.rbm.samples.lib.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"));يستخدم هذا الرمز وكيل RBM.
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'])يستخدم هذا الرمز نموذج وكيل RBM.
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يستخدم هذا الرمز وكيل RBM.({"+12223334444", "+12223334444"}));
ردّ التحقّق من الإمكانيات المجمّعة
بعد إجراء فحص مُجمَّع للإمكانيات، تعرض ميزة RBM استجابة بتنسيق JSON.
{ "reachableUsers": [ "PHONE_NUMBER" ], "totalRandomSampleUserCount": "COUNT_OF_SAMPLE", "reachableRandomSampleUserCount": "REACHABLE_FROM_SAMPLE" }
الحقل | الوصف |
---|---|
reachableUsers
|
قائمة بالمستخدمين الذين يمكن الوصول إليهم على شركات تشغيل شبكات الجوّال التي تم إطلاقها حاليًا للوكيل. |
totalRandomSampleUserCount
|
عدد عينة عشوائية لأرقام محددة. عادة ما يقارب 75% من الأرقام المحددة. |
reachableRandomSampleUserCount
|
عدد الأرقام من العينة العشوائية التي يمكن الوصول إليها من خلال RBM بين جميع شركات النقل، بغض النظر عن شركات النقل التي يستخدمها الوكيل في الوقت الحالي. |
الأداة: النص البرمجي للتحقق من الإمكانية المجمّعة
ينفّذ النص البرمجي للتحقّق من إمكانية ربح العناصر غير المطابقة (تسجيل الدخول للتنزيل) ينفِّذ عمليات تحقّق من الإمكانيات المجمّعة باستخدام ملفات CSV كتنسيقات إدخال وإخراج. يحلّل النص البرمجي ملف CSV لـ MSISDN ويستخدم حزمة تطوير البرامج (SDK) الخاصة بنموذج RBM للتحقّق من إمكانات كل جهاز مُدرَج.
ويمكن لجهاز افتراضي مزوَّد بوحدة معالجة مركزية (CPU) وذاكرة وصول عشوائي (RAM) بسعة 4 غيغابايت ويشغل النص البرمجي مع 500 سلسلة محادثات حوالي 1K في الثانية، ولكن إجمالي عدد الطلبات في الثانية يعتمد على الجهاز المستخدَم، وبلد الأجهزة، والضبط الإقليمي للوكيل الذي تتعامل معه، ونقطة نهاية واجهة برمجة التطبيقات المستخدَمة.
المتطلبات الأساسية
قبل استخدام الأداة لإجراء فحص مجمّع للإمكانات، احصل على ما يلي:
- المسار إلى ملف CSV مع أسماء MSISDN لإجراء عمليات التحقق من الإمكانات على
- المسار إلى مفتاح حساب خدمة الوكيل على جهاز التطوير
بالإضافة إلى ذلك، يجب تثبيت البرامج التالية على جهاز التطوير:
- Apache Maven 3.3.9 أو إصدار أحدث
- Java 8
إعداد
- على جهاز التطوير، نزِّل نص برمجي للتحقّق من الإمكانيات المجمَّعة (سجِّل الدخول للتنزيل).
- انتقِل إلى الدليل الجذري للنص البرمجي.
- أعِد تسمية مفتاح حساب الخدمة باسم "rbm-agent-service-account-credentials.json" وانقل مفتاح حساب الخدمة إلى الدليل "src/main/resources".
إجراء فحص مجمَّع
- في نافذة طرفية، انتقِل إلى الدليل الجذري للنص البرمجي.
قم بتشغيل الأوامر التالية:
export MAVEN_OPTS="-Xms1024m -Xmx3000m"
mvn compile && mvn exec:java -Dexec.args="INPUT_FILE OUTPUT_FILE NUM_OF_THREADS START_INDEX END_INDEX"
استبدِل المتغيرات بالقيم التي حدّدتها.
استبدال مع مثال INPUT_FILE المسار إلى ملف CSV الذي تم إدخاله input.csv
OUTPUT_FILE المسار إلى ملف الناتج بتنسيق CSV. output.csv
NUM_OF_THREADS عدد السلاسل المطلوب تخصيصها لعمليات التحقق من الإمكانات. 500
START_INDEX اختياريّ. تشير القيمة الموجودة في ملف CSV إلى البدء في إجراء عمليات التحقق مقابلها. 5
END_INDEX اختياريّ. القيمة الموجودة في ملف CSV لإنهاء عمليات التحقق بعد ذلك. 500
عند اكتمال النص البرمجي، افتح ملف CSV الناتج لعرض النتائج.