Pemeriksaan kemampuan

Untuk memeriksa apakah perangkat pengguna mengaktifkan RCS dan mampu berkomunikasi dengan agen RBM, Anda dapat meminta kemampuan perangkat. Mengidentifikasi fitur yang didukung perangkat, jika ada, memungkinkan agen Anda menyesuaikan percakapan dengan kemampuan perangkat dan menghindari menampilkan interaksi yang sulit atau tidak mungkin diselesaikan pengguna.

Jika perangkat pengguna tidak dapat menerima pesan RCS sama sekali, Anda dapat berkomunikasi dengan pengguna melalui layanan lain, seperti SMS.

Mengirim pemeriksaan kemampuan

Kode berikut mengirimkan pemeriksaan kemampuan dan menunggu respons. Untuk opsi nilai dan pemformatan, lihat 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);
});
Kode ini adalah kutipan dari agen sampel 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");
Kode ini adalah kutipan dari agen sampel 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')
Kode ini adalah kutipan dari agen sampel 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");
Kode ini adalah kutipan dari agen sampel RBM.

Respons kemampuan

Setelah menjalankan pemeriksaan kemampuan, platform RBM akan menampilkan daftar fitur berformat JSON yang didukung perangkat yang ditentukan.

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

Jika Anda mengirim pemeriksaan kemampuan kepada pengguna yang tidak dapat dijangkau oleh RBM—misalnya, jika perangkat pengguna tidak mendukung RCS—platform RBM akan menampilkan error 404.

Jika Anda mengirim pemeriksaan kemampuan ke pengguna RCS di jaringan tempat agen Anda belum diluncurkan, platform RBM akan menampilkan error 403.

Pemeriksaan kemampuan massal

Untuk memperkirakan jumlah pengguna yang dapat dijangkau RBM, lakukan pemeriksaan kemampuan secara massal. Pemeriksaan massal menunjukkan apakah nomor telepon dapat dihubungi, tetapi bukan fitur yang didukung oleh nomor telepon.

Anda dapat menentukan hingga 10.000 nomor telepon per pemeriksaan kemampuan massal. Untuk memeriksa lebih banyak nomor, lakukan beberapa pemeriksaan. Gunakan Skrip Pemeriksaan Kemampuan Massal untuk menggunakan file CSV sebagai format input.

Pemeriksaan kemampuan massal memiliki maksimum 600 kueri per menit (QPM).

Pemeriksaan kemampuan massal menampilkan daftar nomor yang dapat dijangkau agen Anda pada operator yang saat ini diluncurkan, serta perkiraan jumlah total pengguna yang dapat dijangkau di semua operator. Lihat Respons pemeriksaan kemampuan massal.

Memperkirakan total pengguna yang dapat dijangkau

Meskipun respons pemeriksaan massal mencakup daftar nomor telepon yang dapat langsung dihubungi di operator yang diluncurkan oleh agen Anda (reachableUsers), respons juga menyertakan dua nilai yang dapat membantu Anda memperkirakan jumlah total pengguna yang dapat dijangkau di semua operator.

Saat agen melakukan pemeriksaan kemampuan massal terhadap lebih dari 500 nomor telepon, RBM secara acak mengambil sampel ~75% dari nomor tersebut untuk memeriksa semua operator (dilaporkan dalam totalRandomSampleUserCount). RBM juga menampilkan jumlah nomor yang dapat dijangkau RBM dari sampel acak, terlepas dari status peluncuran operator (reachableRandomSampleUserCount). Dengan membagi reachableRandomSampleUserCount dengan totalRandomSampleUserCount, Anda dapat memperkirakan persentase jumlah yang dapat dijangkau agen Anda jika diluncurkan pada semua operator.

Misalnya, jika Anda menentukan 5.000 nomor telepon dalam pemeriksaan kemampuan massal, dan RBM secara acak mengambil sampel ~75% dari nomor yang ditentukan, totalRandomSampleUserCount mungkin 3750. Jika reachableRandomSampleUserCount adalah 3000, berarti 80% jumlah sampel dapat dijangkau.

Menguji sampel acak dapat menyebabkan variasi dalam persentase. Untuk memperhitungkan efek pengambilan sampel acak, jalankan pemeriksaan kemampuan massal dengan jumlah nomor telepon yang lebih besar. Anda juga dapat melakukan pemeriksaan dengan batch angka yang sama beberapa kali, lalu merata-rata hasilnya untuk menormalisasi perilaku pengambilan sampel acak.

Mengirim pemeriksaan kemampuan secara massal

Kode berikut mengirimkan pemeriksaan kemampuan secara massal dan menunggu respons. Untuk opsi nilai dan pemformatan, lihat users.batchGet.

Nomor telepon harus dalam format E.164. Misalnya, "+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);
});
Kode ini menggunakan agen contoh 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"));
Kode ini menggunakan agen contoh 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'])
Kode ini menggunakan agen contoh 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"}));
Kode ini menggunakan agen contoh RBM.

Respons pemeriksaan kemampuan massal

Setelah menjalankan pemeriksaan kemampuan massal, RBM akan menampilkan respons berformat JSON.

{
  "reachableUsers": [
    "PHONE_NUMBER"
  ],
  "totalRandomSampleUserCount": "COUNT_OF_SAMPLE",
  "reachableRandomSampleUserCount": "REACHABLE_FROM_SAMPLE"
}
Kolom Deskripsi
reachableUsers Daftar pengguna yang dapat dijangkau di operator yang saat ini diluncurkan oleh agen.
totalRandomSampleUserCount Jumlah sampel acak dari angka yang ditentukan. Biasanya ~75% dari angka yang ditentukan.
reachableRandomSampleUserCount Jumlah angka dari sampel acak yang dapat dijangkau RBM di semua operator, terlepas dari operator yang saat ini diluncurkan oleh agen.

Alat: Skrip Pemeriksaan Kemampuan Massal

Skrip Skrip Pemeriksaan Kemampuan Buck (Login untuk mendownload) melakukan pemeriksaan kemampuan secara massal menggunakan file CSV sebagai format input dan output. Skrip ini mengurai file CSV MSISDN dan menggunakan RBM SDK untuk memeriksa kemampuan setiap perangkat yang tercantum.

Mesin virtual dengan 2 CPU dan RAM 4 GB yang menjalankan skrip dengan 500 thread dapat mencapai sekitar 1.000 QPS, tetapi QPS secara keseluruhan bergantung pada mesin yang digunakan, negara perangkat, konfigurasi regional agen Anda, dan endpoint API yang digunakan.

Prasyarat

Sebelum menggunakan alat ini untuk melakukan pemeriksaan kemampuan massal, dapatkan hal berikut:

  • Jalur ke file CSV dengan MSISDN untuk melakukan pemeriksaan kemampuan
  • Jalur ke kunci akun layanan agen di mesin pengembangan Anda

Selain itu, Anda perlu menginstal software berikut di mesin pengembangan:

Penyiapan

  1. Di mesin pengembangan, download dan ekstrak Skrip Pemeriksaan Kemampuan Massal (Login untuk mendownload).
  2. Buka direktori utama skrip.
  3. Ganti nama kunci akun layanan menjadi "rbm-agent-service-account-credentials.json" dan pindahkan kunci akun layanan ke direktori "src/main/resources".

Menjalankan pemeriksaan massal

  1. Di terminal, buka direktori root skrip.
  2. Jalankan perintah berikut:

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

    Ganti variabel dengan nilai yang telah Anda identifikasi.

    Mengganti Dengan Contoh
    INPUT_FILE Jalur ke file CSV input. input.csv
    OUTPUT_FILE Jalur ke file CSV output. output.csv
    NUM_OF_THREADS Jumlah thread yang dikhususkan untuk pemeriksaan kemampuan. 500
    START_INDEX Opsional. Nilai dalam file CSV untuk mulai menjalankan pemeriksaan. 5
    END_INDEX Opsional. Nilai dalam file CSV yang akan diakhiri pemeriksaan setelahnya. 500
  3. Setelah skrip selesai, buka file CSV output untuk melihat hasilnya.