วิธีตรวจสอบว่าอุปกรณ์ของผู้ใช้เปิดใช้ 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
) คำตอบยังมีค่า 2 ค่าที่ช่วยในการประเมิน
จำนวนผู้ใช้ทั้งหมดที่เข้าถึงได้ของผู้ให้บริการทั้งหมด
เมื่อตัวแทนของคุณตรวจสอบความสามารถแบบเป็นกลุ่มที่มีหมายเลขโทรศัพท์มากกว่า 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 CPU และ RAM 4 GB ที่เรียกใช้สคริปต์พร้อมเทรด 500 รายการ สามารถเข้าถึง QPS ได้ประมาณ 1,000 QPS แต่ QPS โดยรวมจะขึ้นอยู่กับเครื่องที่ใช้ ประเทศของอุปกรณ์ การกำหนดค่าระดับภูมิภาคของ Agent และ API ปลายทางที่ใช้
ข้อกำหนดเบื้องต้น
ก่อนใช้เครื่องมือเพื่อตรวจสอบความสามารถแบบเป็นกลุ่ม โปรดศึกษาข้อมูลต่อไปนี้
- เส้นทางไปยังไฟล์ CSV ด้วย MSISDN สำหรับตรวจสอบความสามารถ
- เส้นทางไปยังคีย์บัญชีบริการของตัวแทนในเครื่องพัฒนาซอฟต์แวร์
นอกจากนี้ คุณต้องติดตั้งซอฟต์แวร์ต่อไปนี้ในการพัฒนาซอฟต์แวร์ เครื่อง:
- Apache Maven 3.3.9 ขึ้นไป
- Java 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 รหัสของ Agent การรับส่งข้อความทางธุรกิจ 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 เอาต์พุตเพื่อดูผลลัพธ์