การตรวจสอบความสามารถ

วิธีตรวจสอบว่าอุปกรณ์ของผู้ใช้เปิดใช้ 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);
});
โค้ดนี้เป็นข้อความที่ตัดตอนมาจาก ตัวแทนตัวอย่าง RBM

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");
โค้ดนี้เป็นข้อความที่ตัดตอนมาจาก ตัวแทนตัวอย่าง 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",
  ]
}

หากคุณส่งการตรวจสอบความสามารถให้ผู้ใช้ที่ 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);
});
โค้ดนี้ใช้ตัวอย่าง RBM Agent

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"));
โค้ดนี้ใช้ตัวอย่าง RBM Agent

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 Agent

ความสามารถในการตรวจสอบคำตอบแบบเป็นกลุ่ม

หลังจากเรียกใช้การตรวจสอบความสามารถแบบกลุ่มแล้ว 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 สำหรับตรวจสอบความสามารถ
  • เส้นทางไปยังคีย์บัญชีบริการของตัวแทนในเครื่องพัฒนาซอฟต์แวร์

นอกจากนี้ คุณต้องติดตั้งซอฟต์แวร์ต่อไปนี้ในการพัฒนาซอฟต์แวร์ เครื่อง:

ตั้งค่า

  1. ดาวน์โหลดและดึงข้อมูล สคริปต์การตรวจสอบความสามารถในการทำงานแบบกลุ่ม (ลงชื่อเข้าใช้ ดาวน์โหลด)
  2. ทำตามขั้นตอนใน README

เรียกใช้การตรวจสอบหลายรายการพร้อมกัน

  1. ไปที่ไดเรกทอรีรากของสคริปต์ในเทอร์มินัล
  2. เรียกใช้คำสั่งต่อไปนี้

    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
  3. เมื่อสคริปต์เสร็จสมบูรณ์แล้ว ให้เปิดไฟล์ CSV เอาต์พุตเพื่อดูผลลัพธ์