यह देखने के लिए कि उपयोगकर्ता के डिवाइस पर आरसीएस की सुविधा चालू है या नहीं और वह आरबीएम एजेंट के साथ कम्यूनिकेट कर सकता है या नहीं, डिवाइस की सुविधाओं का अनुरोध किया जा सकता है. यह पता लगाने पर कि किसी डिवाइस पर कौनसी सुविधाएं काम करती हैं, आपका एजेंट बातचीत को डिवाइस की क्षमताओं के हिसाब से बना सकता है. साथ ही, ऐसे इंटरैक्शन को दिखाने से बच सकता है जिन्हें उपयोगकर्ता के लिए पूरा करना मुश्किल या असंभव हो.
अगर किसी उपयोगकर्ता के डिवाइस पर आरसीएस मैसेज पाने की सुविधा काम नहीं करती है, तो उससे एसएमएस/एमएमएस जैसी अन्य सेवाओं के ज़रिए संपर्क किया जा सकता है.
डिवाइस की क्षमताएं देखना
यहां दिया गया कोड, सुविधा की जांच करता है और जवाब का इंतज़ार करता है. फ़ॉर्मैटिंग और वैल्यू के विकल्पों के लिए, 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");
क्षमता से जुड़ा जवाब
सुविधा की जांच करने के बाद, आरबीएम प्लैटफ़ॉर्म, JSON फ़ॉर्मैट में उन सुविधाओं की सूची दिखाता है जो दिए गए डिवाइस पर काम करती हैं.
{ "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" ] }
अनुरोध से कोई जवाब या गड़बड़ी का मैसेज मिलता है.
सही जवाब सिर्फ़ तब दिखता है, जब एमएसआईएसडीएन (फ़ोन नंबर) को पिछले 31 दिनों में आरसीएस सेवा से कनेक्ट किया गया हो. इसका मतलब है कि उपयोगकर्ता के डिवाइस ने उस समयसीमा के दौरान, हमारे आरसीएस सर्वर से चेक इन किया है. ऑनलाइन और आरसीएस की सुविधा वाले डिवाइस, औसतन हर एक से चार घंटे में चेक इन करते हैं.
अगर कोई उपयोगकर्ता अपना सिम कार्ड, आरसीएस की सुविधा वाले किसी दूसरे डिवाइस में डालता है, तो पिछले डिवाइस से असोसिएशन हटा दिया जाता है और नया असोसिएशन बनाया जाता है. इससे आरसीएस सेवा में, डिवाइस की सुविधाओं को अपडेट किया जाता है.
अगर किसी सिम कार्ड को किसी ऐसे डिवाइस में डाला जाता है जहां मोबाइल और इंटरनेट सेवा देने वाली कंपनी या मैन्युफ़ैक्चरर ने आरसीएस की सुविधा बंद कर दी है या सिम कार्ड का इस्तेमाल नहीं किया जा रहा है, तो भी आरसीएस सेवा 31 दिनों तक, पहले से जोड़े गए डिवाइस पर मैसेज डिलीवर करने की कोशिश करेगी.
404 कोड वाली गड़बड़ियां इन वजहों से होती हैं:
उपयोगकर्ता को आरबीएम से नहीं पहुंचा जा सकता. उदाहरण के लिए, अगर उसके डिवाइस पर आरसीएस की सुविधा काम नहीं करती.
उपयोगकर्ता के पास आरसीएस की सुविधा है, लेकिन आपका एजेंट उसके मोबाइल नेटवर्क पर लॉन्च नहीं हुआ है.
ऑफ़लाइन कतार
मैसेज 31 दिनों तक कतार में रहते हैं. डिवाइस के फिर से ऑनलाइन आने पर, उन्हें डिलीवर कर दिया जाता है. इसका मतलब है कि अगर कोई डिवाइस लंबे समय तक (31 दिन तक) ऑफ़लाइन रहता है, तो फिर से कनेक्ट होने पर भी, सूची में मौजूद मैसेज डिलीवर किए जाएंगे. हालांकि, इसके लिए ज़रूरी है कि पिछले 31 दिनों में, एमएसआईएसडीएन, आरसीएस सेवा से कनेक्ट रहा हो.
एक साथ कई सुविधाओं की जांच करना
आरबीएम की मदद से रीच किए जा सकने वाले उपयोगकर्ताओं की संख्या का अनुमान लगाने के लिए, एक साथ कई उपयोगकर्ताओं की जांच करें. एक साथ कई फ़ोन नंबर की जांच करने से पता चलता है कि किसी फ़ोन नंबर पर कॉल किया जा सकता है या नहीं. हालांकि, इससे यह पता नहीं चलता कि उस फ़ोन नंबर पर कौनसी सुविधाएं काम करती हैं.
एक साथ कई नंबरों की जांच करने के लिए, आपको 500 से 10,000 यूनीक फ़ोन नंबर देने होंगे. ज़्यादा नंबरों की जांच करने के लिए, एक से ज़्यादा बार जांच करें. हर मिनट में ज़्यादा से ज़्यादा 600 कॉल किए जा सकते हैं. CSV फ़ाइलों को इनपुट फ़ॉर्मैट के तौर पर इस्तेमाल करने के लिए, एक साथ कई फ़ाइलों की जांच करने वाली स्क्रिप्ट का इस्तेमाल करें. एक साथ कई जांच करने की सुविधा, कैश मेमोरी से पढ़ी जाती है. इसे क्लाइंट, आरसीएस का इस्तेमाल करके ऑर्गैनिक तरीके से अपडेट करते हैं. एजेंट, हर डिवाइस की सुविधाओं का अनुरोध सीधे तौर पर नहीं करते. इस वजह से, हो सकता है कि नतीजे अप-टू-डेट न हों.
एक साथ कई कैपेसिटी की जांच करने पर, उन नंबरों की सूची मिलती है जिन पर आपका एजेंट उन कैरियर पर कॉल कर सकता है जहां इसे लॉन्च किया गया है. साथ ही, सभी कैरियर पर कॉल किए जा सकने वाले उपयोगकर्ताओं की कुल संख्या का अनुमान भी मिलता है. एक साथ कई सुविधाओं की जांच का जवाब देखें.
रीच किए जा सकने वाले कुल उपयोगकर्ताओं का अनुमान लगाना
एक साथ कई नंबरों की जांच करने के जवाबों में, उन फ़ोन नंबरों की सूची शामिल होती है जो आपके एजेंट के लॉन्च किए गए कैरियर (reachableUsers
) पर तुरंत संपर्क किए जा सकते हैं. जवाबों में दो वैल्यू भी शामिल होती हैं, जिनसे आपको सभी कैरियर पर संपर्क किए जा सकने वाले उपयोगकर्ताओं की कुल संख्या का अनुमान लगाने में मदद मिल सकती है.
यह कैसे काम करता है
जब आपका एजेंट बड़ी संख्या में नंबरों की जांच करता है, तो आरबीएम उनमें से करीब 75% नंबरों का सैंपल लेता है. इससे सभी कैरियर (totalRandomSampleUserCount
में रिपोर्ट किए गए) की जांच की जाती है. आरबीएम, सैंपल में शामिल उन नंबरों की संख्या भी दिखाता है जिन पर आरबीएम काम करता है. इस बात से कोई फ़र्क़ नहीं पड़ता कि कैरियर लॉन्च का स्टेटस (reachableRandomSampleUserCount
) क्या है. reachableRandomSampleUserCount
को totalRandomSampleUserCount
से भागकर, यह अनुमान लगाया जा सकता है कि सभी कैरियर पर लॉन्च होने पर, आपके एजेंट कितने प्रतिशत नंबरों तक पहुंच सकता है.
उदाहरण के लिए, अगर आपने एक साथ कई नंबर की जांच करने के लिए 5,000 फ़ोन नंबर डाले हैं और आरबीएम ने तय किए गए नंबरों में से ~75% नंबरों को रैंडम तौर पर सैंपल किया है, तो totalRandomSampleUserCount
की वैल्यू 3750
हो सकती है. अगर reachableRandomSampleUserCount
3000
है, तो इसका मतलब है कि सैंपल में शामिल 80% नंबरों पर संपर्क किया जा सका.
रैंडम सैंपलिंग के लिए खाता
रैंडम सैंपल की जांच करने से, प्रतिशत में अंतर हो सकता है. रैंडम सैंपलिंग के असर को ध्यान में रखते हुए, ज़्यादा फ़ोन नंबर के साथ एक साथ कई जांचें करें. आपके पास एक ही बैच के नंबरों की जांच कई बार करने का विकल्प भी है. इसके बाद, रैंडम सैंपलिंग के व्यवहार को सामान्य बनाने के लिए, नतीजों का औसत निकालें.
एक साथ कई प्रोफ़ाइलों की पुष्टि कराने का अनुरोध भेजना
यहां दिया गया कोड, बल्क में क्षमता की जांच करता है और जवाब का इंतज़ार करता है. फ़ॉर्मैटिंग और वैल्यू के विकल्पों के लिए, users.batchGet
देखें.
फ़ोन नंबर, E.164 फ़ॉर्मैट में होने चाहिए. उदाहरण के लिए, "+12223334444". साथ ही, सूची में 500 से 10,000 यूनीक फ़ोन नंबर होने चाहिए.
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"}));
एक साथ कई सुविधाओं की जांच करने का जवाब
एक साथ कई सुविधाओं की जांच करने के बाद, RBM JSON फ़ॉर्मैट में रिस्पॉन्स दिखाता है.
{ "reachableUsers": [ "PHONE_NUMBER" ], "totalRandomSampleUserCount": "COUNT_OF_SAMPLE", "reachableRandomSampleUserCount": "REACHABLE_FROM_SAMPLE" }
फ़ील्ड | ब्यौरा |
---|---|
reachableUsers
|
एजेंट के लॉन्च किए गए कैरियर पर, संपर्क किए जा सकने वाले उपयोगकर्ताओं की सूची. |
totalRandomSampleUserCount
|
चुनी गई संख्याओं के रैंडम सैंपल की संख्या. आम तौर पर, तय की गई संख्याओं में से ~75%. |
reachableRandomSampleUserCount
|
रैंडम सैंपल में मौजूद उन नंबरों की संख्या जो सभी कैरियर पर आरबीएम से रीच किए जा सकते हैं. भले ही, एजेंट को किन कैरियर पर लॉन्च किया गया हो. इस संख्या का इस्तेमाल, सभी कैरियर पर, ऐप्लिकेशन तक पहुंचने वाले उपयोगकर्ताओं की कुल संख्या का अनुमान लगाने के लिए किया जाता है. |
टूल: एक साथ कई प्रॉडक्ट की क्षमता की जांच करने वाली स्क्रिप्ट
बल्क कैपेबिलिटी जांच स्क्रिप्ट (डाउनलोड करने के लिए साइन इन करें) इनपुट और आउटपुट फ़ॉर्मैट के तौर पर CSV फ़ाइलों का इस्तेमाल करके, बल्क कैपेबिलिटी जांच करती है. स्क्रिप्ट, एमएसआईएसडीएन की CSV फ़ाइल को पार्स करती है. साथ ही, सूची में शामिल हर डिवाइस की क्षमताओं की जांच करने के लिए, RBM SDK का इस्तेमाल करती है.
500 थ्रेड वाली स्क्रिप्ट को चलाने वाली दो सीपीयू और 4 जीबी रैम वाली वर्चुअल मशीन, करीब 1 हज़ार क्यूपीएस तक पहुंच सकती है. हालांकि, कुल क्यूपीएस, इस्तेमाल की गई मशीन, डिवाइसों के देश, आपके एजेंट के क्षेत्रीय कॉन्फ़िगरेशन, और इस्तेमाल किए गए एपीआई एंडपॉइंट पर निर्भर करता है.
ज़रूरी शर्तें
एक साथ कई प्रॉडक्ट की सुविधाओं की जांच करने के लिए, टूल का इस्तेमाल करने से पहले ये काम करें:
- इस पर सुविधाओं की जांच करने के लिए, एमएसआईएसडीएन वाली CSV फ़ाइल का पाथ
- डेवलपमेंट मशीन पर, आपके एजेंट के सेवा खाते की कुंजी का पाथ
इसके अलावा, आपको अपनी डेवलपमेंट मशीन पर ये सॉफ़्टवेयर इंस्टॉल करने होंगे:
- Apache Maven 3.3.9 या इसके बाद का वर्शन
- Java 8
सेट अप करें
एक साथ कई सुविधाओं की जांच करने के लिए, अपने डेवलपमेंट मशीन को सेट अप करने के लिए, यह तरीका अपनाएं:
- एक साथ कई फ़ाइलों की जांच करने वाली स्क्रिप्ट (डाउनलोड करने के लिए साइन इन करें).
- 'इस बारे में जानकारी' में दिया गया तरीका अपनाएं.
एक साथ कई सुविधाओं की जांच करना
एक साथ कई चेक करने के लिए, यह तरीका अपनाएं:
- टर्मिनल में, स्क्रिप्ट की रूट डायरेक्ट्री पर जाएं.
ये कमांड चलाएं:
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"
वैरिएबल को उन वैल्यू से बदलें जिन्हें आपने पहचाना है.
बदलें के साथ उदाहरण AGENT_ID आरसीएस बिज़नेस मैसेजिंग एजेंट का आईडी. welcome-bot
INPUT_FILE इनपुट CSV फ़ाइल का पाथ. input.csv
OUTPUT_FILE आउटपुट CSV फ़ाइल का पाथ. output.csv
NUM_OF_THREADS सुविधाओं की जांच के लिए तय की गई थ्रेड की संख्या. 500
START_INDEX ज़रूरी नहीं. CSV फ़ाइल में मौजूद वह वैल्यू जिसकी जांच शुरू करनी है. 5
END_INDEX ज़रूरी नहीं. CSV फ़ाइल में मौजूद वह वैल्यू जिसे जांच के बाद जोड़ना है. 500
स्क्रिप्ट पूरी होने के बाद, नतीजे देखने के लिए आउटपुट CSV फ़ाइल खोलें.