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

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

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

ডিভাইসের ক্ষমতা পরীক্ষা করুন

নিম্নলিখিত কোড একটি সক্ষমতা পরীক্ষা পাঠায় এবং একটি প্রতিক্রিয়া জন্য অপেক্ষা করে. বিন্যাস এবং মান বিকল্পের জন্য, 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);
});
এই কোডটি একটি RBM নমুনা এজেন্টের একটি উদ্ধৃতি।

জাভা

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");
এই কোডটি একটি 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": [
    "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",
  ]
}

অনুরোধটি একটি প্রতিক্রিয়া বা একটি ত্রুটি প্রদান করে।

MSISDN (ফোন নম্বর) গত 24 ঘন্টার মধ্যে RCS পরিষেবার সাথে সংযুক্ত হলেই একটি সফল প্রতিক্রিয়া ফেরত দেওয়া হয়। এর মানে ব্যবহারকারীর ডিভাইসটি সেই সময়সীমার মধ্যে আমাদের RCS সার্ভারের সাথে চেক ইন করেছে। ডিভাইসগুলি পর্যায়ক্রমে চেক ইন করে (প্রতি 1-4 ঘন্টা), তাই যে কোনও ডিভাইস যা সাধারণত RCS পেতে পারে সেগুলিকে গত 24 ঘন্টার মধ্যে চেক ইন করা উচিত৷

404 ত্রুটির কারণ এখানে:

  • ব্যবহারকারীর কাছে RBM দ্বারা পৌঁছানো যায় না–উদাহরণস্বরূপ, যদি তাদের ডিভাইস RCS সমর্থন না করে।

  • ব্যবহারকারীর RCS আছে, কিন্তু আপনার এজেন্ট তাদের মোবাইল নেটওয়ার্কে চালু হয়নি।

অফলাইন সারিবদ্ধ

বার্তাগুলি 30 দিন পর্যন্ত সারিবদ্ধ থাকে এবং ডিভাইসটি অনলাইনে ফিরে এলে বিতরণ করা হয়। ডেলিভারি নিশ্চিত করতে, বার্তা পাঠানোর 24 ঘন্টার মধ্যে ডিভাইসটিতে অবশ্যই RCS কার্যকলাপের লক্ষণ দেখাতে হবে। এর মানে হল যে কোনও ডিভাইস বর্ধিত সময়ের জন্য (30 দিন পর্যন্ত) অফলাইনে থাকলেও, সারিবদ্ধ বার্তাগুলি পুনঃসংযোগের পরেও বিতরণ করা হবে, যতক্ষণ না পাঠানোর সময় 24-ঘন্টা কার্যকলাপ উইন্ডোটি পূরণ করা হয়।

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

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

প্রতিটি বাল্ক সক্ষমতা যাচাইয়ের জন্য, আপনাকে অবশ্যই 500-10,000টি অনন্য ফোন নম্বর প্রদান করতে হবে। আরও সংখ্যা পরীক্ষা করতে, একাধিক চেক সঞ্চালন করুন. আপনি প্রতি মিনিটে 600টি পর্যন্ত কল করতে পারবেন। একটি ইনপুট ফর্ম্যাট হিসাবে CSV ফাইলগুলি ব্যবহার করতে বাল্ক ক্যাপাবিলিটি চেক স্ক্রিপ্ট ব্যবহার করুন৷ ক্ষমতা ক্যাশে থেকে বাল্ক চেক পড়া হয়, যা ক্লায়েন্টরা অর্গানিকভাবে RCS ব্যবহার করে আপডেট করে। এজেন্টরা প্রতিটি ডিভাইসের ক্ষমতা সরাসরি অনুরোধ করে না। এই কারণে, ফলাফল বর্তমান নাও হতে পারে.

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

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

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

এটা কিভাবে কাজ করে

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

উদাহরণস্বরূপ, আপনি যদি বাল্ক ক্যাপাবিলিটি চেক-এ 5,000 ফোন নম্বর উল্লেখ করেন এবং RBM এলোমেলোভাবে নির্দিষ্ট নম্বরের ~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);
});
এই কোডটি RBM নমুনা এজেন্ট ব্যবহার করে।

জাভা

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"));
এই কোডটি 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. README-এর ধাপগুলো অনুসরণ করুন।

একটি বাল্ক ক্ষমতা পরীক্ষা চালান

একটি বাল্ক চেক চালানোর জন্য, এই পদক্ষেপগুলি অনুসরণ করুন:

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

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