כדי לבדוק אם במכשיר של משתמש מסוים ה-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": [ "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, צריך לבצע בדיקת יכולת בכמות גדולה. בכמות גדולה בודקים אם ניתן להשיג מספר טלפון, אבל לא כולל מספרי טלפון נתמכים.
אפשר לציין עד 10,000 מספרי טלפון לכל בדיקת יכולת בכמות גדולה. כדי לבדוק יותר מספרים, צריך לבצע כמה בדיקות. שימוש בבדיקת היכולות בכמות גדולה סקריפט לשימוש בקובצי CSV כפורמט קלט.
בדיקות יכולת בכמות גדולה יכולות לכלול עד 600 שאילתות לדקה (QPM).
בדיקות יכולת בכמות גדולה מחזירות רשימה של המספרים שאליהם הנציג יכול להגיע הספקים שבהם היא הושקה, וגם הערכות למספר הכולל של למשתמשים שאפשר להגיע אליהם בכל הספקים. לעיון בתגובות לבדיקת יכולת בכמות גדולה.
הערכת סך המשתמשים שניתן להגיע אליהם
תגובות לבדיקה בכמות גדולה כוללות רשימה של מספרי טלפון
שאפשר ליצור איתם קשר באופן מיידי דרך הספקים של הנציג שהושקו
(reachableUsers
), התשובות כוללות גם שני ערכים שיכולים לעזור לך להעריך
המספר הכולל של משתמשים שאפשר להגיע אליהם בכל הספקים
כשהנציג מבצע בדיקה בכמות גדולה של יותר מ-500 מספרי טלפון,
RBM דוגמים באופן אקראי כ-75% מהמספרים האלה כדי לבדוק את כל הספקים
(מדווח ב-totalRandomSampleUserCount
). RBM גם מחזירה את הספירה של
מספרים שניתן להגיע אליהם RBM מהדגימה האקראית, ללא קשר להשקה של הספק
הסטטוס (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?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
|
ספירת המספרים מתוך האקראי מדגם שכל הספקים יכולים להגיע אליו, ללא קשר ל-RBM אצל אילו ספקים יופעל הנציג. |
כלי: סקריפט לבדיקת יכולות בכמות גדולה
סקריפט בדיקת היכולות של Buck (כניסה אל הורדה) לבצע בדיקות יכולת בכמות גדולה באמצעות קובצי CSV כפורמטים של קלט ופלט. הסקריפט מנתח את קובץ ה-CSV של שמות ה-MSISDN ומשתמש ב-RBM SDK לבדיקת היכולות של כל מכשיר ברשימה.
מכונה וירטואלית עם 2 מעבדים ו-4GB של RAM שמריצה את הסקריפט עם 500 תהליכונים יכול להגיע לכ-1,000 QPS, אבל ה-QPS הכולל תלוי במכונה שבה משתמשים, המדינה שבה נמצאים המכשירים, ההגדרה האזורית של הנציג וה-API נקודת הקצה שבה נעשה שימוש.
דרישות מוקדמות
לפני שמשתמשים בכלי כדי לבצע בדיקת יכולת בכמות גדולה, חשוב לקבל את הדברים הבאים:
- הנתיב לקובץ CSV עם מזהי MSISDN כדי לבצע בדיקות יכולות.
- הנתיב למפתח לחשבון השירות של הנציג במכונת הפיתוח
בנוסף, צריך להתקין את התוכנה הבאה במכשיר הפיתוח מכונה:
- Apache Maven 3.3.9 ואילך
- Java 8
הגדרה
- במכונת הפיתוח שלך, מורידים ומחלצים את סקריפט בדיקת היכולת בכמות גדולה (כניסה אל הורדה).
- פועלים לפי השלבים שבקובץ README.
הפעלת בדיקה בכמות גדולה
- בטרמינל, עוברים לספריית הבסיס (root) של הסקריפט.
מריצים את הפקודות הבאות:
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 Business Messaging 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 כדי לראות את התוצאות.