Yetenek kontrolleri

Bir kullanıcının cihazının RCS'yi destekleyip desteklemediğini ve RBM aracısıyla 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 kullanıcıyla SMS/MMS gibi diğer hizmetler üzerinden iletişim kurabilirsiniz.

Cihaz özelliklerini kontrol etme

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

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ı.

Kapasite yanıtı

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

{
  "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"
  ]
}

İstek bir yanıt veya hata döndürür.

Başarılı yanıt, yalnızca MSISDN (telefon numarası) son 31 gün içinde RCS hizmetine bağlandıysa döndürülür. Bu, kullanıcının cihazının bu zaman aralığında RCS sunucumuza giriş yaptığı anlamına gelir. İnternete bağlı ve RCS özellikli cihazlar ortalama 1-4 saatte bir kontrol eder.

Bir kullanıcı SIM kartını RCS özellikli farklı bir cihaza taşırsa önceki cihaz ilişkilendirmesi kaldırılır ve cihazın RCS hizmetindeki özellikleri güncellenerek yeni bir ilişkilendirme oluşturulur.

SIM kart, RCS'nin operatör veya üretici tarafından devre dışı bırakıldığı bir cihaza yerleştirilirse ya da SIM kart kullanılmadan kalırsa RCS hizmeti, 31 güne kadar önceden ilişkilendirilmiş cihaza mesaj göndermeye çalışır.

404 hatalarına neden olan durumlar:

  • Kullanıcıya RBM ile ulaşılamıyorsa (ör. cihazı RCS'yi desteklemiyorsa).

  • Kullanıcının RCS'si var ancak temsilciniz mobil ağında başlatılmamış.

Çevrimdışı sıraya ekleme

Mesajlar 31 güne kadar sıraya alınır ve cihaz tekrar çevrimiçi olduğunda teslim edilir. Bu, bir cihaz uzun süre (31 güne kadar) çevrimdışı olsa bile MSISDN son 31 gün içinde RCS hizmetine bağlandığı sürece, sıraya alınmış mesajların yeniden bağlandıktan sonra da teslim edileceği anlamına gelir.

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ı belirtir ancak telefon numarasının hangi özellikleri desteklediğini göstermez.

Her toplu özellik kontrolü için 500 ila 10.000 benzersiz telefon numarası sağlamanız gerekir. Daha fazla numara kontrol etmek için birden fazla kontrol gerçekleştirin. Dakikada en fazla 600 arama yapabilirsiniz. CSV dosyalarını giriş biçimi olarak kullanmak için Toplu Kapasite Kontrol Komut Dosyası'nı kullanın. Toplu kontroller, istemciler tarafından RCS'yi kullanarak organik olarak güncellenen özellikler önbelleğinden okunur. Temsilciler, her cihazın özelliklerini doğrudan istemez. Bu nedenle, sonuçlar güncel olmayabilir.

Toplu özellik kontrolleri, temsilcinizin kullanıma sunulduğu operatörlerde ulaşabileceği numaraların listesini ve tüm operatörlerde ulaşılabilecek 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.

İşleyiş şekli

Temsilciniz toplu bir özellik kontrolü gerçekleştirdiğ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, temsilciniz tüm operatörlerde kullanıma sunulsaydı 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 3000 ise örneklenen numaraların% 80'ine ulaşılabilmiştir.

Rastgele örneklemeyi hesaba katma

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 fazla 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 (örneğin, "+12223334444") olmalı ve liste 500 ila 10.000 benzersiz telefon numarası içermelidir.

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ılı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ılı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 aracısı 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ılı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örlerde kullanıma sunulduğundan bağımsız olarak, rastgele örnekteki tüm operatörlerde RBM'den erişilebilen numaraların sayısı. Bu sayı, tüm operatörlerde erişilebilir toplam kullanıcı sayısına dair kaba bir tahmin sağlamak için kullanılır.

Araç: Toplu Özellik Kontrolü Komut Dosyası

Toplu Özellik Kontrol Komut Dosyası (İndirmek için oturum aç) giriş ve çıkış biçimleri olarak CSV dosyalarını 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 kontrolleri yapmak için MSISDN'lerin bulunduğu bir 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

Geliştirme makinenizi toplu özellik kontrolü için ayarlamak üzere aşağıdakileri yapın:

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

Toplu özellik kontrolü yapma

Toplu kontrol yapmak için aşağıdaki adımları uygulayın:

  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ı. Kontrolleri başlatmak için CSV dosyasındaki değer. 5
    END_INDEX İsteğe bağlı. CSV dosyasındaki, kontrollerin sonlandırılacağı değer. 500
  3. Komut dosyası tamamlandığında sonuçları görüntülemek için çıkış CSV dosyasını açın.