Funktionsprüfungen

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 Funktionen des Geräts anfordern. Wenn Ihr Kundenservicemitarbeiter weiß, welche Funktionen ein Gerät unterstützt, kann er die Unterhaltung auf die Funktionen des Geräts zuschneiden 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 mit ihm über andere Dienste wie SMS/MMS kommunizieren.

Gerätefunktionen prüfen

Im folgenden Code wird eine Funktionsüberprüfung gesendet und auf eine Antwort gewartet. 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);
});
Dieser Code ist ein Auszug aus einem Beispiel-RBM-Agenten.

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");
Dieser Code ist ein Auszug aus einem Beispiel-RBM-Agenten.

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')
Dieser Code ist ein Auszug aus einem Beispiel-RBM-Agenten.

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");
Dieser Code ist ein Auszug aus einem Beispiel-RBM-Agenten.

Antwort zu Fähigkeiten

Nach der Funktionsüberprüfung gibt die RBM-Plattform eine JSON-formatierte Liste der Funktionen zurück, die das angegebene Gerät unterstützt.

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

Die Anfrage gibt entweder eine Antwort oder einen Fehler zurück.

Eine erfolgreiche Antwort wird nur zurückgegeben, wenn die MSISDN (Telefonnummer) innerhalb der letzten 24 Stunden mit dem RCS-Dienst verbunden war. Das bedeutet, dass sich das Gerät des Nutzers innerhalb dieses Zeitraums bei unserem RCS-Server angemeldet hat. Geräte melden sich regelmäßig an (alle 1–4 Stunden). Daher sollte sich jedes Gerät, das RCS-Chats empfangen kann, innerhalb der letzten 24 Stunden angemeldet haben.

Mögliche Ursachen für 404-Fehler:

  • Der Nutzer ist nicht über RBM erreichbar, z. B. wenn sein Gerät RCS nicht unterstützt.

  • Der Nutzer hat RCS, Ihr Chatbot wird aber nicht in seinem Mobilfunknetz unterstützt.

Offline-Warteschlange

Nachrichten werden bis zu 30 Tage lang in der Warteschlange gehalten und zugestellt, sobald das Gerät wieder online ist. Damit die Zustellung sichergestellt ist, muss das Gerät innerhalb von 24 Stunden nach dem Senden der Nachricht Anzeichen von RCS-Aktivitäten gezeigt haben. Das bedeutet, dass auch wenn ein Gerät für einen längeren Zeitraum (bis zu 30 Tage) offline ist, werden die Nachrichten in der Warteschlange nach der erneuten Verbindung zugestellt, sofern das 24-Stunden-Aktivitätsfenster zum Zeitpunkt des Sendens eingehalten wurde.

Bulk-Fähigkeitsprüfungen

Um die Anzahl der Nutzer zu schätzen, die über RBM erreicht werden können, führen Sie eine Bulk-Funktionsprüfung durch. Bei Bulk-Prüfungen wird angegeben, ob eine Telefonnummer erreichbar ist, aber nicht, welche Funktionen sie unterstützt.

Für jede Bulk-Funktionsprüfung müssen Sie 500 bis 10.000 eindeutige Telefonnummern angeben. Wenn Sie mehrere Nummern prüfen möchten, führen Sie mehrere Prüfungen durch. Sie können bis zu 600 Aufrufe pro Minute ausführen. Verwenden Sie das Script zur Bulk-Fähigkeitsprüfung, um CSV-Dateien als Eingabeformat zu verwenden. Bulk-Prüfungen werden aus dem Funktionscache gelesen, der von den Clients organisch über RCS aktualisiert wird. Kundenservicemitarbeiter fordern die Funktionen der einzelnen Geräte nicht direkt an. Aus diesem Grund sind die Ergebnisse möglicherweise nicht auf dem neuesten Stand.

Bulk-Fähigkeitsprüfungen geben eine Liste der Nummern zurück, die Ihr Kundenservicemitarbeiter bei Mobilfunkanbietern erreichen kann, bei denen die Funktion eingeführt wurde, sowie Schätzungen zur Gesamtzahl der erreichbaren Nutzer bei allen Mobilfunkanbietern. Siehe Antwort der Bulk-Fähigkeitsprüfung.

Anzahl der insgesamt erreichbaren Nutzer schätzen

Die Antworten auf Bulk-Prüfungen enthalten zwar eine Liste der Telefonnummern, die bei den eingeführten Mobilfunkanbietern deines Kunden sofort erreichbar sind (reachableUsers), aber auch zwei Werte, mit denen du die Gesamtzahl der erreichbaren Nutzer bei allen Mobilfunkanbietern schätzen kannst.

Funktionsweise

Wenn Ihr Agent eine Bulk-Funktionsprüfung durchführt, werden in RBM etwa 75% dieser Nummern zufällig ausgewählt, um alle Mobilfunkanbieter zu prüfen (totalRandomSampleUserCount). RBM gibt auch die Anzahl der über RBM erreichbaren Nummern aus der Stichprobe zurück, unabhängig vom Einführungsstatus 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 eingeführt würde.

Wenn Sie beispielsweise 5.000 Telefonnummern in der Bulk-Funktionsprüfung angeben und RBM etwa 75% der angegebenen Nummern zufällig auswählt, kann totalRandomSampleUserCount 3750 sein. Wenn reachableRandomSampleUserCount = 3000 ist, waren 80% der ausgewählten Nummern erreichbar.

Zufallsstichproben berücksichtigen

Die Tests von Stichproben können zu Abweichungen bei den Prozentsätzen führen. Um die Auswirkungen der Zufallsstichprobenerhebung zu berücksichtigen, sollten Sie Bulk-Kompatibilitätstests mit einer größeren Anzahl von Telefonnummern ausführen. Sie können auch mehrere Tests mit denselben Zahlenreihen ausführen und dann die Ergebnisse mitteln, um das Verhalten der Zufallsstichprobe zu normalisieren.

Bulk-Funktionsprüfung senden

Im folgenden Code wird eine Bulk-Funktionsprüfung gesendet und auf eine Antwort gewartet. Informationen zu Formatierungs- und Wertoptionen finden Sie unter users.batchGet.

Telefonnummern müssen dem Format E.164 entsprechen (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);
});
In diesem Code wird der Beispiel-RBM-Agent verwendet.

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"));
In diesem Code wird der Beispiel-RBM-Agent verwendet.

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'])
In diesem Code wird der Beispiel-RBM-Agent verwendet.

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"}));
In diesem Code wird der Beispiel-RBM-Agent verwendet.

Antwort auf die Bulk-Fähigkeitsprüfung

Nach einer Bulk-Fähigkeitsprüfung gibt RBM eine Antwort im JSON-Format zurück.

{
  "reachableUsers": [
    "PHONE_NUMBER"
  ],
  "totalRandomSampleUserCount": "COUNT_OF_SAMPLE",
  "reachableRandomSampleUserCount": "REACHABLE_FROM_SAMPLE"
}
Feld Beschreibung
reachableUsers Eine Liste der erreichbaren Nutzer bei den vom Kundenservicemitarbeiter unterstützten Mobilfunkanbietern.
totalRandomSampleUserCount Die Anzahl einer zufälligen Stichprobe bestimmter Zahlen. In der Regel etwa 75% der angegebenen Zahlen.
reachableRandomSampleUserCount Die Anzahl der Nummern aus der Stichprobe, die über alle Mobilfunkanbieter erreichbar sind, unabhängig davon, bei welchen Mobilfunkanbietern der Kundenservice gestartet wurde. Dieser Wert dient als grobe Schätzung der Gesamtzahl der erreichbaren Nutzer bei allen Mobilfunkanbietern.

Tool: Bulk Capability Check Script

Das Bulk-Script zur Funktionsüberprüfung (Anmelden, um es herunterzuladen) führt Bulk-Funktionsüberprüfungen mit CSV-Dateien als Eingabe- und Ausgabeformat durch. Das Script analysiert die CSV-Datei mit den MSISDNs und prüft mit dem RBM SDK die Funktionen jedes aufgeführten Geräts.

Eine virtuelle Maschine mit 2 CPUs und 4 GB RAM, auf der das Script mit 500 Threads ausgeführt wird, kann etwa 1.000 Abfragen pro Sekunde erreichen. Die Gesamtzahl der Abfragen pro Sekunde hängt jedoch vom verwendeten Computer, dem Land der Geräte, der regionalen Konfiguration Ihres Kundenservicemitarbeiters und dem verwendeten API-Endpunkt ab.

Vorbereitung

Bevor Sie das Tool verwenden, um eine Bulk-Funktionsprüfung durchzuführen, benötigen Sie Folgendes:

  • Der Pfad zu einer CSV-Datei mit MSISDNs, für die Funktionsüberprüfungen durchgeführt werden sollen
  • Der Pfad zum Dienstkontoschlüssel Ihres Kundenservicemitarbeiters auf Ihrem Entwicklungscomputer

Außerdem muss auf Ihrem Entwicklungscomputer die folgende Software installiert sein:

Einrichten

So richten Sie Ihren Entwicklungscomputer für eine Bulk-Funktionsprüfung ein:

  1. Laden Sie das Bulk-Script zur Funktionsüberprüfung (Anmelden, um es herunterzuladen).
  2. Folgen Sie der Anleitung in der README-Datei.

Bulk-Funktionscheck ausführen

So führen Sie eine Bulk-Prüfung durch:

  1. Rufen Sie in einem Terminal das Stammverzeichnis des Scripts auf.
  2. 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 Business Messaging-Agents. welcome-bot
    INPUT_FILE Der Pfad zur CSV-Eingabedatei. input.csv
    OUTPUT_FILE Der Pfad zur Ausgabe-CSV-Datei. output.csv
    NUM_OF_THREADS Die Anzahl der Threads, die für die Funktionsüberprüfungen verwendet werden sollen. 500
    START_INDEX Optional. Der Wert in der CSV-Datei, ab dem die Prüfungen beginnen sollen. 5
    END_INDEX Optional. Der Wert in der CSV-Datei, nach dem die Prüfung durchgeführt werden soll. 500
  3. Öffnen Sie die Ausgabe-CSV-Datei, um die Ergebnisse zu sehen.