عمليات التحقق من الإمكانية

للتحقّق مما إذا كان جهاز المستخدم مزوّدًا بخدمة 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({"+12223334444", "+12223334444"}));
يستخدم هذا الرمز وكيل RBM.

ردّ التحقّق من الإمكانيات المجمّعة

بعد إجراء فحص مُجمَّع للإمكانيات، تعرض ميزة 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 لإجراء عمليات التحقق من الإمكانات على
  • المسار إلى مفتاح حساب خدمة الوكيل على جهاز التطوير

بالإضافة إلى ذلك، يجب تثبيت البرامج التالية على جهاز التطوير:

إعداد

  1. على جهاز التطوير، نزِّل نص برمجي للتحقّق من الإمكانيات المجمَّعة (سجِّل الدخول للتنزيل).
  2. انتقِل إلى الدليل الجذري للنص البرمجي.
  3. أعِد تسمية مفتاح حساب الخدمة باسم "rbm-agent-service-account-credentials.json" وانقل مفتاح حساب الخدمة إلى الدليل "src/main/resources".

إجراء فحص مجمَّع

  1. في نافذة طرفية، انتقِل إلى الدليل الجذري للنص البرمجي.
  2. قم بتشغيل الأوامر التالية:

    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
  3. عند اكتمال النص البرمجي، افتح ملف CSV الناتج لعرض النتائج.