Pemeriksaan kemampuan

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

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

Memeriksa kemampuan perangkat

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

Respons kemampuan

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

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

Permintaan akan menampilkan respons atau error.

Respons yang berhasil ditampilkan hanya jika MSISDN (nomor telepon) telah terhubung ke layanan RCS dalam 31 hari terakhir. Artinya, perangkat pengguna telah memeriksa in dengan server RCS kami dalam jangka waktu tersebut. Perangkat online dan yang mendukung RCS memeriksa setiap 1-4 jam secara rata-rata.

Jika pengguna memindahkan kartu SIM ke perangkat lain yang kompatibel dengan RCS, atribusi perangkat sebelumnya akan dihapus, dan yang baru akan dibuat, yang memperbarui kemampuan perangkat di layanan RCS.

Jika kartu SIM ditempatkan di perangkat yang menonaktifkan RCS oleh operator atau produsen, atau kartu SIM tetap tidak digunakan, layanan RCS akan tetap mencoba mengirim pesan ke perangkat yang sebelumnya dikaitkan hingga 31 hari.

Berikut penyebab error 404:

  • Pengguna tidak dapat dijangkau oleh RBM–misalnya, jika perangkatnya tidak mendukung RCS.

  • Pengguna memiliki RCS, tetapi agen Anda tidak diluncurkan di jaringan selulernya.

Antrean offline

Pesan dimasukkan ke antrean hingga 31 hari dan dikirim saat perangkat kembali online. Artinya, meskipun perangkat offline dalam waktu lama (hingga 31 hari), pesan yang diantrekan akan tetap dikirim setelah koneksi kembali, selama MSISDN telah terhubung ke layanan RCS dalam 31 hari terakhir.

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 tidak menunjukkan fitur yang didukung nomor telepon.

Untuk setiap pemeriksaan kemampuan massal, Anda harus memberikan 500–10.000 nomor telepon unik. Untuk memeriksa lebih banyak nomor, lakukan beberapa pemeriksaan. Anda dapat melakukan hingga 600 panggilan per menit. Gunakan Skrip Pemeriksaan Kemampuan Massal untuk menggunakan file CSV sebagai format input. Pemeriksaan massal dibaca dari cache kemampuan, yang diperbarui oleh klien secara organik menggunakan RCS. Agen tidak meminta kemampuan setiap perangkat secara langsung. Oleh karena itu, hasil mungkin tidak terbaru.

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

Memperkirakan total pengguna yang dapat dijangkau

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

Cara kerjanya

Saat agen Anda melakukan pemeriksaan kemampuan massal, RBM akan mengambil sampel secara acak ~75% nomor tersebut untuk memeriksa semua operator (dilaporkan di 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 nomor yang dapat dijangkau agen jika diluncurkan di semua operator.

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

Memperhitungkan pengambilan sampel acak

Menguji sampel acak dapat menyebabkan varians 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 menghitung rata-rata hasilnya untuk menormalisasi perilaku sampling acak.

Mengirim pemeriksaan kemampuan massal

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

Nomor telepon harus dalam format E.164 (misalnya, "+12223334444"), dan daftar harus berisi 500 hingga 10.000 nomor telepon unik.

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);
});
Kode ini menggunakan agen contoh RBM.

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"));
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 diluncurkan 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 tempat agen diluncurkan. Jumlah ini digunakan untuk memberikan perkiraan kasar jumlah total pengguna yang dapat dijangkau di semua operator.

Alat: Skrip Pemeriksaan Kemampuan Massal

Bulk Capability Check Script (Login untuk mendownload) melakukan pemeriksaan kemampuan massal menggunakan file CSV sebagai format input dan output. Skrip mengurai file CSV MSISDN dan menggunakan RBM SDK untuk memeriksa kemampuan setiap perangkat yang tercantum.

Virtual machine dengan 2 CPU dan RAM 4 GB yang menjalankan skrip dengan 500 thread dapat mencapai sekitar 1.000 QPS, tetapi keseluruhan QPS 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 Anda di mesin pengembangan

Selain itu, Anda memerlukan software berikut yang diinstal di mesin pengembangan:

Siapkan

Untuk menyiapkan mesin pengembangan Anda guna melakukan pemeriksaan kemampuan massal, lakukan hal berikut:

  1. Download dan ekstrak Skrip Pemeriksaan Kemampuan Massal (Login untuk mendownload).
  2. Ikuti langkah-langkah dalam README.

Menjalankan pemeriksaan kemampuan massal

Untuk menjalankan pemeriksaan massal, ikuti langkah-langkah berikut:

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

    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"

    Ganti variabel dengan nilai yang telah Anda identifikasi.

    Ganti Dengan Contoh
    AGENT_ID ID agen RCS Business Messaging. welcome-bot
    INPUT_FILE Jalur ke file CSV input. input.csv
    OUTPUT_FILE Jalur ke file CSV output. output.csv
    NUM_OF_THREADS Jumlah thread yang akan dikhususkan untuk pemeriksaan kemampuan. 500
    START_INDEX Opsional. Nilai dalam file CSV yang akan digunakan untuk mulai menjalankan pemeriksaan. 5
    END_INDEX Opsional. Nilai dalam file CSV untuk mengakhiri pemeriksaan setelahnya. 500
  3. Setelah skrip selesai, buka file CSV output untuk melihat hasilnya.