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 ListBu kodda RBM örnek aracısı kullanılmaktadır.({"+12223334444", "+12223334444"}));
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:
- Apache Maven 3.3.9 veya daha yeni bir sürüm
- Java 8
Kur
- Geliştirme makinenize Toplu Özellik Kontrol Komut Dosyası (İndirmek için oturum açın).
- README dosyasında yer alan adımları uygulayın.
Toplu kontrol gerçekleştir
- Terminalde komut dosyasının kök dizinine gidin.
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
Komut dosyası tamamlandığında, sonuçları görüntülemek için çıkış CSV dosyasını açın.