সক্ষমতা পরীক্ষা করে

একজন ব্যবহারকারীর ডিভাইস RCS-সক্ষম এবং RBM এজেন্টের সাথে যোগাযোগ করতে সক্ষম কিনা তা পরীক্ষা করতে, আপনি ডিভাইসের ক্ষমতার জন্য অনুরোধ করতে পারেন। কোন ডিভাইসটি কোন বৈশিষ্ট্যগুলিকে সমর্থন করে তা শনাক্ত করা, যদি থাকে, আপনার এজেন্টকে কথোপকথনটিকে ডিভাইসের ক্ষমতার সাথে মানানসই করতে এবং ব্যবহারকারীর পক্ষে সম্পূর্ণ করা কঠিন বা অসম্ভব এমন মিথস্ক্রিয়া উপস্থাপন করা এড়াতে দেয়৷

যদি একজন ব্যবহারকারীর ডিভাইসটি আরসিএস বার্তাগুলি গ্রহণ করতে সক্ষম না হয়, আপনি অন্যান্য পরিষেবা যেমন SMS এর মাধ্যমে ব্যবহারকারীর সাথে যোগাযোগ করতে পারেন৷

একটি ক্ষমতা পরীক্ষা পাঠান

নিম্নলিখিত কোড একটি সক্ষমতা পরীক্ষা পাঠায় এবং একটি প্রতিক্রিয়া জন্য অপেক্ষা করে. বিন্যাস এবং মান বিকল্পের জন্য, getCapabilities দেখুন।

cURL

curl -X GET "https://REGION-rcsbusinessmessaging.googleapis.com/v1/phones/PHONE_NUMBER/capabilities?requestId=REQUEST_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('../libs/rbm_api_helper');

// Send a capability check to the device
rbmApiHelper.checkCapability('+12223334444', function(response) {
   // Print capabilities of the device
   console.log(response);
});
এই কোডটি একটি RBM নমুনা এজেন্টের একটি অংশ।

জাভা

import com.google.rbm.samples.lib.RbmApiHelper;
…

// Create an instance of the RBM API helper
RbmApiHelper rbmApiHelper = new RbmApiHelper();

// Check the capabilities of the device
boolean capability = rbmApiHelper.getCapability("+12223334444");
এই কোডটি একটি RBM নমুনা এজেন্টের একটি অংশ।

পাইথন

# 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')
এই কোডটি একটি RBM নমুনা এজেন্টের একটি অংশ।

সি#

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");
এই কোডটি একটি RBM নমুনা এজেন্টের একটি অংশ।

সক্ষমতা প্রতিক্রিয়া

একটি সক্ষমতা পরীক্ষা চালানোর পরে, RBM প্ল্যাটফর্ম নির্দিষ্ট ডিভাইস সমর্থন করে এমন বৈশিষ্ট্যগুলির একটি JSON-ফরম্যাট তালিকা প্রদান করে।

{
  "features": [
    "REVOCATION",
    "RICHCARD_STANDALONE",
    "RICHCARD_CAROUSEL",
    "ACTION_CREATE_CALENDAR_EVENT",
    "ACTION_DIAL",
    "ACTION_OPEN_URL",
    "ACTION_SHARE_LOCATION",
    "ACTION_VIEW_LOCATION",
  ]
}

আপনি যদি এমন একজন ব্যবহারকারীর কাছে একটি সক্ষমতা পরীক্ষা পাঠান যার কাছে RBM-এর দ্বারা পৌঁছানো যায় না—উদাহরণস্বরূপ, যদি তাদের ডিভাইস RCS সমর্থন না করে- তাহলে RBM প্ল্যাটফর্ম একটি 404 ত্রুটি প্রদান করে।

আপনি যদি এমন একটি নেটওয়ার্কে RCS ব্যবহারকারীর কাছে একটি সক্ষমতা পরীক্ষা পাঠান যেখানে আপনার এজেন্ট এখনও চালু হয়নি, RBM প্ল্যাটফর্ম একটি 403 ত্রুটি প্রদান করে।

বাল্ক ক্ষমতা চেক

RBM-পৌঁছানোর যোগ্য ব্যবহারকারীর সংখ্যা অনুমান করতে, একটি বাল্ক ক্ষমতা পরীক্ষা করুন। বাল্ক চেকগুলি নির্দেশ করে যে একটি ফোন নম্বর পৌঁছানো যায় কিনা কিন্তু কোন ফোন নম্বর সমর্থন করে এমন বৈশিষ্ট্যগুলি নয়৷

আপনি বাল্ক ক্ষমতা পরীক্ষা প্রতি 10,000 পর্যন্ত ফোন নম্বর নির্দিষ্ট করতে পারেন। আরও সংখ্যা পরীক্ষা করতে, একাধিক চেক সঞ্চালন করুন. একটি ইনপুট ফর্ম্যাট হিসাবে CSV ফাইলগুলি ব্যবহার করতে বাল্ক ক্যাপাবিলিটি চেক স্ক্রিপ্ট ব্যবহার করুন৷

বাল্ক ক্ষমতা পরীক্ষায় প্রতি মিনিটে সর্বোচ্চ 600টি প্রশ্ন থাকে (QPM)।

বাল্ক ক্যাপাবিলিটি চেকগুলি আপনার এজেন্ট তার বর্তমানে চালু হওয়া ক্যারিয়ারগুলিতে যে সংখ্যাগুলিতে পৌঁছাতে পারে তার একটি তালিকা প্রদান করে, সেইসাথে সমস্ত ক্যারিয়ার জুড়ে পৌঁছানোর যোগ্য ব্যবহারকারীর মোট সংখ্যার জন্য অনুমান। বাল্ক ক্ষমতা চেক প্রতিক্রিয়া দেখুন।

মোট পৌঁছানোর যোগ্য ব্যবহারকারীদের অনুমান করুন

যদিও বাল্ক চেক প্রতিক্রিয়াগুলিতে ফোন নম্বরগুলির একটি তালিকা অন্তর্ভুক্ত থাকে যেগুলি আপনার এজেন্টের চালু করা ক্যারিয়ারগুলিতে অবিলম্বে পৌঁছানো যায় ( reachableUsers ), প্রতিক্রিয়াগুলিতে দুটি মানও অন্তর্ভুক্ত থাকে যা আপনাকে সমস্ত ক্যারিয়ার জুড়ে পৌঁছানোর যোগ্য ব্যবহারকারীর মোট সংখ্যা অনুমান করতে সহায়তা করতে পারে৷

যখন আপনার এজেন্ট 500টিরও বেশি ফোন নম্বরের বাল্ক ক্ষমতা পরীক্ষা করে, তখন RBM এলোমেলোভাবে ~75% নম্বরের নমুনা সব বাহককে চেক করতে ( totalRandomSampleUserCount এ রিপোর্ট করা হয়েছে)। RBM র্যান্ডম নমুনা থেকে RBM- পৌঁছানো যায় এমন সংখ্যার গণনাও ফেরত দেয়, ক্যারিয়ার লঞ্চ স্ট্যাটাস নির্বিশেষে ( reachableRandomSampleUserCount )। totalRandomSampleUserCount দ্বারা reachableRandomSampleUserCount ভাগ করে, আপনি অনুমান করতে পারেন যে আপনার এজেন্ট কত শতাংশে পৌঁছাতে পারে যদি এটি সমস্ত ক্যারিয়ারে চালু করা হয়।

উদাহরণস্বরূপ, আপনি যদি বাল্ক ক্যাপাবিলিটি চেক-এ 5,000 ফোন নম্বর উল্লেখ করেন এবং RBM এলোমেলোভাবে নির্দিষ্ট নম্বরের ~75% নমুনা করেন, তাহলে totalRandomSampleUserCount 3750 হতে পারে। যদি reachableRandomSampleUserCount 3000 হয়, তাহলে নমুনাকৃত সংখ্যার 80% পৌঁছানো যায়।

র‍্যান্ডম নমুনা পরীক্ষা করলে শতাংশে ভিন্নতা দেখা দিতে পারে। র্যান্ডম স্যাম্পলিংয়ের প্রভাবের জন্য অ্যাকাউন্ট করতে, বড় পরিমাণে ফোন নম্বর সহ বাল্ক ক্ষমতা পরীক্ষা চালান। আপনি একই ব্যাচের সংখ্যার সাথে একাধিকবার পরীক্ষা করতে পারেন এবং তারপরে র্যান্ডম স্যাম্পলিং আচরণকে স্বাভাবিক করার জন্য ফলাফলগুলি গড় করতে পারেন।

একটি বাল্ক ক্ষমতা চেক পাঠান

নিম্নলিখিত কোড একটি বাল্ক ক্ষমতা পরীক্ষা পাঠায় এবং একটি প্রতিক্রিয়া জন্য অপেক্ষা করে. বিন্যাস এবং মান বিকল্পের জন্য, users.batchGet দেখুন।

ফোন নম্বরগুলি অবশ্যই E.164 ফর্ম্যাটে হতে হবে৷ উদাহরণস্বরূপ, "+12223334444"।

cURL

curl -X POST "https://REGION-rcsbusinessmessaging.googleapis.com/v1/users:batchGet \
-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('../libs/rbm_api_helper');

// 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);
});
এই কোডটি RBM নমুনা এজেন্ট ব্যবহার করে।

জাভা

import com.google.rbm.samples.lib.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"));
এই কোডটি RBM নমুনা এজেন্ট ব্যবহার করে।

পাইথন

# 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'])
এই কোডটি RBM নমুনা এজেন্ট ব্যবহার করে।

সি#

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 নমুনা এজেন্ট ব্যবহার করে।

বাল্ক ক্ষমতা চেক প্রতিক্রিয়া

একটি বাল্ক ক্যাপাবিলিটি চেক চালানোর পরে, RBM একটি JSON- ফর্ম্যাট করা প্রতিক্রিয়া প্রদান করে।

{
  "reachableUsers": [
    "PHONE_NUMBER"
  ],
  "totalRandomSampleUserCount": "COUNT_OF_SAMPLE",
  "reachableRandomSampleUserCount": "REACHABLE_FROM_SAMPLE"
}
মাঠ বর্ণনা
reachableUsers এজেন্টের বর্তমানে চালু হওয়া ক্যারিয়ারে পৌঁছানো যায় এমন ব্যবহারকারীদের একটি তালিকা।
totalRandomSampleUserCount নির্দিষ্ট সংখ্যার একটি এলোমেলো নমুনার গণনা। সাধারণত নির্দিষ্ট সংখ্যার ~75%।
reachableRandomSampleUserCount এজেন্টের বর্তমানে চালু করা ক্যারিয়ার নির্বিশেষে, র্যান্ডম নমুনা থেকে সংখ্যার গণনা যা সমস্ত ক্যারিয়ার জুড়ে RBM- পৌঁছানো যায়।

টুল: বাল্ক ক্যাপাবিলিটি চেক স্ক্রিপ্ট

বক ক্যাপাবিলিটি চেক স্ক্রিপ্ট ( ডাউনলোড করতে সাইন ইন করুন )ইনপুট এবং আউটপুট ফর্ম্যাট হিসাবে CSV ফাইলগুলি ব্যবহার করে বাল্ক ক্ষমতা পরীক্ষা করে। স্ক্রিপ্টটি MSISDN-এর CSV ফাইল পার্স করে এবং প্রতিটি তালিকাভুক্ত ডিভাইসের ক্ষমতা পরীক্ষা করতে RBM SDK ব্যবহার করে।

2 CPU-এর একটি ভার্চুয়াল মেশিন এবং 4GB র‍্যাম 500 থ্রেড সহ স্ক্রিপ্ট চালাতে পারে আনুমানিক 1K QPS-এ পৌঁছাতে পারে, তবে সামগ্রিক QPS ব্যবহৃত মেশিন, ডিভাইসের দেশ, আপনার এজেন্টের আঞ্চলিক কনফিগারেশন এবং ব্যবহৃত API শেষ পয়েন্টের উপর নির্ভর করে।

পূর্বশর্ত

একটি বাল্ক সক্ষমতা পরীক্ষা করার জন্য টুলটি ব্যবহার করার আগে, নিম্নলিখিতগুলি পান:

  • MSISDN সহ একটি CSV ফাইলের পাথ যা সক্ষমতা পরীক্ষা করতে পারে৷
  • আপনার ডেভেলপমেন্ট মেশিনে আপনার এজেন্টের পরিষেবা অ্যাকাউন্ট কী-এর পথ

অতিরিক্তভাবে, আপনার ডেভেলপমেন্ট মেশিনে নিম্নলিখিত সফ্টওয়্যার ইনস্টল করা প্রয়োজন:

সেট আপ করুন

  1. আপনার ডেভেলপমেন্ট মেশিনে,বাল্ক ক্যাপাবিলিটি চেক স্ক্রিপ্ট ( ডাউনলোড করতে সাইন ইন করুন )।
  2. স্ক্রিপ্টের রুট ডিরেক্টরিতে নেভিগেট করুন।
  3. পরিষেবা অ্যাকাউন্ট কীটির নাম পরিবর্তন করুন "rbm-agent-service-account-credentials.json" এবং পরিষেবা অ্যাকাউন্ট কীটিকে "src/main/resources" ডিরেক্টরিতে সরান৷

একটি বাল্ক চেক চালান

  1. একটি টার্মিনালে, স্ক্রিপ্টের রুট ডিরেক্টরিতে নেভিগেট করুন।
  2. নিম্নলিখিত কমান্ড চালান:

    export MAVEN_OPTS="-Xms1024m -Xmx3000m"
    mvn compile && mvn exec:java -Dexec.args="INPUT_FILE OUTPUT_FILE NUM_OF_THREADS START_INDEX END_INDEX"
    

    আপনি চিহ্নিত করেছেন মান দিয়ে ভেরিয়েবল প্রতিস্থাপন.

    প্রতিস্থাপন করুন সঙ্গে উদাহরণ
    INPUT_FILE ইনপুট CSV ফাইলের পথ। input.csv
    OUTPUT_FILE আউটপুট CSV ফাইলের পথ। output.csv
    NUM_OF_THREADS সক্ষমতা যাচাইয়ের জন্য উৎসর্গ করার জন্য থ্রেডের সংখ্যা। 500
    START_INDEX ঐচ্ছিক। CSV ফাইলের মান যেটির বিরুদ্ধে চেক চালানো শুরু করতে হবে। 5
    END_INDEX ঐচ্ছিক। CSV ফাইলের মান যা পরে চেক শেষ করতে হবে। 500
  3. স্ক্রিপ্ট সম্পূর্ণ হলে, ফলাফল দেখতে আউটপুট CSV ফাইল খুলুন।