Yetenek kontrolleri

Bir kullanıcının cihazında RCS'nin etkin olup olmadığını ve bir RBM temsilcisiyle iletişim kurup kuramayacağını kontrol etmek için cihazın özelliklerini isteyebilirsiniz. Bir cihazın hangi özellikleri desteklediğini (varsa) belirlediğinizde, temsilciniz görüşmeyi cihazın özelliklerine göre özelleştirebilir ve kullanıcının tamamlaması zor veya imkansız etkileşimler sunmaktan kaçınabilir.

Bir kullanıcının cihazı RCS mesajlarını hiç alamıyorsa, SMS gibi diğer hizmetler üzerinden kullanıcıyla iletişim kurabilirsiniz.

Özellik kontrolü gönder

Aşağıdaki kod, bir özellik kontrolü gönderir ve yanıt bekler. Biçimlendirme ve değer seçenekleri için getCapabilities bölümüne bakın.

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);
});
Bu kod, bir RBM örnek aracısından alıntıdır.

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");
Bu kod, bir RBM örnek aracısından alıntıdır.

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')
Bu kod, bir RBM örnek aracısından alıntıdır.

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");
Bu kod, bir RBM örnek aracısından alıntıdır.

Yetenek yanıtı

Bir özellik kontrolü çalıştırıldıktan sonra, RBM platformu, belirtilen cihazın desteklediği özelliklerin JSON biçimli bir listesini döndürür.

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

RBM'nin erişemediği bir kullanıcıya özellik kontrolü gönderirseniz (örneğin, cihazı RCS'yi desteklemiyorsa) RBM platformu bir 404 hatası döndürür.

Temsilcinizin henüz başlatılmadığı bir ağdaki RCS kullanıcısına özellik kontrolü gönderirseniz RBM platformu 403 hatası döndürür.

Toplu özellik kontrolleri

RBM'nin erişebileceği kullanıcıların sayısını tahmin etmek için toplu özellik kontrolü yapın. Toplu kontroller, bir telefon numarasına ulaşılıp ulaşılamayacağını gösterir ancak telefon numarasının hangi özellikleri desteklediğini göstermez.

Toplu özellik kontrolü başına 10.000 adede kadar telefon numarası belirtebilirsiniz. Daha fazla sayıyı kontrol etmek için birden fazla kontrol yapın. CSV dosyalarını giriş biçimi olarak kullanmak için Toplu Yetenek Kontrol Komut Dosyası'nı kullanın.

Toplu özellik kontrolleri dakikada en fazla 600 sorguya (QPM) sahiptir.

Toplu işlem kontrolleri, temsilcinizin şu anda hizmet veren operatörlerinde erişebileceği numaraların yanı sıra tüm operatörlerdeki ulaşılabilir kullanıcıların toplam sayısıyla ilgili tahminleri döndürür. Toplu özellik kontrolü yanıtı başlıklı makaleyi inceleyin.

Erişilebilir toplam kullanıcı sayısını tahmin etme

Toplu kontrol yanıtları, temsilcinizin başlattığı operatörler (reachableUsers) üzerinden hemen ulaşılabilen telefon numaralarının listesini içerir. Bununla birlikte, yanıtlar tüm operatörlerdeki ulaşılabilir kullanıcıların toplam sayısını tahmin etmenize yardımcı olabilecek iki değer de içerir.

Temsilciniz 500'den fazla telefon numarası için toplu kapasite kontrolü gerçekleştirdiğinde, RBM tüm operatörleri kontrol etmek için bu numaraların yaklaşık% 75'ini rastgele örnekler. (totalRandomSampleUserCount ile raporlanmıştır). RBM ayrıca, operatör başlatma durumundan (reachableRandomSampleUserCount) bağımsız olarak rastgele örneğindeki RBM erişilebilir numaraların sayısını da döndürür. reachableRandomSampleUserCount değerini totalRandomSampleUserCount'a bölerek temsilcinizin tüm operatörlerde başlatılması durumunda ulaşabileceği numaraların yüzdesini tahmin edebilirsiniz.

Örneğin, toplu özellik kontrolünde 5.000 telefon numarası belirtirseniz ve RBM belirtilen numaraların yaklaşık% 75'ini rastgele örneklerse totalRandomSampleUserCount, 3750 olabilir. reachableRandomSampleUserCount değeri 3000 ise örneklenen numaraların% 80'ine ulaşılabilir demektir.

Rastgele örneklerin test edilmesi, yüzdelerde sapmalara yol açabilir. Rastgele örneklemenin etkilerini hesaba katmak için, daha fazla sayıda telefon numarasıyla toplu özellik kontrolleri gerçekleştirin. Ayrıca, aynı sayı gruplarıyla birden çok kez kontroller gerçekleştirebilir ve daha sonra, rastgele örnekleme davranışını normalleştirmek için sonuçların ortalamasını alabilirsiniz.

Toplu özellik kontrolü gönderin

Aşağıdaki kod, toplu özellik kontrolü gönderir ve yanıt bekler. Biçimlendirme ve değer seçenekleri için users.batchGet bölümüne bakın.

Telefon numaraları E.164 biçiminde olmalıdır. Örneğin, "+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);
});
Bu kod, RBM örnek aracısını kullanır.

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"));
Bu kod, RBM örnek aracısını kullanır.

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'])
Bu kod, RBM örnek aracısını kullanır.

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"}));
Bu kod, RBM örnek aracısını kullanır.

Toplu özellik kontrolü yanıtı

RBM, toplu özellik kontrolü yaptıktan sonra JSON biçiminde bir yanıt döndürür.

{
  "reachableUsers": [
    "PHONE_NUMBER"
  ],
  "totalRandomSampleUserCount": "COUNT_OF_SAMPLE",
  "reachableRandomSampleUserCount": "REACHABLE_FROM_SAMPLE"
}
Alan Açıklama
reachableUsers Temsilcinin halihazırda kullanıma sunduğu operatörlerdeki erişilebilir kullanıcıların listesi.
totalRandomSampleUserCount Belirtilen sayıların rastgele bir örneğinin sayısı. Genellikle belirtilen sayıların yaklaşık% 75'i.
reachableRandomSampleUserCount Rastgele örneğindeki, temsilcinin halihazırda faaliyet gösteren operatörlerinden bağımsız olarak tüm operatörlerde RBM'ye erişilebilen sayıların sayısı.

Araç: Toplu Yetenek Kontrolü Komut Dosyası

Buck Yetenek Kontrolü Komut Dosyası (İndirmek için oturum açın) CSV dosyalarını giriş ve çıkış biçimi olarak kullanarak toplu özellik kontrolleri gerçekleştirir. Komut dosyası, MSISDN'lerin CSV dosyasını ayrıştırır ve listelenen her cihazın özelliklerini kontrol etmek için RBM SDK'sını kullanır.

500 iş parçacığı içeren komut dosyasını çalıştıran 2 CPU ve 4 GB RAM'li bir sanal makine yaklaşık 1.000 QPS'ye ulaşabilir. Ancak toplam QPS; kullanılan makineye, cihazların bulunduğu ülkeye, aracınızın bölgesel yapılandırmasına ve kullanılan API uç noktasına bağlıdır.

Ön koşullar

Aracı toplu özellik kontrolü yapmak için kullanmadan önce aşağıdakileri öğrenin:

  • Dosyada özellik kontrolleri gerçekleştirmek için MSISDN'ler içeren bir CSV dosyasının yolu
  • Geliştirme makinenizde temsilcinizin hizmet hesabı anahtarının yolu

Ayrıca, geliştirme makinenizde aşağıdaki yazılımların yüklü olması gerekir:

Kurulum

  1. Geliştirme makinenize Toplu Yetenek Kontrolü Komut Dosyası (İndirmek için oturum açın).
  2. Komut dosyasının kök dizinine gidin.
  3. Hizmet hesabı anahtarını "rbm-agent-service-account-credentials.json" olarak yeniden adlandırın ve hizmet hesabı anahtarını "src/main/resources" dizinine taşıyın.

Toplu işlem kontrolü yapma

  1. Bir terminalde komut dosyasının kök dizinine gidin.
  2. Aşağıdaki komutları çalıştırın:

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

    Değişkenleri, tanımladığınız değerlerle değiştirin.

    Değiştir Karşılaştırılacak model Örnek
    INPUT_FILE Giriş CSV dosyasının yolu. input.csv
    OUTPUT_FILE Çıkış CSV dosyasının yolu. output.csv
    NUM_OF_THREADS Yetenek kontrolleri için ayrılacak iş parçacığı sayısı. 500
    START_INDEX İsteğe bağlı. CSV dosyasındaki kontrollerin çalıştırılmaya başlanacağı değer. 5
    END_INDEX İsteğe bağlı. CSV dosyasındaki, kontrollerin ardından sonlandırılacak değer. 500
  3. Komut dosyası tamamlandığında sonuçları görüntülemek için çıkış CSV dosyasını açın.