Wenn Sie prüfen möchten, ob das Gerät eines Nutzers RCS-fähig ist und mit einem RBM-Agenten kommunizieren kann, können Sie die Gerätefunktionen anfordern. Wenn Sie wissen, welche Funktionen ein Gerät unterstützt, kann Ihr Agent die Unterhaltung an die Funktionen des Geräts anpassen und Interaktionen vermeiden, die für den Nutzer schwierig oder unmöglich sind.
Wenn das Gerät eines Nutzers keine RCS-Nachrichten empfangen kann, können Sie über andere Dienste wie SMS/MMS mit dem Nutzer kommunizieren.
Gerätefunktionen prüfen
Der folgende Code sendet eine Funktionsprüfung und wartet auf eine Antwort. Informationen zu
Formatierungs- und Wertoptionen finden Sie unter
getCapabilities.
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");
Antwort zu den Funktionen
Nachdem Sie eine Funktionsprüfung ausgeführt haben, gibt die RBM-Plattform eine JSON-formatierte Liste der Funktionen zurück, die vom angegebenen Gerät unterstützt werden.
{ "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", "PDF_IN_RICH_CARDS" ] }
Die Anfrage gibt entweder eine Antwort oder einen Fehler zurück.
Eine erfolgreiche Antwort wird nur zurückgegeben, wenn die MSISDN (Telefonnummer) in den letzten 31 Tagen mit dem RCS-Dienst verbunden war. Das bedeutet, dass sich das Gerät des Nutzers innerhalb dieses Zeitraums bei unserem RCS-Server angemeldet hat. Online- und RCS-fähige Geräte melden sich durchschnittlich alle 1 bis 4 Stunden an.
Wenn ein Nutzer seine SIM-Karte in ein anderes RCS-fähiges Gerät einlegt, wird die vorherige Gerätezuordnung entfernt und eine neue erstellt. Dadurch werden die Gerätefunktionen im RCS-Dienst aktualisiert.
Wenn eine SIM-Karte in ein Gerät eingelegt wird, auf dem RCS von einem Mobilfunkanbieter oder Hersteller deaktiviert wurde, oder wenn die SIM-Karte nicht verwendet wird, versucht der RCS-Dienst bis zu 31 Tage lang, Nachrichten an das zuvor zugeordnete Gerät zu senden.
Folgende Ursachen können zu 404-Fehlern führen:
Der Nutzer ist über RBM nicht erreichbar, z. B. weil sein Gerät RCS nicht unterstützt.
Der Nutzer hat RCS, aber Ihr Agent wird nicht in seinem Mobilfunknetz gestartet.
Offline-Warteschlange
Nachrichten werden bis zu 31 Tage in die Warteschlange gestellt und zugestellt, wenn das Gerät wieder online ist. Das bedeutet, dass Nachrichten in der Warteschlange auch dann zugestellt werden, wenn ein Gerät längere Zeit (bis zu 31 Tage) offline ist, sofern die MSISDN in den letzten 31 Tagen mit dem RCS-Dienst verbunden war.
Bulk-Funktionsprüfungen
Wenn Sie die Anzahl der über RBM erreichbaren Nutzer schätzen möchten, führen Sie eine Bulk-Funktionsprüfung durch. Bei Bulk Prüfungen wird angegeben, ob eine Telefonnummer erreichbar ist, aber nicht, welche Funktionen von einer Telefonnummer unterstützt werden.
Für jede Bulk-Funktionsprüfung müssen Sie 500 bis 10.000 eindeutige Telefonnummern angeben. Wenn Sie mehr Nummern prüfen möchten, führen Sie mehrere Prüfungen durch. Sie können bis zu 600 Anrufe pro Minute tätigen. Verwenden Sie das Bulk-Funktionsprüfskript, um CSV Dateien als Eingabeformat zu verwenden. Bei Bulk-Prüfungen werden Daten aus dem Cache für Funktionen gelesen, der von Clients aktualisiert wird, die RCS organisch verwenden. Agents fordern die Funktionen der einzelnen Geräte nicht direkt an. Aus diesem Grund sind die Ergebnisse möglicherweise nicht aktuell.
Bei Bulk-Funktionsprüfungen wird eine Liste der Nummern zurückgegeben, die Ihr Agent bei Mobilfunkanbietern erreichen kann, bei denen er gestartet wurde. Außerdem werden Schätzungen für die Gesamtzahl der erreichbaren Nutzer bei allen Mobilfunkanbietern angegeben. Weitere Informationen finden Sie unter Antwort auf Bulk-Funktionsprüfung.
Gesamtzahl der erreichbaren Nutzer schätzen
Funktionsweise
Wenn Ihr Agent eine Bulk-Funktionsprüfung durchführt, wählt RBM zufällig etwa 75% dieser Nummern aus, um alle Mobilfunkanbieter zu prüfen (angegeben in totalRandomSampleUserCount). RBM gibt auch die Anzahl der über RBM erreichbaren Nummern aus der Zufallsstichprobe zurück, unabhängig vom Startstatus des Mobilfunkanbieters (reachableRandomSampleUserCount). Wenn Sie reachableRandomSampleUserCount durch totalRandomSampleUserCount teilen, können Sie den Prozentsatz der Nummern schätzen, die Ihr Agent erreichen könnte, wenn er bei allen Mobilfunkanbietern gestartet würde.
Wenn Sie beispielsweise 5.000 Telefonnummern in der Bulk-Funktionsprüfung angeben und RBM zufällig etwa 75% der angegebenen Nummern auswählt, kann totalRandomSampleUserCount 3750 sein. Wenn reachableRandomSampleUserCount 3000 ist, waren 80% der ausgewählten Nummern erreichbar.
Zufallsstichproben berücksichtigen
Tests mit Zufallsstichproben können zu Abweichungen bei den Prozentsätzen führen. Um die Auswirkungen von Zufallsstichproben zu berücksichtigen, führen Sie Bulk-Funktionsprüfungen mit größeren Mengen an Telefonnummern durch. Sie können auch mehrere Prüfungen mit denselben Nummern-Batches durchführen und dann die Ergebnisse mitteln, um das Verhalten bei Zufallsstichproben zu normalisieren.
Bulk-Funktionsprüfung senden
Der folgende Code sendet eine Bulk-Funktionsprüfung und wartet auf eine Antwort. Informationen zu
Formatierungs- und Wertoptionen finden Sie unter
users.batchGet.
Telefonnummern müssen im E.164-Format vorliegen (z. B. „+12223334444“) und die Liste muss 500 bis 10.000 eindeutige Telefonnummern enthalten.
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"}));
Antwort auf Bulk-Funktionsprüfung
Nachdem Sie eine Bulk-Funktionsprüfung ausgeführt haben, gibt RBM eine JSON-formatierte Antwort zurück.
{
"reachableUsers": [
"PHONE_NUMBER"
],
"totalRandomSampleUserCount": "COUNT_OF_SAMPLE",
"reachableRandomSampleUserCount": "REACHABLE_FROM_SAMPLE"
}| Feld | Beschreibung |
|---|---|
reachableUsers
|
Eine Liste der erreichbaren Nutzer bei den Mobilfunkanbietern, bei denen der Agent gestartet wurde. |
totalRandomSampleUserCount
|
Die Anzahl einer Zufallsstichprobe der angegebenen Nummern. In der Regel etwa 75% der angegebenen Nummern. |
reachableRandomSampleUserCount
|
Die Anzahl der Nummern aus der Zufallsstichprobe, die bei allen Mobilfunkanbietern über RBM erreichbar sind, unabhängig davon, bei welchen Mobilfunkanbietern der Agent gestartet wurde. Mit dieser Anzahl wird eine grobe Schätzung der Gesamtzahl der erreichbaren Nutzer bei allen Mobilfunkanbietern erstellt. |
reachableUsersMap
|
Nur Ausgabe. Zuordnung der Mobilfunkanbieter-ID zu einer Liste der erreichbaren Nutzer bei diesem Mobilfunkanbieter. Dieses Feld wird nur für US-Telefonnummern ausgefüllt. |
Tool: Bulk-Funktionsprüfskript
Mit dem Bulk-Funktionsprüfskript (Anmelden zum Herunterladen) werden Bulk-Funktionsprüfungen mit CSV-Dateien als Eingabe- und Ausgabeformat durchgeführt. Das Skript parst die CSV-Datei mit MSISDNs und prüft mit dem RBM SDK die Funktionen aller aufgeführten Geräte.
Eine virtuelle Maschine mit 2 CPUs und 4 GB RAM, auf der das Skript mit 500 Threads ausgeführt wird, kann etwa 1.000 QPS erreichen. Die Gesamt-QPS hängt jedoch von der verwendeten Maschine, dem Land der Geräte, der regionalen Konfiguration Ihres Agenten und dem verwendeten API-Endpunkt ab.
Vorbereitung
Bevor Sie das Tool verwenden, um eine Bulk-Funktionsprüfung durchzuführen, benötigen Sie Folgendes:
- Den Pfad zu einer CSV-Datei mit MSISDNs, für die Funktionsprüfungen durchgeführt werden sollen
- Der Pfad zum Dienstkontoschlüssel Ihres Agenten auf Ihrem Entwicklungscomputer
Außerdem muss auf Ihrem Entwicklungscomputer die folgende Software installiert sein:
- Apache Maven ab Version 3.3.9
- Java 8
Einrichten
So richten Sie Ihren Entwicklungscomputer für eine Bulk-Funktionsprüfung ein:
- Laden Sie das Bulk-Funktionsprüfskript (Anmelden zum Herunterladen).
- Folgen Sie der Anleitung in der README-Datei.
Bulk-Funktionsprüfung ausführen
So führen Sie eine Bulk-Prüfung durch:
- Öffnen Sie ein Terminal und wechseln Sie zum Stammverzeichnis des Skripts.
Führen Sie folgende Befehle aus:
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"Ersetzen Sie die Variablen durch die von Ihnen ermittelten Werte.
Ersetzen Mit Beispiel AGENT_ID ID des RCS for Business-Agenten. welcome-botINPUT_FILE Der Pfad zur CSV-Eingabedatei. input.csvOUTPUT_FILE Der Pfad zur CSV-Ausgabedatei. output.csvNUM_OF_THREADS Die Anzahl der Threads, die für Funktionsprüfungen verwendet werden sollen. 500START_INDEX Optional. Der Wert in der CSV-Datei, mit dem die Prüfungen beginnen sollen. 5END_INDEX Optional. Der Wert in der CSV-Datei, nach dem die Prüfungen beendet werden sollen. 500Wenn das Skript abgeschlossen ist, öffnen Sie die CSV-Ausgabedatei, um die Ergebnisse zu sehen.