# ব্যবহারকারী (ইউজার আইডি)

ইউজার আইডি হল একটি অনন্য শনাক্তকারী যা প্রতিটি ব্যবহারকারীকে তাদের সমস্ত ডিভাইস জুড়ে সামঞ্জস্যপূর্ণ ব্যবহারকারীর ডেটা বজায় রাখার জন্য বরাদ্দ করা হয়। এটি আপনাকে আপনার দর্শকদের তাদের ডিভাইস জুড়ে একটি নির্বিঘ্ন ব্যবহারকারীর অভিজ্ঞতা প্রদান করতে দেয়।

## ব্যবহারকারী এবং ডিভাইসগুলি কীভাবে সম্পর্কিত?

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

একজন ব্যবহারকারী (ইউজার আইডি) একটি স্বতন্ত্র সত্তা নয়; এটি সংশ্লিষ্ট ডিভাইসের উপস্থিতির উপর নির্ভর করে। যদি শেষ সংশ্লিষ্ট ডিভাইসটি সরানো হয় বা অন্য ব্যবহারকারীর সাথে লিঙ্ক করা হয়, তবে ব্যবহারকারী সিস্টেম থেকে স্বয়ংক্রিয়ভাবে মুছে যাবে।

একজন ব্যবহারকারী (ইউজার আইডি) এমন একটি সত্তা হিসাবেও কাজ করে যার অধীনে বেশ কয়েকটি ডিভাইসকে গোষ্ঠীভুক্ত করা যেতে পারে, প্রতিটির নিজস্ব অনন্য হার্ডওয়্যার আইডি (HWID) রয়েছে।

<img src="/user-ids-users-userids-1.webp" alt="ইউজার আইডি এবং একাধিক ডিভাইসের মধ্যে সম্পর্ক দেখানো একটি ডায়াগ্রাম, প্রতিটির একটি অনন্য হার্ডওয়্যার আইডি রয়েছে"/>

### প্রতি ব্যবহারকারীর জন্য ডিভাইসের সীমা

প্রতিটি ব্যবহারকারীর তাদের ইউজার আইডির সাথে সর্বাধিক ২০টি ডিভাইস লিঙ্ক করা থাকতে পারে। যখন একটি ২১তম ডিভাইস নিবন্ধিত হয়, তখন সিস্টেমটি জায়গা তৈরি করতে বিদ্যমান ডিভাইসগুলির মধ্যে একটিকে স্বয়ংক্রিয়ভাবে সরিয়ে দেয়।

**অপসারণের জন্য ডিভাইসটি কীভাবে নির্বাচন করা হয়**

১. যদি সমস্ত লিঙ্ক করা ডিভাইস শুধুমাত্র ইমেল-ভিত্তিক হয়, তবে একটি র‍্যান্ডম ইমেল ডিভাইস সরানো হয়।
২. অন্যথায়, সিস্টেমটি শেষ অ্যাপ খোলার সময়ের উপর ভিত্তি করে প্রাচীনতম নন-ইমেল ডিভাইসটি খুঁজে বের করে এবং এটি সরিয়ে দেয়।
৩. যদি তুলনা করার জন্য কোনও কার্যকলাপের ডেটা না থাকে (যেমন, ডিভাইসগুলি প্রকৃত অ্যাপ ব্যবহার ছাড়াই API এর মাধ্যমে যোগ করা হয়েছিল), একটি র‍্যান্ডম নন-ইমেল ডিভাইস সরানো হয়।

এটি নিশ্চিত করে যে আপনার সাম্প্রতিক সক্রিয় ডিভাইসগুলি আপনার অ্যাকাউন্টের সাথে লিঙ্ক করা থাকে এবং পুরানো, নিষ্ক্রিয় ডিভাইসগুলি স্বয়ংক্রিয়ভাবে পরিষ্কার হয়ে যায়।

## ব্যবহারকারীর প্রকারভেদ

দুই ধরনের ব্যবহারকারী আছে: বেনামী এবং পরিচিত ব্যবহারকারী। একজন বেনামী ব্যবহারকারীর ইউজার আইডি ডিভাইস HWID-এর সমান থাকে, যা পরে প্রকৃত ইউজার আইডি দিয়ে প্রতিস্থাপন করা যেতে পারে।

একজন পরিচিত ব্যবহারকারীর একটি স্বতন্ত্র ইউজার আইডি থাকে। আপনি [`/registerDevice`](/bn/developer/api-reference/device-api/#registerdevice) API কলের মাধ্যমে একটি নতুন ডিভাইস নিবন্ধন করার সময় একটি ইউজার আইডি নির্দিষ্ট করতে পারেন।

## ইউজার আইডি প্রাপ্তি এবং পরিচালনা

Pushwoosh ব্যবহারকারীদের অ্যাক্সেস এবং পরিচালনা করার জন্য বেশ কয়েকটি উপায় সরবরাহ করে:

### ব্যবহারকারী তৈরি করা

ডিফল্টরূপে, যখন ইন্টিগ্রেটেড Pushwoosh SDK সহ একটি অ্যাপ প্রথমবার চালু করা হয়, তখন এটি একটি ডিভাইস HWID কে ইউজার আইডি হিসাবে সেট করে। আপনি লগইন করার সময় Pushwoosh SDK থেকে [`setUserID`](/bn/developer/first-steps/collecting-user-ids/) পদ্ধতিটি কল করতে পারেন একটি ডিভাইসকে একটি নির্দিষ্ট ব্যবহারকারীর সাথে যুক্ত করার জন্য যেকোনো প্রয়োজনীয় মান সেট করতে। যখন একজন ব্যবহারকারী লগ আউট করে, আপনি এই মানটি অন্য একটি [`setUserID`](/bn/developer/first-steps/collecting-user-ids/) কলের মাধ্যমে একটি ডিফল্ট মানে রিসেট করতে পারেন, যেমন একটি প্রাথমিক HWID মানে।

### ব্যবহারকারী ইম্পোর্ট করা

আপনি একটি নির্দিষ্ট ব্যবহারকারী সেগমেন্টের জন্য একটি CSV ফাইল থেকে সহজেই ইউজার আইডি ইম্পোর্ট করতে পারেন। অনুগ্রহ করে আমাদের বিস্তারিত নির্দেশাবলী [সেগমেন্টস গাইড](/bn/product/audience-data-and-segmentation/segmentation/create-segments/by-import)-এ খুঁজুন।

### ব্যবহারকারী এক্সপোর্ট করা

ইউজার আইডি এক্সপোর্ট করতে, আপনি [`/exportSegment`](/bn/developer/api-reference/segmentation-filters-api/#exportsegment) API অনুরোধটি ব্যবহার করতে পারেন, যা CSV বা JSON ফর্ম্যাটে ডেটা এক্সপোর্ট করার বিকল্প সরবরাহ করে।

### ডিভাইস লগ থেকে ইউজার আইডি অ্যাক্সেস করা

ইউজার আইডি সরাসরি ডিভাইস লগ থেকেও অ্যাক্সেস করা যেতে পারে। ধাপে ধাপে নির্দেশাবলীর জন্য, অনুগ্রহ করে [কীভাবে কনসোল লগ এবং ডিভাইস টোকেন পাবেন](https://help.pushwoosh.com/hc/en-us/articles/360000292586-How-to-obtain-console-logs-and-device-token?source=search\&auth\_token=eyJhbGciOiJIUzI1NiJ9.eyJhY2NvdW50X2lkIjoyOTA5MjksInVzZXJfaWQiOjEyNDkzMTI5MDkwMzMzLCJ0aWNrZXRfaWQiOjc4MzMyLCJjaGFubmVsX2lkIjo2MywidHlwZSI6IlNFQVJDSCIsImV4cCI6MTY5MzExNDk5Mn0.SpeS-IJ\_j3mB6Elf2ObMjev2MZSmDOLu4DYQdEcZvS8) নিবন্ধটি দেখুন।

## ব্যবহারকারী এবং ডিভাইস ট্যাগ

ডিভাইসের মতোই, ব্যবহারকারীদের (ইউজার আইডি) তাদের নিজস্ব [ট্যাগ](/bn/product/audience-data-and-segmentation/user-data-tags/) সেট থাকতে পারে যা ব্যবহারকারী বা ডিভাইসগুলিকে তাদের বৈশিষ্ট্যের উপর ভিত্তি করে শ্রেণীবদ্ধ এবং শনাক্ত করার জন্য লেবেল হিসাবে কাজ করবে।

### কীভাবে ব্যবহারকারী-নির্দিষ্ট ট্যাগ তৈরি করবেন

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

Pushwoosh কন্ট্রোল প্যানেল থেকে একটি ব্যবহারকারী-নির্দিষ্ট ট্যাগ তৈরি করতে, একটি নতুন ট্যাগ যোগ করার সময় **User-specific** চেকবক্সটি চেক করুন। যদি আপনি ট্যাগটিকে ব্যবহারকারী-নির্দিষ্ট হিসাবে চিহ্নিত না করেন, তবে এটি শুধুমাত্র ডিভাইসের সাথে যুক্ত হবে।

<img src="/user-ids-users-userids-2.webp" alt="Pushwoosh কন্ট্রোল প্যানেলের ট্যাগ তৈরির ফর্ম যা ব্যবহারকারী-নির্দিষ্ট ট্যাগ তৈরির জন্য 'User-specific' চেকবক্স বিকল্পটি দেখাচ্ছে"/>


## ব্যবহারকারীর স্থানান্তর পরিচালনা

Pushwoosh-এর মধ্যে, ব্যবহারকারীর স্থানান্তর পরিচালনার জন্য দুটি প্রাথমিক পরিস্থিতি জড়িত:

### বেনামী থেকে পরিচিত ব্যবহারকারীতে স্থানান্তর

যখন একজন বেনামী ব্যবহারকারী একজন পরিচিত ব্যবহারকারী হয়ে ওঠে, তখন তারা যে ডিভাইসটি ব্যবহার করছে তা তাদের নতুন ব্যবহারকারী প্রোফাইলের সাথে যুক্ত হয়ে যায়। এই স্থানান্তরের সময়, সমস্ত ডিভাইস বৈশিষ্ট্য অক্ষত থাকে। তবে, এটি মনে রাখা গুরুত্বপূর্ণ যে সমস্ত ব্যবহারকারী-নির্দিষ্ট বৈশিষ্ট্যগুলি পরিচিত ব্যবহারকারীর মানগুলিতে বা ডিফল্ট হিসাবে রিসেট করা হয় যদি এটি বিদ্যমান না থাকে।

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

### এক পরিচিত ব্যবহারকারী থেকে অন্য পরিচিত ব্যবহারকারীতে স্থানান্তর

যদি একটি ডিভাইসের সাথে যুক্ত ব্যবহারকারী Pushwoosh SDK থেকে **setUserID** ব্যবহার করে পরিবর্তন করা হয়, তবে ডিভাইসটি নতুন ব্যবহারকারী প্রোফাইলের সাথে যুক্ত হয়।

> [Android](/bn/developer/pushwoosh-sdk/android-sdk/android-faq/#how-do-i-set-a-userid) এবং [iOS](/bn/developer/pushwoosh-sdk/ios-sdk/ios-faq/#q-how-can-i-set-a-user-id-in-pushwoosh)-এর জন্য ইউজার আইডি সেট করা সম্পর্কে আরও জানুন।

আপনি [`/registerUser`](/bn/developer/api-reference/user-centric-api#registeruser) API কলও ব্যবহার করতে পারেন।

পূর্ববর্তী পরিস্থিতির মতোই, ডিভাইস বৈশিষ্ট্যগুলি একই থাকে, যা একটি মসৃণ স্থানান্তর নিশ্চিত করে। তবে, ব্যবহারকারী-নির্দিষ্ট ট্যাগগুলি এখন নতুন ব্যবহারকারীর মানগুলিতে বরাদ্দ করা হবে। এটি নিশ্চিত করার জন্য যে ব্যবহারকারীর ট্যাগগুলি নতুন ব্যবহারকারীর প্রোফাইলকে সঠিকভাবে প্রতিফলিত করে।

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

## ব্যবহারকারী পরিচালনার জন্য API পদ্ধতি

Pushwoosh আপনার অ্যাপ্লিকেশনের মধ্যে ব্যবহারকারীদের পরিচালনা করার জন্য বেশ কয়েকটি API পদ্ধতি সরবরাহ করে। কার্যকর ব্যবহারকারী ডেটা পরিচালনা এবং লক্ষ্য নির্ধারণের জন্য এই পদ্ধতিগুলি বোঝা অত্যন্ত গুরুত্বপূর্ণ। এখানে চারটি মূল পদ্ধতি রয়েছে যা ব্যবহারকারীর স্থিতি বা বৈশিষ্ট্য পরিবর্তন করে:

১. [`/applicationOpen`](/bn/developer/api-reference/device-api#applicationopen)

* একটি পুশ টোকেন ছাড়া একটি ডিভাইস এবং বেনামী ব্যবহারকারী তৈরি করে যদি তারা বিদ্যমান না থাকে।
* ডিভাইসে ডিভাইস-নির্দিষ্ট ট্যাগ সেট করে।
* ব্যবহারকারী-সম্পর্কিত পরিবর্তনগুলি পরিচালনা করে না।

২.  [`/registerDevice`](/bn/developer/api-reference/device-api#registerdevice)

* একটি পুশ টোকেন এবং ব্যবহারকারী সহ একটি ডিভাইস তৈরি করে যদি তারা বিদ্যমান না থাকে।
* API অনুরোধ থেকে ব্যবহারকারীর সাথে একটি ডিভাইস যুক্ত করে (অন্যথায় বেনামী ব্যবহারকারী)
* ডিভাইস এবং তার সংশ্লিষ্ট ব্যবহারকারী উভয়কেই সমস্ত নির্দিষ্ট ট্যাগ বরাদ্দ করে।

<Aside type="caution">
সম্ভাব্য রেস কন্ডিশন (যেখানে একাধিক অপারেশন একই সাথে শেয়ার্ড ডেটা পরিবর্তন করার চেষ্টা করে) থেকে রক্ষা করার জন্য, [`/registerDevice`](/bn/developer/api-reference/device-api#registerdevice) এবং [`/registerUser`](/bn/developer/api-reference/user-centric-api#registeruser) একসাথে ব্যবহার করা থেকে বিরত থাকুন।
</Aside>
 
৩. [`/registerUser`](/bn/developer/api-reference/user-centric-api#registeruser)

* একটি পুশ টোকেন ছাড়া একটি ডিভাইস এবং ব্যবহারকারী তৈরি করে যদি এটি বিদ্যমান না থাকে।
* ডিভাইস ট্যাগ বজায় রেখে ব্যবহারকারীদের মধ্যে একটি ডিভাইস স্থানান্তর করে।

৪.  [`/setTags`](/bn/developer/api-reference/device-api#settags)

* একটি পুশ টোকেন ছাড়া একটি ডিভাইস এবং বেনামী ব্যবহারকারী তৈরি করে যদি এটি বিদ্যমান না থাকে।
* ডিভাইসে ডিভাইস ট্যাগ বরাদ্দ করে।
* অনুরোধে প্রদত্ত ব্যবহারকারীকে ব্যবহারকারী ট্যাগ বরাদ্দ করে (যদি এমন কোনও ব্যবহারকারী বিদ্যমান থাকে)।
* এই পদ্ধতিটি ডিভাইস স্থানান্তর করে না, এবং ফলস্বরূপ, এটি একটি নতুন পরিচিত ব্যবহারকারী তৈরি করতে পারে না (আপনি একটি নতুন পরিচিত ব্যবহারকারী তৈরি করতে [`/registerUser`](/bn/developer/api-reference/user-centric-api/#registeruser) পদ্ধতি ব্যবহার করতে পারেন)।

## যদি একজন ব্যবহারকারী একাধিক ডিভাইসের সাথে যুক্ত থাকে, তাহলে কাস্টমার জার্নির সময় কোন ডিভাইসটি বার্তা পাবে?

যখন একজন ব্যবহারকারীর অ্যাকাউন্টের সাথে একাধিক ডিভাইস যুক্ত থাকে, তখন তাদের মধ্যে বার্তাগুলি কীভাবে বিতরণ করা হয় তা জার্নির ধরনের উপর নির্ভর করে:

### অডিয়েন্স-ভিত্তিক এন্ট্রি এবং ওয়েবহুক-ভিত্তিক এন্ট্রি জার্নি

ডিফল্টরূপে, এই জার্নিগুলিতে, বার্তাগুলি ব্যবহারকারীর সাথে যুক্ত সবচেয়ে সাম্প্রতিক সক্রিয় ডিভাইসে পাঠানো হয়। এটি নিশ্চিত করে যে বার্তাটি সেই ব্যবহারকারীর কাছে পৌঁছায় যার সাথে এটিতে জড়িত হওয়ার সম্ভাবনা সবচেয়ে বেশি।

### ট্রিগার-ভিত্তিক এন্ট্রি জার্নি

ডিফল্টরূপে, বার্তাটি সেই ডিভাইসে পাঠানো হয় যেখানে ট্রিগারিং অ্যাকশনটি শেষবার ফায়ার করা হয়েছিল। এটি প্রাসঙ্গিক ব্যবহারকারীর কার্যকলাপ যেখানে ঘটেছে সেই ডিভাইসে বার্তা সরবরাহ করে প্রসঙ্গ এবং প্রাসঙ্গিকতা বজায় রাখে।

### সমস্ত ডিভাইসে ডেলিভারি

তবে, আপনি এই ডিফল্ট সেটিংস ওভাররাইড করতে এবং একই সাথে ইউজার আইডির সাথে যুক্ত সমস্ত ডিভাইসে বার্তা পাঠাতে পারেন। এর জন্য, বার্তা সেটিংসে, **Options**-এ স্ক্রোল করুন, এবং **Send to all user devices** টগল অন করুন।

<img src="/user-ids-users-userids-3.webp" alt="কাস্টমার জার্নি বার্তা সেটিংস যা 'Options' বিভাগে 'Send to all user devices' টগল বিকল্পটি দেখাচ্ছে"/>

এই বিকল্পটি ব্রডকাস্ট বা জরুরি বিজ্ঞপ্তির জন্য উপযোগী হতে পারে যা ব্যবহারকারীর কাছে পৌঁছানো প্রয়োজন তারা বর্তমানে কোন ডিভাইস ব্যবহার করছে তা নির্বিশেষে।