Yetenek kontrolleri

Kullanıcı cihazında RCS'nin etkin olup olmadığını ve RBM temsilcisiyle iletişim kurabiliyor olup olmadığını kontrol etmek için cihazın özelliklerini isteyebilirsiniz. Bir cihazın desteklediği özellikleri (varsa) belirlemek, temsilcinizin sohbeti cihazın özelliklerine göre uyarlamasına ve kullanıcının tamamlaması zor veya imkansız olan etkileşimler sunmasını önlemesine olanak tanır.

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

Yetenek kontrolü gönderme

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

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");
Bu kod, RBM örnek temsilcisinden alınmış bir alıntı.

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, RBM örnek temsilcisinden alınmış bir alıntı.

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, RBM örnek temsilcisinden alınmış bir alıntı.

Yetenek yanıtı

RBM platformu, özellik kontrolünü çalıştırdıktan sonra 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 tarafından erişilemeyen bir kullanıcıya (ör. cihazı RCS'yi desteklemiyorsa) özellik kontrolü gönderirseniz RBM platformu 404 hatası döndürür.

Temsilcinizi henüz kullanıma sunmadığınız bir ağdaki bir RCS kullanıcısına özellik kontrolü gönderirseniz RBM platformu 403 hatası döndürür.

Toplu özellik kontrolleri

RBM'ye erişilebilen kullanıcıların sayısını tahmin etmek için toplu özellik kontrolü yapın. Toplu kontroller, bir telefon numarasının erişilebilir olup olmadığını ancak hangi özellikleri desteklediğini göstermez.

Toplu özellik kontrolü başına en fazla 10.000 telefon numarası belirtebilirsiniz. Daha fazla numara kontrol etmek için birden fazla kontrol gerçekleştirin. CSV dosyalarını giriş biçimi olarak kullanmak için Toplu Kapasite Kontrol Komut Dosyası'nı kullanın.

Toplu özellik denetimlerinde dakikada maksimum 600 sorgu (QPM) bulunabilir.

Toplu özellik kontrolleri, temsilcinizin başlatıldığı operatörlerde erişebileceği sayıların listesinin yanı sıra tüm operatörlerdeki ulaşılabilir toplam kullanıcı sayısıyla ilgili tahminleri döndürür. Toplu özellik kontrolü yanıtı başlıklı makaleyi inceleyin.

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

Toplu kontrol yanıtları, temsilcinizin kullanıma sunduğu operatörlerde (reachableUsers) hemen ulaşılabilen telefon numaralarının listesini içerir. Yanıtlar, tüm operatörlerde ulaşılabilen toplam kullanıcı sayısını tahmin etmenize yardımcı olabilecek iki değer de içerir.

Temsilciniz 500'den fazla telefon numarasının toplu olarak özelliğini kontrol ettiğinde RBM, tüm operatörleri kontrol etmek için bu numaraların yaklaşık %75'ini rastgele örnekler (totalRandomSampleUserCount olarak raporlanır). RBM, operatör lansman durumundan bağımsız olarak rastgele örnekteki RBM'ye erişilebilir numaraların sayısını da döndürür (reachableRandomSampleUserCount). reachableRandomSampleUserCount değerini totalRandomSampleUserCount'e bölerek, tüm operatörlerde kullanıma sunulursa temsilcinizin erişebileceğ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 örnek alırsa totalRandomSampleUserCount 3750 olabilir. reachableRandomSampleUserCount 3000 ise örneklenen numaraların %80'ine ulaşılabilmiştir.

Rastgele örneklerin test edilmesi, yüzdelerde sapmalara neden olabilir. Rastgele örneklemenin etkilerini hesaba katmak için daha fazla sayıda telefon numarasıyla toplu özellik kontrolleri çalıştırın. Aynı sayı gruplarıyla birden çok kez kontrol gerçekleştirip rastgele örnekleme davranışını normalleştirmek için sonuçların ortalamasını da alabilirsiniz.

Toplu özellik kontrolü gönderme

Aşağıdaki kod, toplu bir ö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?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);
});
Bu kodda RBM örnek aracısı kullanılmaktadır.

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"));
Bu kodda RBM örnek aracısı kullanılmaktadı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 kodda RBM örnek temsilcisi kullanılı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 kodda RBM örnek aracısı kullanılmaktadır.

Toplu özellik kontrolü yanıtı

RBM, toplu özellik kontrolü çalıştırdı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 kullanıma sunduğu operatörlerdeki erişilebilir kullanıcıların listesi.
totalRandomSampleUserCount Belirtilen sayılardan oluşan rastgele bir örneklemin sayısı. Genellikle belirtilen sayıların yaklaşık %75'i.
reachableRandomSampleUserCount Temsilcinin hangi operatörde başlatıldığına bakılmaksızın tüm operatörlerde RBM'nin erişebildiği rastgele örnekteki sayıların sayısı.

Araç: Toplu Özellik Kontrolü Komut Dosyası

Buck Capability Check Komut Dosyası (İndirmek için oturum açın) CSV dosyalarını giriş ve çıkış biçimleri 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.

Komut dosyasını 500 iş parçacığı ile çalıştıran 2 CPU ve 4 GB RAM'e sahip bir sanal makine yaklaşık 1.000 saniyelik istek sayısına ulaşabilir. Ancak genel istek sayısı, 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

Toplu özellik kontrolü yapmak için aracı kullanmadan önce şunları edinin:

  • üzerinde özellik denetimleri gerçekleştirmek için MSISDN'ler içeren CSV dosyasının yolu
  • Geliştirme makinenizdeki aracınızın hizmet hesabı anahtarının yolu

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

Kur

  1. Geliştirme makinenize Toplu Özellik Kontrol Komut Dosyası (İndirmek için oturum açın).
  2. README dosyasında yer alan adımları uygulayın.

Toplu kontrol gerçekleştir

  1. 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="AGENT_ID 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 Entegre Örnek
    AGENT_ID RCS Business Messaging temsilcisinin kimliği welcome-bot
    INPUT_FILE Giriş CSV dosyasının yolu. input.csv
    OUTPUT_FILE Çıkış CSV dosyasının yolu. output.csv
    NUM_OF_THREADS Yetenek kontrollerine ayrılacak iş parçacıklarının sayısı. 500
    START_INDEX İsteğe bağlı. Kontrollerin başlatılacağı CSV dosyasındaki değerdir. 5
    END_INDEX İsteğe bağlı. CSV dosyasındaki kontrollerin sonra sona ereceği değer. 500
  3. Komut dosyası tamamlandığında, sonuçları görüntülemek için çıkış CSV dosyasını açın.