بررسی قابلیت ها

برای بررسی اینکه آیا دستگاه کاربر دارای RCS فعال است و می‌تواند با یک عامل RBM ارتباط برقرار کند، می‌توانید قابلیت‌های دستگاه را درخواست کنید. شناسایی ویژگی‌هایی که یک دستگاه در صورت وجود پشتیبانی می‌کند، به نماینده شما اجازه می‌دهد مکالمه را مطابق با قابلیت‌های دستگاه تنظیم کند و از ارائه تعاملاتی که انجام آن برای کاربر دشوار یا غیرممکن است، اجتناب کند.

اگر دستگاه کاربر اصلاً قادر به دریافت پیام‌های RCS نیست، می‌توانید از طریق سرویس‌های دیگری مانند پیامک با کاربر ارتباط برقرار کنید.

ارسال چک قابلیت

کد زیر یک بررسی قابلیت ارسال می کند و منتظر پاسخ می ماند. برای گزینه‌های قالب‌بندی و مقدار، به getCapabilities مراجعه کنید.

حلقه

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 است.

جاوا

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 است.

پایتون

# 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 است.

سی شارپ

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",
  ]
}

اگر یک بررسی قابلیت را برای کاربری ارسال کنید که توسط RBM قابل دسترسی نیست - برای مثال، اگر دستگاه آنها از RCS پشتیبانی نمی کند - پلت فرم RBM یک خطای 404 را برمی گرداند.

اگر برای یک کاربر RCS در شبکه‌ای که عامل شما هنوز راه‌اندازی نشده است، یک بررسی قابلیت ارسال کنید، پلتفرم RBM خطای 403 را برمی‌گرداند.

بررسی قابلیت انبوه

برای تخمین تعداد کاربران قابل دسترسی RBM، یک بررسی قابلیت انبوه انجام دهید. بررسی‌های انبوه نشان می‌دهد که آیا شماره تلفن قابل دسترسی است یا خیر، اما نه ویژگی‌هایی که شماره تلفن پشتیبانی می‌کند.

در هر بررسی قابلیت انبوه می توانید حداکثر 10000 شماره تلفن را مشخص کنید. برای بررسی اعداد بیشتر، چندین بررسی انجام دهید. از اسکریپت بررسی قابلیت انبوه برای استفاده از فایل های CSV به عنوان فرمت ورودی استفاده کنید.

بررسی قابلیت انبوه حداکثر 600 درخواست در دقیقه (QPM) دارد.

بررسی‌های قابلیت انبوه فهرستی از اعدادی را که نماینده شما می‌تواند در شرکت‌های مخابراتی راه‌اندازی‌شده فعلی‌اش به دست آورد، و همچنین تخمین‌هایی برای تعداد کل کاربران قابل دسترسی در همه شرکت‌های مخابراتی ارائه می‌دهد. پاسخ بررسی قابلیت انبوه را ببینید.

تعداد کل کاربران قابل دسترسی را تخمین بزنید

در حالی که پاسخ‌های بررسی انبوه شامل فهرستی از شماره‌های تلفنی است که بلافاصله در شرکت‌های مخابراتی راه‌اندازی شده توسط نماینده شما قابل دسترسی هستند ( reachableUsers )، پاسخ‌ها همچنین شامل دو مقدار است که می‌تواند به شما کمک کند تعداد کل کاربران قابل دسترسی را در همه شرکت‌های مخابراتی تخمین بزنید.

هنگامی که نماینده شما یک بررسی انبوه قابلیت بیش از 500 شماره تلفن انجام می دهد، RBM به طور تصادفی 75٪ از آن اعداد را برای بررسی همه شرکت های مخابراتی نمونه برداری می کند (گزارش شده در totalRandomSampleUserCount ). RBM همچنین تعداد اعداد قابل دسترسی RBM را از نمونه تصادفی، بدون توجه به وضعیت راه‌اندازی شرکت مخابراتی ( reachableRandomSampleUserCount ) برمی‌گرداند. با تقسیم reachableRandomSampleUserCount بر totalRandomSampleUserCount ، می‌توانید درصد اعدادی را تخمین بزنید که نماینده شما در صورت راه‌اندازی در همه شرکت‌های مخابراتی می‌تواند به آن برسد.

برای مثال، اگر 5000 شماره تلفن را در بررسی قابلیت انبوه مشخص کنید، و RBM به طور تصادفی 75٪ از اعداد مشخص شده را نمونه برداری کند، totalRandomSampleUserCount ممکن است 3750 باشد. اگر reachableRandomSampleUserCount 3000 باشد، 80٪ از اعداد نمونه قابل دسترسی هستند.

آزمایش نمونه های تصادفی می تواند منجر به واریانس در درصد شود. برای در نظر گرفتن اثرات نمونه‌گیری تصادفی، بررسی‌های انبوه قابلیت را با تعداد بیشتری شماره تلفن انجام دهید. همچنین می‌توانید چندین بار با دسته‌های یکسانی از اعداد بررسی کنید و سپس نتایج را میانگین بگیرید تا رفتار نمونه‌گیری تصادفی را عادی کنید.

ارسال چک قابلیت انبوه

کد زیر یک بررسی انبوه قابلیت ارسال می کند و منتظر پاسخ می ماند. برای گزینه‌های قالب‌بندی و مقدار، به users.batchGet مراجعه کنید.

شماره تلفن باید در قالب E.164 باشد. به عنوان مثال، "+12223334444".

حلقه

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 استفاده می کند.

جاوا

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 استفاده می کند.

پایتون

# 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 استفاده می کند.

سی شارپ

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 هستند.

ابزار: اسکریپت بررسی قابلیت انبوه

اسکریپت بررسی قابلیت انبوهاسکریپت بررسی قابلیت Buck ( برای دانلود به سیستم وارد شوید )با استفاده از فایل های CSV به عنوان فرمت های ورودی و خروجی، بررسی های قابلیت انبوه را انجام می دهد. اسکریپت فایل CSV MSISDN ها را تجزیه می کند و از RBM SDK برای بررسی قابلیت های هر دستگاه فهرست شده استفاده می کند.

یک ماشین مجازی با 2 CPU و 4 گیگابایت رم که اسکریپت را با 500 رشته کار می‌کند می‌تواند تقریباً به 1K QPS برسد، اما QPS کلی به دستگاه مورد استفاده، کشور دستگاه‌ها، پیکربندی منطقه‌ای عامل شما و نقطه پایانی API مورد استفاده بستگی دارد.

پیش نیازها

قبل از استفاده از ابزار برای انجام بررسی قابلیت انبوه، موارد زیر را دریافت کنید:

  • مسیر فایل 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 خروجی را باز کنید تا نتایج را مشاهده کنید.