Untuk memeriksa apakah perangkat pengguna mendukung 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 menampilkan interaksi yang sulit atau tidak mungkin diselesaikan oleh pengguna.
Jika perangkat pengguna tidak dapat menerima pesan RCS sama sekali, Anda dapat berkomunikasi dengan pengguna melalui layanan lain, seperti SMS/MMS.
Memeriksa kemampuan perangkat
Kode berikut mengirimkan pemeriksaan kemampuan dan menunggu respons. Untuk
opsi pemformatan 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); });
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");
Respons kemampuan
{ "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", "PDF_IN_RICH_CARDS" ] }
Permintaan akan menampilkan respons atau error.
Respons yang berhasil akan ditampilkan hanya jika MSISDN (nomor telepon) telah terhubung ke layanan RCS dalam 31 hari terakhir. Artinya, perangkat pengguna telah melakukan check-in dengan server RCS kami dalam jangka waktu tersebut. Perangkat yang online dan mendukung RCS melakukan check-in setiap 1-4 jam rata-rata.
Jika pengguna memindahkan kartu SIM ke perangkat lain yang mendukung RCS, asosiasi perangkat sebelumnya akan dihapus, dan asosiasi baru akan dibuat, sehingga memperbarui kemampuan perangkat di layanan RCS.
Jika kartu SIM ditempatkan di perangkat yang RCS-nya dinonaktifkan oleh operator atau produsen, atau kartu SIM tetap tidak digunakan, layanan RCS akan tetap mencoba mengirimkan pesan ke perangkat yang sebelumnya terkait 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 diantrekan hingga 31 hari dan dikirim saat perangkat kembali online. Artinya, meskipun perangkat offline dalam jangka waktu yang lama (hingga 31 hari), pesan yang diantrekan akan tetap dikirim saat terhubung kembali, selama MSISDN terhubung ke layanan RCS dalam 31 hari terakhir.
Pemeriksaan kemampuan massal
Untuk memperkirakan jumlah pengguna RCS for Business yang dapat dijangkau, lakukan pemeriksaan kemampuan massal. Pemeriksaan massal menunjukkan apakah nomor telepon dapat dijangkau, tetapi tidak menunjukkan fitur yang didukung nomor telepon.
Untuk setiap pemeriksaan kemampuan massal, Anda harus memberikan 500–10.000 nomor telepon unik dari satu wilayah geografis. 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 oleh agen Anda di operator tempat agen 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 respons menyertakan daftar nomor telepon
yang dapat segera 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 acak ~75% dari 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 Anda jika diluncurkan di semua operator.
Misalnya, jika Anda menentukan 5.000 nomor telepon dalam pemeriksaan kemampuan massal, dan RBM mengambil sampel acak ~75% dari nomor yang ditentukan, totalRandomSampleUserCount mungkin 3750. Jika reachableRandomSampleUserCount adalah 3000, berarti 80% nomor yang diambil sampelnya dapat dijangkau.
Memperhitungkan pengambilan sampel acak
Pengujian sampel acak dapat menyebabkan variasi 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 nomor yang sama beberapa kali, lalu menghitung rata-rata hasilnya untuk menormalkan perilaku pengambilan sampel acak.
Mengirim pemeriksaan kemampuan massal
Kode berikut mengirimkan pemeriksaan kemampuan massal dan menunggu respons. Untuk
opsi pemformatan 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); });
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"}));
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 nomor yang ditentukan. Biasanya ~75% dari nomor yang ditentukan. |
reachableRandomSampleUserCount
|
Jumlah nomor 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. |
reachableUsersMap
|
Hanya output. Peta ID operator ke daftar pengguna yang dapat dijangkau di operator tersebut. Kolom ini hanya diisi untuk nomor telepon AS. |
Alat: Skrip Pemeriksaan Kemampuan Massal
Skrip Pemeriksaan Kemampuan Massal (Login untuk mendownload) melakukan pemeriksaan kemampuan 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 keseluruhan bergantung pada mesin yang digunakan, negara perangkat, konfigurasi regional agen Anda, dan endpoint API yang digunakan.
Prasyarat
Sebelum menggunakan alat untuk melakukan pemeriksaan kemampuan massal, dapatkan hal berikut:
- Lokasi ke file CSV dengan MSISDN untuk melakukan pemeriksaan kemampuan
- Lokasi ke kunci akun layanan agen Anda di mesin pengembangan
Selain itu, Anda memerlukan software berikut yang diinstal di mesin pengembangan:
- Apache Maven 3.3.9 atau yang lebih baru
- Java 8
Siapkan
Untuk menyiapkan mesin pengembangan Anda untuk pemeriksaan kemampuan massal, lakukan hal berikut:
- Download dan ekstrak Skrip Pemeriksaan Kemampuan Massal (Login untuk mendownload).
- Ikuti langkah-langkah dalam README.
Menjalankan pemeriksaan kemampuan massal
Untuk menjalankan pemeriksaan massal, ikuti langkah-langkah berikut:
- Di terminal, buka direktori root skrip.
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 for Business. welcome-botINPUT_FILE Lokasi ke file CSV input. input.csvOUTPUT_FILE Lokasi ke file CSV output. output.csvNUM_OF_THREADS Jumlah thread yang akan digunakan untuk pemeriksaan kemampuan. 500START_INDEX Opsional. Nilai dalam file CSV untuk mulai menjalankan pemeriksaan. 5END_INDEX Opsional. Nilai dalam file CSV untuk mengakhiri pemeriksaan setelahnya. 500Setelah skrip selesai, buka file CSV output untuk melihat hasilnya.