برای بررسی اینکه آیا دستگاه کاربر دارای 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); });این کد گزیده ای از یک عامل نمونه RBM است.
جاوا
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");این کد گزیده ای از یک عامل نمونه 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
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); });این کد از عامل نمونه RBM استفاده می کند.
جاوا
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"));این کد از عامل نمونه 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این کد از عامل نمونه RBM استفاده می کند.({"+12223334444", "+12223334444"}));
پاسخ بررسی قابلیت انبوه
پس از اجرای بررسی قابلیت انبوه، 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 برای انجام بررسی قابلیت ها
- مسیر کلید حساب سرویس نماینده شما در دستگاه توسعه شما
علاوه بر این، به نرم افزار زیر نیاز دارید که روی دستگاه توسعه خود نصب شده باشد:
- Apache Maven 3.3.9 یا بالاتر
- جاوا 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 خروجی را باز کنید تا نتایج را مشاهده کنید.