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); });
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");
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); });
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"}));
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:
- Apache Maven 3.3.9 veya üzeri
- Java 8
Kur
Geliştirme makinenizi toplu özellik kontrolü için ayarlamak üzere aşağıdakileri yapın:
- Toplu Özellik Kontrol Komut Dosyası (İndirmek için oturum açın).
- 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:
- 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ı. 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
Komut dosyası tamamlandığında sonuçları görüntülemek için çıkış CSV dosyasını açın.