Kiểm tra khả năng

Để kiểm tra xem thiết bị của người dùng có hỗ trợ RCS hay không và có thể giao tiếp với nhân viên hỗ trợ RBM hay không, bạn có thể yêu cầu các tính năng của thiết bị. Việc xác định tính năng nào mà thiết bị hỗ trợ (nếu có) sẽ cho phép nhân viên hỗ trợ điều chỉnh cuộc trò chuyện cho phù hợp với các tính năng của thiết bị và tránh đưa ra các lượt tương tác khó hoặc người dùng không thể hoàn thành.

Nếu thiết bị của người dùng không thể nhận tin nhắn RCS, thì bạn có thể giao tiếp với người dùng thông qua các dịch vụ khác, chẳng hạn như SMS.

Gửi kết quả kiểm tra khả năng

Mã sau đây sẽ gửi một quy trình kiểm tra khả năng và chờ phản hồi. Để biết các tuỳ chọn định dạng và giá trị, hãy xem getCapabilities.

cURL

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);
});
Mã này là phần trích dẫn từ một tác nhân mẫu RBM.

Java

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");
Mã này là phần trích dẫn từ một tác nhân mẫu 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')
Mã này là phần trích dẫn từ một tác nhân mẫu 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");
Mã này là phần trích dẫn từ một tác nhân mẫu RBM.

Phản hồi về chức năng

Sau khi chạy quy trình kiểm tra khả năng, nền tảng RBM sẽ trả về danh sách tính năng theo định dạng JSON mà thiết bị được chỉ định hỗ trợ.

{
  "features": [
    "REVOCATION",
    "RICHCARD_STANDALONE",
    "RICHCARD_CAROUSEL",
    "ACTION_CREATE_CALENDAR_EVENT",
    "ACTION_DIAL",
    "ACTION_OPEN_URL",
    "ACTION_SHARE_LOCATION",
    "ACTION_VIEW_LOCATION",
  ]
}

Nếu bạn gửi yêu cầu kiểm tra khả năng cho một người dùng không thể tiếp cận bằng RBM (ví dụ: nếu thiết bị của họ không hỗ trợ RCS), thì nền tảng RBM sẽ trả về lỗi 404.

Nếu bạn gửi yêu cầu kiểm tra khả năng cho một người dùng RCS trên một mạng mà nhân viên hỗ trợ của bạn chưa ra mắt, thì nền tảng RBM sẽ trả về lỗi 403.

Kiểm tra chức năng hàng loạt

Để ước tính số người dùng có thể tiếp cận RBM, hãy kiểm tra khả năng xử lý hàng loạt. Hoạt động kiểm tra hàng loạt cho biết liệu một số điện thoại có thể truy cập được hay không, nhưng không cho biết số điện thoại hỗ trợ những tính năng nào.

Bạn có thể chỉ định tối đa 10.000 số điện thoại cho mỗi lần kiểm tra khả năng hàng loạt. Để kiểm tra nhiều số hơn, hãy thực hiện nhiều bước kiểm tra. Sử dụng Tập lệnh kiểm tra khả năng hàng loạt để dùng tệp CSV làm định dạng đầu vào.

Các lần kiểm tra khả năng hàng loạt có tối đa 600 truy vấn mỗi phút (QPM).

Tính năng kiểm tra chức năng hàng loạt sẽ trả về danh sách số điện thoại mà nhân viên hỗ trợ của bạn có thể liên hệ với các nhà mạng hiện đã ra mắt, cũng như thông tin ước tính về tổng số người dùng có thể tiếp cận được trên mọi nhà mạng. Xem nội dung Phản hồi kiểm tra khả năng hàng loạt.

Ước tính tổng số người dùng có thể truy cập

Mặc dù phản hồi kiểm tra hàng loạt bao gồm danh sách số điện thoại có thể liên hệ ngay lập tức trên các nhà mạng đã phát hành của tác nhân (reachableUsers), nhưng phản hồi cũng bao gồm hai giá trị có thể giúp bạn ước tính tổng số người dùng có thể liên hệ trên tất cả các nhà mạng.

Khi nhân viên hỗ trợ của bạn thực hiện kiểm tra khả năng hàng loạt cho hơn 500 số điện thoại, RBM sẽ lấy mẫu ngẫu nhiên khoảng 75% số đó để kiểm tra tất cả các nhà mạng (được báo cáo trong totalRandomSampleUserCount). RBM cũng trả về số lượng số có thể truy cập RBM từ mẫu ngẫu nhiên, bất kể trạng thái khởi chạy của nhà mạng (reachableRandomSampleUserCount). Bằng cách chia reachableRandomSampleUserCount cho totalRandomSampleUserCount, bạn có thể ước tính tỷ lệ phần trăm số số mà nhân viên hỗ trợ có thể tiếp cận được nếu đã ra mắt trên tất cả các nhà mạng.

Ví dụ: nếu bạn chỉ định 5.000 số điện thoại trong quá trình kiểm tra khả năng hàng loạt và RBM lấy mẫu ngẫu nhiên ~75% số được chỉ định, thì totalRandomSampleUserCount có thể là 3750. Nếu reachableRandomSampleUserCount3000, thì 80% số được lấy mẫu có thể truy cập được.

Việc thử nghiệm các mẫu ngẫu nhiên có thể dẫn đến sự chênh lệch về tỷ lệ phần trăm. Để tính đến tác động của việc lấy mẫu ngẫu nhiên, hãy chạy các lượt kiểm tra khả năng hàng loạt với số lượng số điện thoại lớn hơn. Bạn cũng có thể thực hiện kiểm tra với cùng một lô số nhiều lần, sau đó tính trung bình các kết quả để chuẩn hoá hành vi lấy mẫu ngẫu nhiên.

Gửi kết quả kiểm tra khả năng cho hàng loạt video

Mã sau đây sẽ gửi quy trình kiểm tra khả năng hàng loạt và chờ phản hồi. Để biết các tuỳ chọn định dạng và giá trị, hãy xem users.batchGet.

Số điện thoại phải ở định dạng E.164. Ví dụ: "+12223334444".

cURL

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);
});
Mã này sử dụng tác nhân mẫu RBM.

Java

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"));
Mã này sử dụng tác nhân mẫu RBM.

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'])
Mã này sử dụng tác nhân mẫu 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"}));
Mã này sử dụng tác nhân mẫu RBM.

Phản hồi kiểm tra chức năng hàng loạt

Sau khi kiểm tra khả năng hàng loạt, RBM sẽ trả về phản hồi theo định dạng JSON.

{
  "reachableUsers": [
    "PHONE_NUMBER"
  ],
  "totalRandomSampleUserCount": "COUNT_OF_SAMPLE",
  "reachableRandomSampleUserCount": "REACHABLE_FROM_SAMPLE"
}
Trường Nội dung mô tả
reachableUsers Danh sách người dùng có thể truy cập trên các nhà mạng hiện đã ra mắt của nhân viên hỗ trợ.
totalRandomSampleUserCount Số lượng mẫu ngẫu nhiên gồm các số được chỉ định. Thường là khoảng 75% số được chỉ định.
reachableRandomSampleUserCount Số lượng số từ mẫu ngẫu nhiên mà RBM có thể truy cập được trên mọi nhà mạng, bất kể nhà mạng đang chạy của tác nhân.

Công cụ: Tập lệnh kiểm tra khả năng hàng loạt

Tập lệnh kiểm tra khả năng sửa lỗi (Đăng nhập để tải xuống) thực hiện việc kiểm tra các chức năng hàng loạt bằng cách sử dụng tệp CSV làm định dạng đầu vào và đầu ra. Tập lệnh này phân tích cú pháp tệp CSV của MSISDN và sử dụng RBM SDK để kiểm tra khả năng của mọi thiết bị được liệt kê.

Một máy ảo gồm 2 CPU và 4 GB RAM chạy tập lệnh với 500 luồng có thể đạt khoảng 1 nghìn QPS, nhưng QPS tổng thể phụ thuộc vào máy được sử dụng, quốc gia của thiết bị, cấu hình theo khu vực của tác nhân và điểm cuối API được sử dụng.

Điều kiện tiên quyết

Trước khi sử dụng công cụ để kiểm tra nhiều chức năng cùng một lúc, hãy tham khảo những thông tin sau:

  • Đường dẫn tới tệp CSV có MSISDN để thực hiện kiểm tra khả năng
  • Đường dẫn đến khoá tài khoản dịch vụ của nhân viên hỗ trợ trên máy phát triển của bạn

Ngoài ra, bạn cần cài đặt phần mềm sau đây trên máy phát triển:

Thiết lập

  1. Trên máy phát triển, hãy tải xuống và giải nén Tập lệnh kiểm tra khả năng hàng loạt (Đăng nhập để tải xuống).
  2. Chuyển đến thư mục gốc của tập lệnh.
  3. Đổi tên khoá tài khoản dịch vụ thành "rbm-agent-service-account-credentials.json" và di chuyển khoá tài khoản dịch vụ vào thư mục "src/main/resources".

Chạy kiểm tra hàng loạt

  1. Trong dòng lệnh, hãy chuyển đến thư mục gốc của tập lệnh.
  2. Chạy các lệnh sau:

    export MAVEN_OPTS="-Xms1024m -Xmx3000m"
    mvn compile && mvn exec:java -Dexec.args="INPUT_FILE OUTPUT_FILE NUM_OF_THREADS START_INDEX END_INDEX"
    

    Thay thế biến bằng các giá trị mà bạn đã xác định.

    Thay thế bằng Ví dụ:
    INPUT_FILE Đường dẫn đến tệp CSV đầu vào. input.csv
    OUTPUT_FILE Đường dẫn đến tệp CSV đầu ra. output.csv
    NUM_OF_THREADS Số lượng luồng dành riêng cho các lần kiểm tra khả năng. 500
    START_INDEX Không bắt buộc. Giá trị trong tệp CSV để bắt đầu chạy các lượt kiểm tra. 5
    END_INDEX Không bắt buộc. Giá trị trong tệp CSV để kết thúc kiểm tra sau đó. 500
  3. Khi tập lệnh hoàn tất, hãy mở tệp CSV đầu ra để xem kết quả.