ভূমিকা
এই এপিআইটি ‘প্রাইভেসি অ্যান্ড মেসেজিং’ ট্যাবের মাধ্যমে প্রদত্ত বার্তাগুলোর সাথে ইন্টারঅ্যাক্ট করার জন্য টুলস সরবরাহ করে। এর সাহায্যে আপনি যা করতে পারবেন:
- যেকোনো নির্দিষ্ট ব্যবহারকারীর জন্য বার্তা পাঠানো বন্ধ করুন
- একজন ব্যবহারকারীর বিজ্ঞাপন ব্লক করার অবস্থা সম্পর্কে জিজ্ঞাসা করুন
- ব্যবহারকারীকে ইইউ প্রবিধানের সম্মতি প্রত্যাহার করার অনুমতি দেওয়ার জন্য একটি এন্ট্রি পয়েন্ট রেন্ডার করুন।
- মার্কিন যুক্তরাষ্ট্রের রাজ্য বিধিবিধানের জন্য ডিফল্ট 'বিক্রি করবেন না' লিঙ্কটি ওভাররাইড করুন।
- ব্যবহারকারীর ইইউ প্রবিধান এবং গুগল কনসেন্ট মোড স্ট্যাটাসের উপর ভিত্তি করে শর্তসাপেক্ষে আপনার গুগল অ্যাডস এবং অ্যানালিটিক্স ট্যাগ লোড করুন।
এবং আরও অনেক কিছু।
শিল্প-মানসম্মত প্রোটোকল ব্যবহার করে ব্যবহারকারীর সম্মতি সংগ্রহ করতে আপনি এই টুলগুলোও ব্যবহার করতে পারেন:
- IAB TCF v2 স্পেক ব্যবহার করে GDPR সম্মতি
- IAB GPP স্পেক ব্যবহার করে মার্কিন রাজ্য প্রবিধান থেকে অপ্ট-আউট
এইসব ক্ষেত্রে, ঐ API-গুলোর মাধ্যমে সম্মতির অবস্থা জানানো হয়।
আপনি আপনার সাইটে এই ব্যবহারকারী মেসেজিং কার্যকারিতাটি কয়েকটি উপায়ে প্রয়োগ করতে পারেন:
- বেশিরভাগ ক্ষেত্রেই, আপনার পুনরায় ট্যাগ করার কোনো প্রয়োজন নেই - প্রাসঙ্গিক প্রোডাক্টে মেসেজটি প্রকাশিত হওয়ার সাথে সাথেই আপনার বিদ্যমান গুগল পাবলিশার ট্যাগ বা অ্যাডসেন্স ট্যাগ ব্যবহারকারীর মেসেজগুলো প্রদর্শন করে।
- আপনি যদি বিজ্ঞাপন ব্লকিং পুনরুদ্ধারের বার্তাটি ব্যবহার করেন, তাহলে আপনাকে আপনার পৃষ্ঠায় স্পষ্টভাবে বিজ্ঞাপন ব্লকিং ট্যাগটি যোগ করতে হবে। আরও তথ্যের জন্য অ্যাড ম্যানেজার এবং অ্যাডসেন্স ট্যাগিং নির্দেশাবলী দেখুন।
googlefc হলো সেই গ্লোবাল নেমস্পেস যা জাভাস্ক্রিপ্ট Window ব্যবহারকারীর মেসেজিং কার্যকারিতা তার এপিআই-এর জন্য ব্যবহার করে।
মাঠের সারসংক্ষেপ
| নাম | প্রকার | সংজ্ঞা |
|---|---|---|
googlefc.controlledMessagingFunction | ফাংশন(!অবজেক্ট) | একটি ফাংশন যা নির্ধারণ করে যে কোনো মেসেজিং চালিয়ে যাওয়া হবে কিনা। এই কার্যকারিতাটি সকল প্রকার মেসেজের জন্য সমর্থিত। |
googlefc.callbackQueue | !অ্যারে<!অবজেক্ট<স্ট্রিং, ফাংশন()>> | !অ্যারে<ফাংশন()> | !গুগলএফসি.কলব্যাককিউ | ব্যবহারকারীর মেসেজিং কোয়েরিগুলোর অ্যাসিঙ্ক্রোনাস এক্সিকিউশনের জন্য কলব্যাক কিউ-এর রেফারেন্স। |
googlefc.CallbackQueue | !বস্তু | কলব্যাক কিউ অবজেক্টের ধরণ। |
googlefc.AdBlockerStatusEnum | !Object<string, number> | ব্যবহারকারীর অ্যাড ব্লকার অবস্থা বোঝানোর জন্য একটি এনাম। |
googlefc.AllowAdsStatusEnum | !Object<string, number> | ব্যবহারকারীর বিজ্ঞাপন অনুমোদনের অবস্থা বোঝানোর জন্য একটি এনাম (enum)। |
googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum | !Object<string, number> | ব্যবহারকারীর মার্কিন অঙ্গরাজ্যগুলো থেকে অপ্ট-আউট করার প্রাথমিক অবস্থা বোঝানোর জন্য একটি এনাম। এটি ব্যবহারকারীর অবস্থানরত মার্কিন অঙ্গরাজ্যকে বিবেচনায় নেয়। |
googlefc.GoogleFcConsentModeUserStatus | !বস্তু | googlefc.getGoogleConsentModeValues এর রিটার্ন টাইপ। |
googlefc.ConsentModePurposeStatusEnum | !Object<string, number> | সম্মতি পদ্ধতির উদ্দেশ্যে অন্তিম ব্যবহারকারীর সিদ্ধান্ত উপস্থাপনের জন্য একটি এনাম (enum)। |
googlefc.usstatesoptout.overrideDnsLink | অসংজ্ঞায়িত|বুলিয়ান | একটি বুলিয়ান যা 'ট্রু' সেট করে আপনার নিজস্ব 'বিক্রি বা শেয়ার করবেন না' লিঙ্ক ব্যবহার করা যাবে। |
googlefc.ccpa.InitialCcpaStatusEnumপুরোনো পদ্ধতি। googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum ব্যবহার করা শ্রেয়। | !Object<string, number> | ব্যবহারকারীর প্রাথমিক মার্কিন অঙ্গরাজ্য নিয়ন্ত্রণ স্থিতি বোঝানোর জন্য একটি এনাম। |
googlefc.ccpa.overrideDnsLinkপুরোনো পদ্ধতি। googlefc.usstatesoptout.overrideDnsLink ব্যবহার করা শ্রেয়। | অসংজ্ঞায়িত|বুলিয়ান | একটি বুলিয়ান যা 'ট্রু' সেট করে আপনার নিজস্ব 'বিক্রি বা শেয়ার করবেন না' লিঙ্ক ব্যবহার করা যাবে। |
পদ্ধতির সারাংশ
| নাম | রিটার্ন টাইপ | সংজ্ঞা |
|---|---|---|
googlefc.showRevocationMessage() | অসংজ্ঞায়িত | সম্মতির রেকর্ডটি মুছে দেয় এবং ব্যবহারকারীর জন্য প্রযোজ্য সম্মতি বার্তাটি দেখানোর জন্য googlefc স্ক্রিপ্টটি পুনরায় লোড করে। |
googlefc.getAdBlockerStatus() | সংখ্যা | ব্যবহারকারীর বিজ্ঞাপন ব্লক করার অবস্থার উপর নির্ভর করে AdBlockerStatusEnum এ একটি মান ফেরত দেয়। |
googlefc.getAllowAdsStatus() | সংখ্যা | ব্যবহারকারীর বিজ্ঞাপন অনুমোদনের স্থিতির উপর নির্ভর করে AllowAdsStatusEnum এ একটি মান ফেরত দেয়। |
googlefc.usstatesoptout.getInitialUsStatesOptOutStatus() | সংখ্যা | ব্যবহারকারীর প্রাথমিক মার্কিন অঙ্গরাজ্যের নিয়মকানুন থেকে অপ্ট-আউট স্ট্যাটাসের উপর নির্ভর করে InitialUsStatesOptOutStatusEnum এ একটি মান ফেরত দেয়। এটি ব্যবহারকারীর বর্তমান অবস্থানের উপর ভিত্তি করে তার জন্য প্রযোজ্য নিয়মকানুনকে বিবেচনায় নেয়। |
googlefc.usstatesoptout.openConfirmationDialog(function(boolean)) | অসংজ্ঞায়িত | ডিফল্ট 'বিক্রি বা শেয়ার করবেন না' লিঙ্কটি ওভাররাইড করা হলে, মার্কিন যুক্তরাষ্ট্রের রাজ্য বিধিমালা থেকে অপ্ট-আউট করার নিশ্চিতকরণ ডায়ালগটি খোলে। |
googlefc.getGoogleConsentModeValues() | !বস্তু | একটি googlefc.GoogleFcConsentModeUserStatus অবজেক্ট ফেরত দেয়, যাতে ব্যবহারকারীর বর্তমান সম্মতি মোডের মানগুলো থাকে এবং প্রতিটি উপলব্ধ সম্মতি মোডের উদ্দেশ্যের জন্য একটি করে মান থাকে। |
googlefc.ccpa.getInitialCcpaStatus()পুরোনো পদ্ধতি। googlefc.usstatesoptout.getInitialUsStatesOptOutStatus() ব্যবহার করা শ্রেয়। | সংখ্যা | ব্যবহারকারীর প্রাথমিক মার্কিন রাজ্য বিধিমালা থেকে অপ্ট-আউট স্থিতির উপর নির্ভর করে InitialCcpaStatusEnum এ একটি মান ফেরত দেয়। |
googlefc.ccpa.openConfirmationDialog(function(boolean))পুরোনো পদ্ধতি। googlefc.usstatesoptout.openConfirmationDialog() ব্যবহার করা শ্রেয়। | অসংজ্ঞায়িত | ডিফল্ট 'বিক্রি বা শেয়ার করবেন না' লিঙ্কটি ওভাররাইড করা হলে, মার্কিন যুক্তরাষ্ট্রের রাজ্য বিধিমালা থেকে অপ্ট-আউট করার নিশ্চিতকরণ ডায়ালগটি খোলে। |
আপনার সাইটে পরীক্ষা এবং ডিবাগিং
প্রাইভেসি ও মেসেজিং এমন ডিবাগিং এবং টেস্টিং কার্যকারিতা প্রদান করে, যার মাধ্যমে আপনি দেখতে পারেন যে আপনার আসল সাইটে নির্দিষ্ট বার্তা, বার্তার উপ-প্রকার বা বার্তার সংমিশ্রণ কেমন দেখায়।
পূর্বশর্তসমূহ:
- আপনি যে বার্তা(গুলি) প্রিভিউ করতে চান, তা অবশ্যই সেই সাইটে প্রকাশিত থাকতে হবে যেখানে আপনি পরীক্ষা করছেন।
নিম্নলিখিত ডিবাগিং ইউআরএল প্যারামিটারগুলো ব্যবহার করে আপনি আপনার সাইটে একটি লাইভ প্রিভিউ দেখতে পারেন:
| ডিবাগ প্যারামিটার | অনুমোদিত মান |
|---|---|
fc | alwaysshow (ডিবাগ/প্রিভিউ মোড চালু করতে) |
fctype | ab (বিজ্ঞাপন ব্লক করার বার্তা), ccpa (মার্কিন অঙ্গরাজ্যের আইনকানুন থেকে বেরিয়ে আসার বার্তা), gdpr (জিডিপিআর-এর সম্মতিসূচক বার্তা), monetization (অফারওয়াল বার্তা), usfl (মার্কিন অঙ্গরাজ্যের আইনকানুন থেকে বেরিয়ে আসার বার্তা, বিশেষত ফ্লোরিডার জন্য), usnat (মার্কিন অঙ্গরাজ্যের আইনকানুন থেকে বেরিয়ে আসার বার্তা, ফ্লোরিডা ছাড়া বাকি সব সমর্থিত অঙ্গরাজ্যের জন্য; ccpa এর সমতুল্য) |
আপনার সাইটে (foo.com) প্রিভিউ দেখানোর জন্য এটি কীভাবে ব্যবহার করবেন তার কিছু উদাহরণ:
- মার্কিন অঙ্গরাজ্যের আইন থেকে অপ্ট-আউট মেসেজিং পরীক্ষা করুন --
http://foo.com/?fc=alwaysshow&fctype=ccpa - GDPR বার্তা পরীক্ষা করুন --
http://foo.com/?fc=alwaysshow&fctype=gdpr
ক্ষেত্রসমূহ: ব্যাখ্যা ও উদাহরণ
googlefc.controlledMessagingFunction {function(!Object)}
একটি ফাংশন যা নির্ধারণ করে বার্তাগুলি প্রদর্শিত হবে কি না। এটি পাবলিশার-নির্দিষ্ট শর্ত, যেমন সাবস্ক্রাইবারের স্ট্যাটাস বা পেজের ইউআরএল-এর উপর ভিত্তি করে বার্তা রেন্ডারিং নিয়ন্ত্রণ করতে ব্যবহার করা যেতে পারে।
অন্যান্য স্ক্রিপ্ট লোড হওয়ার আগে আপনি যখন উইন্ডোতে googlefc.controlledMessagingFunction সংজ্ঞায়িত করেন, তখন message.proceed(boolean) কল না করা পর্যন্ত বার্তাগুলি প্রদর্শিত হয় না। message.proceed(true) কল করলে মেসেজিং স্বাভাবিকভাবে চলতে থাকে, অন্যদিকে message.proceed(false) কল করলে পেজভিউতে কোনো বার্তা দেখানো বন্ধ হয়ে যায়।
উদাহরণস্বরূপ: ধরুন আপনার পেজে এই স্ক্রিপ্টটি আছে, যা determineIfUserIsSubscriber() একটি অ্যাসিঙ্ক ফাংশন তৈরি করে এবং এটি লগ-ইন করা ব্যবহারকারী একজন সাবস্ক্রাইবার কিনা তা যাচাই করে।
<head>
<script>
window.isSubscriber = undefined;
function determineIfUserIsSubscriber() {
if (isSubscriber !== undefined) {
return isSubscriber;
}
return new Promise(resolve => {
setTimeout(() => {
// Change this to true if you want to test what subscribers would see.
window.isSubscriber = false;
resolve(window.isSubscriber);
}, 1000);
});
}
</script>
</head>
এটি একটি উদাহরণ যেখানে আপনি googlefc.controlledMessagingFunction ব্যবহার করে শুধুমাত্র সাবস্ক্রাইবার নন এমন ব্যক্তিদের বার্তা দেখাতে পারেন।
<head>
<script>
// Define googlefc and the controlled messaging function on the Window.
window.googlefc = window.googlefc || {};
googlefc.controlledMessagingFunction = async (message) => {
// Determine if the user is a subscriber asynchronously.
const isSubscriber = await determineIfUserIsSubscriber();
if (isSubscriber) {
// If the user is a subscriber, don't show any messages.
message.proceed(false);
} else {
// Otherwise, show messages as usual.
message.proceed(true);
}
}
</script>
</head>
এই ফিচারটির একটি এক্সটেনশনও রয়েছে, যা পাবলিশারদেরকে শুধুমাত্র নির্দিষ্ট কিছু মেসেজ টাইপ দমন করার সুযোগ দেয়। অন্যান্য মেসেজ টাইপ দমন না করে নির্দিষ্ট কিছু মেসেজ টাইপ দমন করতে এই ফিচার এক্সটেনশনটি ব্যবহার করুন।
message.proceed() googlefc.MessageTypeEnum টাইপের একটি Array অতিরিক্ত প্যারামিটার হিসেবে পাস করার মাধ্যমে মেসেজ টাইপ-নির্দিষ্ট নিয়ন্ত্রিত মেসেজিং সম্পন্ন করা হয়।
উদাহরণ: এটি googlefc.controlledMessagingFunction ব্যবহার করে শুধুমাত্র সাবস্ক্রাইবারদের জন্য অফারওয়াল পরিবেশন দমন করার একটি উদাহরণ, যেখানে অন্যান্য বার্তার ধরন দমন করা হয় না:
<head>
<script>
// Define googlefc and the controlled messaging function on the Window.
window.googlefc = window.googlefc || {};
googlefc.controlledMessagingFunction = async (message) => {
// Determine if the Offerwall should display or not.
const shouldDisplayOfferwall = await determineIfUserIsSubscriber();
const applicableMessageTypes = [];
if (!shouldDisplayOfferwall) {
// Do not show the Offerwall, but allow other message types to display.
applicableMessageTypes.push(window.googlefc.MessageTypeEnum.OFFERWALL);
message.proceed(false, applicableMessageTypes);
} else {
// Otherwise, show messages as usual.
message.proceed(true);
}
}
</script>
</head>
মেসেজিং-সম্পর্কিত কলগুলির অ্যাসিঙ্ক্রোনাস এক্সিকিউশনের জন্য গ্লোবাল কলব্যাক কিউ-এর রেফারেন্স। যেকোনো ফাংশন কল করার একমাত্র সমর্থিত উপায় হলো সেটিকে callbackQueue তে যুক্ত করা।
যেহেতু বিভিন্ন ধরনের ডেটা বিভিন্ন সময়ে উপলব্ধ হয়, তাই ফাংশনটিকে একটি ম্যাপ হিসেবে যোগ করা উচিত, যেখানে নিম্নলিখিত স্ট্রিংগুলির মধ্যে একটি হবে কী (key) এবং যে ফাংশনটি কার্যকর করা হবে তা হবে ভ্যালু (value)।
সমর্থিত কী-গুলো:
| মূল নাম | ব্যবহার | আপেক্ষিক বিলম্ব |
|---|---|---|
CONSENT_API_READY | CONSENT_API_READY কী-সহ কলব্যাক কিউতে পুশ করা ফাংশনগুলো তখন এক্সিকিউট হয়, যখন সমর্থিত কনসেন্ট ফ্রেমওয়ার্কগুলোর এপিআইগুলো সংজ্ঞায়িত এবং কলযোগ্য হয়। এই পর্যায় থেকে, পরবর্তীতে যোগ করা যেকোনো CONSENT_API_READY কী-যুক্ত ফাংশনের এক্সিকিউশন সিনক্রোনাস হয়। ফ্রেমওয়ার্ক-নির্দিষ্ট বিস্তারিত তথ্যের জন্য IAB ফ্রেমওয়ার্ক সম্পর্কিত বিভাগগুলো দেখুন। | নিম্ন |
CONSENT_DATA_READY | CONSENT_DATA_READY কী-সহ কলব্যাক কিউতে পুশ করা ফাংশনগুলো তখন এক্সিকিউট হয়, যখন কোনো সমর্থিত কনসেন্ট ফ্রেমওয়ার্কের অধীনে ব্যবহারকারীর সম্মতি জানা যায় (যা পূর্ববর্তী কোনো এক্সিকিউশন থেকে অথবা ব্যবহারকারী কনসেন্ট মেসেজটির সাথে ইন্টারঅ্যাক্ট করার মাধ্যমে হতে পারে)। এই পর্যায় থেকে, পরবর্তীতে যোগ করা CONSENT_DATA_READY কী-যুক্ত যেকোনো ফাংশনের এক্সিকিউশন সিনক্রোনাস হয়। | উচ্চ |
AD_BLOCK_DATA_READY | AD_BLOCK_DATA_READY কী-সহ কলব্যাক কিউতে পুশ করা ফাংশনগুলো তখন এক্সিকিউট হয়, যখন ফ্লো-তে অ্যাড ব্লকিং ডেটা উপলব্ধ হয়। এই পর্যায় থেকে, পরবর্তীতে যোগ করা AD_BLOCK_DATA_READY কী-যুক্ত যেকোনো ফাংশনের এক্সিকিউশন সিনক্রোনাস হয়। | উচ্চ |
CONSENT_MODE_DATA_READY | CONSENT_MODE_DATA_READY কী ব্যবহার করে কলব্যাক কিউতে পুশ করা ফাংশনগুলো তখন এক্সিকিউট হয়, যখন ফ্লো-তে গুগল [কনসেন্ট মোড](https://support.google.com/google-ads/answer/10000067) ডেটা (গুগল অ্যাডস এবং অ্যানালিটিক্স ট্যাগগুলির জন্য ব্যবহৃত) উপলব্ধ হয়। কনসেন্ট মোড ডেটা প্রস্তুত হয়ে গেলে, আপনি যেকোনো সময় googlefc.getGoogleConsentModeValues ব্যবহার করে কনসেন্ট মোডের ভ্যালুগুলো অ্যাক্সেস করতে পারবেন। | মাঝারি |
INITIAL_US_STATES_OPT_OUT_DATA_READY | INITIAL_US_STATES_OPT_OUT_DATA_READY কী-সহ কলব্যাক কিউতে পুশ করা ফাংশনগুলো তখন এক্সিকিউট হয়, যখন ফ্লো-তে মার্কিন যুক্তরাষ্ট্রের রাজ্যভিত্তিক প্রবিধানের ডেটা উপলব্ধ হয়। উল্লেখ্য যে, মার্কিন যুক্তরাষ্ট্রের রাজ্যভিত্তিক প্রবিধানের ডেটার জন্য পরবর্তী যেকোনো অনুরোধ সরাসরি GPP API ( __gpp ) কল করে সংগ্রহ করতে হবে। | মাঝারি |
INITIAL_CCPA_DATA_READY | মার্কিন যুক্তরাষ্ট্রের রাজ্য বিধিবিধানের জন্য লিগ্যাসি কী। INITIAL_US_STATES_OPT_OUT_DATA_READY পছন্দনীয়।INITIAL_CCPA_DATA_READY কী ব্যবহার করে কলব্যাক কিউতে পুশ করা ফাংশনগুলো তখন এক্সিকিউট হয়, যখন ফ্লো-তে মার্কিন যুক্তরাষ্ট্রের রাজ্যভিত্তিক প্রবিধানের ডেটা উপলব্ধ হয়। উল্লেখ্য যে, মার্কিন যুক্তরাষ্ট্রের রাজ্যভিত্তিক প্রবিধানের ডেটার জন্য পরবর্তী যেকোনো অনুরোধ সরাসরি GPP API ( __gpp ) কল করে সংগ্রহ করতে হবে। | মাঝারি |
googlefc.CallbackQueue {!Object}
পদ্ধতির সারসংক্ষেপ:
| নাম | প্রকার | প্যারামিটার | রিটার্ন টাইপ | ভূমিকা |
|---|---|---|---|---|
push(data) | সংখ্যা | data : একটি কী-ভ্যালু পেয়ার, যেখানে কী হিসেবে থাকে ডেটা অ্যাভেইলেবিলিটি টাইপগুলোর মধ্যে একটি এবং ভ্যালু হিসেবে থাকে এক্সিকিউট করার জন্য একটি জাভাস্ক্রিপ্ট ফাংশন। গ্রহণযোগ্য ডেটা অ্যাভেইলেবিলিটি কীগুলো হলো CONSENT_API_READY , CONSENT_DATA_READY , AD_BLOCK_DATA_READY , INITIAL_US_STATES_OPT_OUT_DATA_READY , CONSENT_MODE_DATA_READY এবং (লেগ্যাসি) INITIAL_CCPA_DATA_READY । | এখন পর্যন্ত যোগ করা কমান্ডের সংখ্যা। এটি অ্যারের বর্তমান দৈর্ঘ্য ফেরত দেয়। | প্রদত্ত ফাংশনটি প্রথমে ডেটা উপলব্ধ হওয়ার ক্রমানুসারে এবং তারপর কিউতে ফাংশনগুলো যুক্ত হওয়ার ক্রমানুসারে কার্যকর করে। |
উদাহরণ:
<script>
// Make sure that the properties exist on the window.
window.googlefc = window.googlefc || {};
window.googlefc.usstatesoptout = window.googlefc.usstatesoptout || {};
window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];
// Queue the callback on the callbackQueue.
googlefc.callbackQueue.push({
'AD_BLOCK_DATA_READY':
() => {
if (googlefc.getAdBlockerStatus() == googlefc.AdBlockerStatusEnum.NO_AD_BLOCKER) {
// Handle a non-ad blocking user.
}
}
});
</script>
googlefc.AdBlockerStatusEnum {!Object<string, number>}
এটি ব্যবহারকারীর বিজ্ঞাপন ব্লক করার বিভিন্ন অবস্থা নির্দেশ করে। অবস্থাগুলো হলো:
googlefc.AdBlockerStatusEnum = {
// Something failed, in an unknown state.
UNKNOWN: 0,
// The user was running an extension level ad blocker.
EXTENSION_AD_BLOCKER: 1,
// The user was running a network level ad blocker.
NETWORK_LEVEL_AD_BLOCKER: 2,
// The user was not blocking ads.
NO_AD_BLOCKER: 3,
};
googlefc.AllowAdsStatusEnum {!Object<string, number>}
এটি ব্যবহারকারীর বিজ্ঞাপন ব্লক করার এবং বিজ্ঞাপন অনুমোদনের বিভিন্ন অবস্থা নির্দেশ করে। অবস্থাগুলো হলো:
googlefc.AllowAdsStatusEnum = {
// Something failed, in an unknown state.
UNKNOWN: 0,
// User is currently using an ad blocker, was never using an ad blocker, or
// allowed ads, but not because they saw the Privacy & messaging message.
ADS_NOT_ALLOWED: 1,
// User is no longer using an ad blocker after seeing the ad blocking message.
ADS_ALLOWED: 2,
};
googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum{!Object<string, number>}
এটি ব্যবহারকারীর বিভিন্ন মার্কিন অঙ্গরাজ্যের নিয়মকানুন থেকে অব্যাহতি পাওয়ার অবস্থা নির্দেশ করে। অবস্থাগুলো হলো:
googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum = {
// Something failed, status unknown.
UNKNOWN: 0,
// No US state regulation applies to this user.
DOES_NOT_APPLY: 1,
// A US state regulation applies to this user, and the user has not opted out yet.
NOT_OPTED_OUT: 2,
// A US state regulation applies to this user, and the user has opted out.
OPTED_OUT: 3,
};
googlefc.GoogleFcConsentModeUserStatus{!Object}
googlefc.getGoogleConsentModeValues দ্বারা ফেরত আসা অবজেক্টের ধরণ।
interface GoogleFcConsentModeUserStatus {
// End user consent decision value for the ad_storage consent mode purpose.
adStoragePurposeConsentStatus: number;
// End user consent decision value for the ad_user_data consent mode purpose.
adUserDataPurposeConsentStatus: number;
// End user consent decision value for the ad_personalization consent mode purpose.
adPersonalizationPurposeConsentStatus: number;
// End user consent decision value for the analytics_storage consent mode purpose.
analyticsStoragePurposeConsentStatus: number;
}
প্রতিটি ফিল্ডের মান হলো একটি সংখ্যা, যা googlefc.ConsentModePurposeStatusEnum enum মানের সাথে সঙ্গতিপূর্ণ।
googlefc.ConsentModePurposeStatusEnum{!Object<string, number>}
একটি সম্মতি মোডের উদ্দেশ্যে ব্যবহারকারীর সম্ভাব্য বিভিন্ন সম্মতির মান উপস্থাপন করে। বিভিন্ন মানগুলো হলো:
googlefc.ConsentModePurposeStatusEnum = {
// Indicates either an error state, or that consent mode data is not ready
// yet.
UNKNOWN: 0,
// Consent is granted for the given consent mode purpose.
GRANTED: 1,
// Consent is denied for the given consent mode purpose.
DENIED: 2,
// Consent is not applicable for the given consent mode purpose.
NOT_APPLICABLE: 3,
// The consent mode purpose has not been configured for use in the Privacy &
// messaging UI.
NOT_CONFIGURED: 4
};
googlefc.usstatesoptout.overrideDnsLink{undefined|boolean}
ডিফল্ট 'বিক্রি বা শেয়ার করবেন না' লিঙ্কটি লুকাতে এবং আপনার নিজস্ব কাস্টম 'বিক্রি বা শেয়ার করবেন না' লিঙ্ক ব্যবহার করতে এই ফিল্ডটি 'true' সেট করুন।
উদাহরণ:
<script>
// Make sure that the properties exist on the window.
window.googlefc = window.googlefc || {};
window.googlefc.usstatesoptout = window.googlefc.usstatesoptout || {};
// Signals that the default DNS link will be overridden.
googlefc.usstatesoptout.overrideDnsLink = true;
</script>
googlefc.ccpa.InitialCcpaStatusEnum{!Object<string, number>}
এটি ব্যবহারকারীর বিভিন্ন মার্কিন অঙ্গরাজ্যের নিয়মকানুন থেকে অব্যাহতি পাওয়ার অবস্থা নির্দেশ করে। অবস্থাগুলো হলো:
googlefc.ccpa.InitialCcpaStatusEnum = {
// Something failed, in an unknown state.
UNKNOWN: 0,
// No US state regulation applies to this user.
CCPA_DOES_NOT_APPLY: 1,
// A US state regulation applies to this user, and the user has not opted out yet.
NOT_OPTED_OUT: 2,
// A US state regulation applies to this user, and the user has opted out.
OPTED_OUT: 3,
};
googlefc.ccpa.overrideDnsLink{undefined|boolean}
ডিফল্ট 'বিক্রি বা শেয়ার করবেন না' লিঙ্কটি লুকাতে এবং আপনার নিজস্ব কাস্টম 'বিক্রি বা শেয়ার করবেন না' লিঙ্ক ব্যবহার করতে এই ফিল্ডটি 'true' সেট করুন। মনে রাখবেন, যদি আপনি এই ফিল্ডটি 'true' সেট করেন, তবে আপনার সাইটে একটি 'বিক্রি বা শেয়ার করবেন না' লিঙ্ক প্রদর্শনের দায়িত্ব আপনার। এই ফিল্ডটি openConfirmationDialog সাথে একত্রে ব্যবহার করা উচিত।
উদাহরণ:
<script>
// Make sure that the properties exist on the window.
window.googlefc = window.googlefc || {};
window.googlefc.ccpa = window.googlefc.ccpa || {};
// Signals that the default DNS link will be overridden.
googlefc.ccpa.overrideDnsLink = true;
</script>
পদ্ধতি: ব্যাখ্যা ও উদাহরণ
googlefc.getConsentStatus(): {number}
googlefc.getConsentedProviderIds(): {!Array<string>}
- এখন কল করা হলে এটি সর্বদা একটি খালি তালিকা ফেরত দেয়।
googlefc.showRevocationMessage(): {undefined}
যদি থাকে, তাহলে বর্তমান ইইউ প্রবিধানের সম্মতি রেকর্ডটি মুছে দেয় এবং ব্যবহারকারীকে তার সম্মতির সিদ্ধান্ত পরিবর্তন করার সুযোগ দিতে ইইউ প্রবিধানের বার্তাটি পুনরায় দেখায়।
উদাহরণ ১ : এমন একটি লিঙ্ক সেট আপ করার সহজ উদাহরণ যা ক্লিক করলে প্রত্যাহারের বার্তা দেখাবে:
<a href="javascript:window.googlefc.showRevocationMessage();">Privacy and cookie settings</a>
<a href="javascript:window.googlefc.showRevocationMessage();" style="display: none;" id="revocation-link">Privacy and cookie settings</a>
<script>
window.googlefc = window.googlefc || {};
window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];
window.googlefc.callbackQueue.push({
'CONSENT_API_READY':
() => {
// Update the revocation link so that it shows on the page.
const revocationLink = document.getElementById('revocation-link');
revocationLink.style.display = 'block';
}
});
</script>
উদাহরণ ২ : যদি আপনি চান যে লিঙ্কটি কেবল তখনই দৃশ্যমান হবে যখন বর্তমান ব্যবহারকারীর উপর EU-এর নিয়মকানুন প্রযোজ্য হবে, তাহলে একবার gdprApplies মান নির্ধারিত হয়ে গেলে, তার উপর ভিত্তি করে শর্তসাপেক্ষে বাটনটির প্রদর্শন আপডেট করার জন্য আপনি TCF API-এর সাথে googlefc কলব্যাক কিউ ব্যবহার করতে পারেন। এর জন্য, CONSENT_API_READY API কী-টি ব্যবহার করুন।
<a href="javascript:window.googlefc.showRevocationMessage();" style="display: none;" id="revocation-link">Privacy and cookie settings</a>
<script>
window.googlefc = window.googlefc || {};
window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];
window.googlefc.callbackQueue.push({
'CONSENT_API_READY':
// Specifying "0" for the version parameter will result in the API call
// using the latest version of the TCF spec.
() => __tcfapi('addEventListener', 0, (tcdata, success) => {
const revocationLink = document.getElementById('revocation-link');
if (!success || !tcdata) {
// Something went wrong, don't show the revocation link.
revocationLink.style.display = 'none';
}
else if (tcdata.gdprApplies) {
revocationLink.style.display = 'block';
} else {
// GDPR does not apply so don't show the revocation link.
revocationLink.style.display = 'none';
}
})
});
</script>
googlefc.getAdBlockerStatus(): {number}
ব্যবহারকারীর বিজ্ঞাপন ব্লক করার অবস্থার উপর নির্ভর করে AdBlockerStatusEnum-এ একটি মান ফেরত দেয়। এই ফাংশনের জন্য যে কী-টি নির্দিষ্ট করতে হবে তা হলো AD_BLOCK_DATA_READY ।
উদাহরণ:
<script>
// Make sure that the properties exist on the window.
window.googlefc = window.googlefc || {};
window.googlefc.usstatesoptout = window.googlefc.usstatesoptout || {};
window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];
// Queue the callback on the callbackQueue.
googlefc.callbackQueue.push({
'AD_BLOCK_DATA_READY':
() => {
switch (googlefc.getAdBlockerStatus()) {
case googlefc.AdBlockerStatusEnum.EXTENSION_LEVEL_AD_BLOCKER:
case googlefc.AdBlockerStatusEnum.NETWORK_LEVEL_AD_BLOCKER:
// Insert handling for cases where the user is blocking ads.
break;
case googlefc.AdBlockerStatusEnum.NO_AD_BLOCKER:
// Insert handling for cases where the user is not blocking ads.
break;
case googlefc.AdBlockerStatusEnum.UNKNOWN:
// Insert handling for unknown cases.
break;
}
}
});
</script>
googlefc.getAllowAdsStatus(): {number}
ব্যবহারকারীর বিজ্ঞাপন অনুমোদনের স্থিতির উপর নির্ভর করে AllowAdsStatusEnum এ একটি মান ফেরত দেয়। এই ফাংশনের জন্য যে কী-টি নির্দিষ্ট করতে হবে তা হলো AD_BLOCK_DATA_READY ।
উদাহরণ:
<script>
// Make sure that the properties exist on the window.
window.googlefc = window.googlefc || {};
window.googlefc.usstatesoptout = window.googlefc.usstatesoptout || {};
window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];
// Queue the callback on the callbackQueue.
googlefc.callbackQueue.push({
'AD_BLOCK_DATA_READY':
() => {
switch (googlefc.getAllowAdsStatus()) {
case googlefc.AllowAdsStatusEnum.ADS_NOT_ALLOWED:
// Insert handling for cases where the user has not allowed ads.
// The user may have never been an ad blocker.
break;
case googlefc.AllowAdsStatusEnum.ADS_ALLOWED:
// Insert handling for cases where the user saw the ad blocking
// message and allowed ads on the site.
break;
case googlefc.AllowAdsStatusEnum.UNKNOWN:
// Insert handling for unknown cases.
break;
}
}
});
</script>
googlefc.usstatesoptout.getInitialUsStatesOptOutStatus(): {number}
ব্যবহারকারীর মার্কিন যুক্তরাষ্ট্রের রাজ্য আইনকানুন থেকে অপ্ট-আউট স্ট্যাটাসের উপর নির্ভর করে InitialUsStatesOptOutStatusEnum এ একটি মান রিটার্ন করে। এই ফাংশনের জন্য যে কী-টি নির্দিষ্ট করতে হবে তা হলো INITIAL_US_STATES_OPT_OUT_DATA_READY । উল্লেখ্য যে, মার্কিন যুক্তরাষ্ট্রের রাজ্য আইনকানুন সংক্রান্ত ডেটার জন্য পরবর্তী যেকোনো অনুরোধ সরাসরি GPP API ( __gpp ) কল করে সংগ্রহ করতে হবে।
আপনি যদি ‘বিক্রি বা শেয়ার করবেন না’ লিঙ্কটি উপেক্ষা করেন, তাহলে আপনার সাইটে কখন লিঙ্কটি অন্তর্ভুক্ত করবেন তা নির্ধারণ করতে এই পদ্ধতিটি ব্যবহার করতে পারেন।
উদাহরণ:
<script>
// Make sure that the properties exist on the window.
window.googlefc = window.googlefc || {};
window.googlefc.usstatesoptout = window.googlefc.usstatesoptout || {}
window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];
// Queue the callback on the callbackQueue.
googlefc.callbackQueue.push({
'INITIAL_US_STATES_OPT_OUT_DATA_READY':
() => {
switch (googlefc.usstatesoptout.getInitialUsStatesOptOutStatus()) {
case googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum.DOES_NOT_APPLY:
// Insert handling for cases where no US state regulation applies to
// the user.
break;
case googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum.NOT_OPTED_OUT:
// Insert handling for cases where a US state regulation applies to
// the user, and the user has not opted out.
break;
case googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum.OPTED_OUT:
// Insert handling for cases where a US state regulation applies to the
// user, and the user has opted out.
break;
}
}
});
</script>
googlefc.usstatesoptout.openConfirmationDialog(function(boolean)): {undefined}
ডিফল্ট 'বিক্রি করবেন না' লিঙ্কটি ওভাররাইড করা হলে, এটি মার্কিন যুক্তরাষ্ট্রের রাজ্য বিধিমালা থেকে অপ্ট-আউট করার নিশ্চিতকরণ ডায়ালগ খোলে। ব্যবহারকারী যখন নিশ্চিতকরণ ডায়ালগটির সাথে ইন্টারঅ্যাক্ট করেন, তখন প্রদত্ত কলব্যাক ফাংশনটি কল করা হয়; যদি ব্যবহারকারী অপ্ট-আউট করার সিদ্ধান্ত নেন তবে true এবং অন্যথায় false ব্যবহৃত হয়।
উদাহরণ:
<script>
// This callback will be called with the user's US state regulation opt-out
// decision.
const usStateRegCompletionCallback = (userOptedOut) => {
// Insert handling for user opt-out status here.
}
// Invoke the US state regulations confirmation dialog when the user clicks the
// link.
document.getElementById("your-custom-do-not-sell-link").addEventListener(
"click", () => googlefc.usstatesoptout.openConfirmationDialog(usStateRegCompletionCallback));
</script>
googlefc.getGoogleConsentModeValues(): {!Object}
ব্যবহারকারীর সম্মতির সিদ্ধান্তের উপর ভিত্তি করে, প্রতিটি সম্মতি মোডের উদ্দেশ্যের বর্তমান মান সম্বলিত একটি googlefc.GoogleFcConsentModeUserStatus অবজেক্ট ফেরত দেয়।
উদ্দিষ্ট ব্যবহারের জন্য ইইউ প্রবিধানের সাথে সম্মতি মোড সমর্থন সহ গুগল সম্মতি ব্যবস্থাপনা সমাধান ব্যবহার দেখুন।
googlefc.ccpa.getInitialCcpaStatus(): {number}
ব্যবহারকারীর মার্কিন যুক্তরাষ্ট্রের রাজ্য আইনকানুন থেকে অপ্ট-আউট স্ট্যাটাসের উপর নির্ভর করে InitialCcpaStatusEnum এ একটি মান রিটার্ন করে। এই ফাংশনের জন্য যে কী-টি নির্দিষ্ট করতে হবে তা হলো INITIAL_CCPA_DATA_READY । উল্লেখ্য যে, মার্কিন যুক্তরাষ্ট্রের রাজ্য আইনকানুন সংক্রান্ত ডেটার জন্য পরবর্তী যেকোনো অনুরোধ সরাসরি GPP API ( __gpp ) কল করে সংগ্রহ করতে হবে।
উদাহরণ:
<script>
// Make sure that the properties exist on the window.
window.googlefc = window.googlefc || {};
window.googlefc.ccpa = window.googlefc.ccpa || {}
window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];
// Queue the callback on the callbackQueue.
googlefc.callbackQueue.push({
'INITIAL_CCPA_DATA_READY':
() => {
switch (googlefc.ccpa.getInitialCcpaStatus()) {
case googlefc.ccpa.InitialCcpaStatusEnum.CCPA_DOES_NOT_APPLY:
// Insert handling for cases where no US state regulation applies to
// the user.
break;
case googlefc.ccpa.InitialCcpaStatusEnum.NOT_OPTED_OUT:
// Insert handling for cases where a US state regulation applies to
// the user, and the user has not opted out.
break;
case googlefc.ccpa.InitialCcpaStatusEnum.OPTED_OUT:
// Insert handling for cases where a US state regulation applies to the
// user, and the user has opted out.
break;
}
}
});
</script>
googlefc.ccpa.openConfirmationDialog(function(boolean)): {undefined}
ডিফল্ট 'বিক্রি করবেন না' লিঙ্কটি ওভাররাইড করা হলে, এটি মার্কিন যুক্তরাষ্ট্রের রাজ্য বিধিমালা থেকে অপ্ট-আউট করার নিশ্চিতকরণ ডায়ালগ খোলে। ব্যবহারকারী যখন নিশ্চিতকরণ ডায়ালগটির সাথে ইন্টারঅ্যাক্ট করেন, তখন প্রদত্ত কলব্যাক ফাংশনটি কল করা হয়। যদি ব্যবহারকারী অপ্ট-আউট করার সিদ্ধান্ত নেন, তবে ফাংশনটির মান true এবং অন্যথায় false ।
উদাহরণ:
<script>
// This callback will be called with the user's US state regulation opt-out
// decision.
const usStateRegCompletionCallback = (userOptedOut) => {
// Insert handling for user opt-out status here.
}
// Invoke the US state regulations confirmation dialog when the user clicks the
// link.
document.getElementById("your-custom-ccpa-do-not-sell-link").addEventListener(
"click", () => googlefc.ccpa.openConfirmationDialog(ccpaCompletionCallback));
</script>
GDPR-এর জন্য IAB TCF v2-এর সাথে Google সম্মতি ব্যবস্থাপনা সমাধান ব্যবহার করা
আপনি যদি IAB TCF v2 ফ্রেমওয়ার্কের অধীনে GDPR সম্মতি সংগ্রহের জন্য Google সম্মতি ব্যবস্থাপনা সমাধান ব্যবহার করেন, তাহলে আপনার IAB TCF v2 API ব্যবহার করা উচিত।
আপনি CONSENT_API_READY কলব্যাক কিউ কী ব্যবহার করে নিশ্চিত করতে পারেন যে, সংশ্লিষ্ট কলব্যাকগুলো কেবল তখনই আহ্বান করা হবে যখন পেজটিতে IAB TCF v2 API সংজ্ঞায়িত থাকবে। এটি IAB TCF v2 API-এর 'addEventListener' কমান্ডের সাথে একত্রে ব্যবহার করা উচিত।
উদাহরণ:
<script>
// Make sure that the properties exist on the window.
window.googlefc = window.googlefc || {};
window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];
// Queue the callback using the CONSENT_API_READY key on the callbackQueue.
window.googlefc.callbackQueue.push({
'CONSENT_API_READY':
() => __tcfapi('addEventListener', 2.2, (data, success) => {
// Do something with consent data value; this callback may be invoked
// multiple times as user completes consent flow.
})
});
</script>
আপনি CONSENT_DATA_READY কলব্যাক কিউ কী ব্যবহার করে এটা নিশ্চিত করতে পারেন যে, সংশ্লিষ্ট কলব্যাকগুলো কেবল তখনই চালু হবে যখন ব্যবহারকারীর সম্মতি সংগ্রহ করা হবে এবং IAB TCF v2 API ব্যবহার করে তা অ্যাক্সেসযোগ্য হবে। এটি 'addEventListener' কমান্ডের সাথে একত্রে ব্যবহার করা যেতে পারে - আপনার প্রদত্ত কলব্যাকের প্রথম চালুর সময় প্রাপ্ত ডেটাতে ব্যবহারকারীর সম্মতির নির্বাচনগুলো থাকবে (যতক্ষণ পর্যন্ত এই ব্যবহারকারীর জন্য TCF v2 প্রযোজ্য থাকবে)। উল্লেখ্য যে, TCF v2.2 প্রকাশের সাথে সাথে 'getTCData' কমান্ডটি এখন অপ্রচলিত (deprecated) হয়ে গেছে।
উদাহরণ:
<script>
// Make sure that the properties exist on the window.
window.googlefc = window.googlefc || {};
window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];
// Queue the callback using the CONSENT_DATA_READY key on the callbackQueue.
window.googlefc.callbackQueue.push({
'CONSENT_DATA_READY':
() => __tcfapi('addEventListener', 2.2, (data, success) => {
// Do something with consent data value; this callback may be invoked
// multiple times if user consent selections change.
})
});
</script>
ইইউ প্রবিধানের জন্য কনসেন্ট মোড সমর্থন সহ গুগল কনসেন্ট ম্যানেজমেন্ট সলিউশন ব্যবহার করা
গুগল কনসেন্ট ম্যানেজমেন্ট সলিউশনগুলো গুগল কনসেন্ট মোডের জন্য আপনার ব্যবহারকারীদের ইইউ রেগুলেশন অনুযায়ী দেওয়া সম্মতির পছন্দগুলো ব্যাখ্যা করতে পারে ( হেল্প সেন্টারে আরও জানুন)।
গুগল অ্যাডস এবং অ্যানালিটিক্স ডকুমেন্টেশনে বর্ণিত বেসিক মোড অথবা অ্যাডভান্সড মোড , যেকোনো একটিতে কনসেন্ট মোড প্রয়োগ করা যেতে পারে। আপনার আইনি বাধ্যবাধকতা পূরণের জন্য কোন কনসেন্ট মোডটি প্রয়োগ করা উচিত, সে বিষয়ে আপনার আইনি বিভাগের সাথে পরামর্শ করা উচিত।
অ্যাডভান্সড কনসেন্ট মোড ডিফল্টরূপে সমর্থিত; একবার আপনি প্রাইভেসি ও মেসেজিং UI-তে কনসেন্ট মোড চালু করে নিলে, আর কোনো অতিরিক্ত কাজ করার প্রয়োজন নেই।
Google সম্মতি ব্যবস্থাপনা সমাধান ব্যবহার করে বেসিক কনসেন্ট মোড প্রয়োগ করতে, আপনি CONSENT_MODE_DATA_READY কলব্যাক কিউ কী ব্যবহার করে শর্তসাপেক্ষে আপনার Google Ads এবং Analytics ট্যাগ লোড করতে পারেন, যখন কনসেন্ট মোড ডেটা উপলব্ধ হয়। Funding Choices যখন নির্ধারণ করবে যে এই অনুরোধের ক্ষেত্রে কনসেন্ট মোড প্রযোজ্য নয় (উদাহরণস্বরূপ, কারণ এই অনুরোধের ক্ষেত্রে EU প্রবিধান প্রযোজ্য নয়) অথবা যখন কোনো ব্যবহারকারী EU প্রবিধান সংক্রান্ত সম্মতির সিদ্ধান্ত নেবেন, তখন কনসেন্ট মোড ডেটা উপলব্ধ হবে। কনসেন্ট মোড উপলব্ধ হলে আপনার ট্যাগগুলি লোড করা যাবে কিনা তা নির্ধারণ করার জন্য কোন মানদণ্ড ব্যবহার করতে হবে, সে বিষয়ে আপনার আইনি বিভাগের সাথে পরামর্শ করা উচিত।
উদাহরণস্বরূপ, শেষ ব্যবহারকারীর সম্মতির সিদ্ধান্ত নির্বিশেষে, কনসেন্ট মোড ডেটা উপলব্ধ হওয়ার সাথে সাথে আপনার ট্যাগগুলি লোড করতে:
<script>
// Make sure that the properties exist on the window.
window.googlefc = window.googlefc || {};
window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];
// Helper function to load Google Ads/Analytics tags once consent mode data is
// ready.
const loadGtagScript = () => {
// Load gtag.js script - code taken from
// https://developers.google.com/tag-platform/security/guides/consent?consentmode=basic#set_up_consent_mode
var gtagScript = document.createElement('script');
gtagScript.async = true;
gtagScript.src = 'https://www.googletagmanager.com/gtag/js?id=<Google tag ID>';
var firstScript = document.getElementsByTagName('script')[0];
firstScript.parentNode.insertBefore(gtagScript,firstScript);
}
// Queue the callback using the CONSENT_MODE_DATA_READY key on the callbackQueue.
window.googlefc.callbackQueue.push({
'CONSENT_MODE_DATA_READY':
() => {
loadGtagScript();
},
});
</script>
যখন কনসেন্ট মোড ডেটা উপলব্ধ থাকে, তখন আপনি স্বতন্ত্র কনসেন্ট মোড উদ্দেশ্যগুলির মান পেতে googlefc.getGoogleConsentModeValues() API-টিও ব্যবহার করতে পারেন। এই API একটি GoogleFcConsentModeUserStatus অবজেক্ট রিটার্ন করে, যাতে প্রতিটি সমর্থিত কনসেন্ট মোড উদ্দেশ্যের জন্য একটি করে ফিল্ড থাকে এবং প্রতিটি ফিল্ডের মান একটি enum ভ্যালু হয়, যা সেই কনসেন্ট মোড উদ্দেশ্যের মান নির্দেশ করে।
উদাহরণস্বরূপ, আপনি googlefc.getGoogleConsentModeValues() ব্যবহার করে আপনার Google Ads এবং Analytics ট্যাগগুলি শুধুমাত্র তখনই আনব্লক করতে পারেন যখন:
- অন্তিম ব্যবহারকারী ইইউ প্রবিধান অনুযায়ী এমন একটি সম্মতিমূলক সিদ্ধান্ত গ্রহণ করেন যার ফলে সকল সম্মতি পদ্ধতির উদ্দেশ্যে সম্মতি প্রদান করা হয়, অথবা
- বর্তমান অনুরোধের জন্য সম্মতি মোডের সমস্ত উদ্দেশ্য অপ্রযোজ্য (যা ঘটতে পারে যদি ইইউ প্রবিধান প্রযোজ্য না হয় অথবা গোপনীয়তা ও মেসেজিং-এ এক বা একাধিক উদ্দেশ্যের জন্য সম্মতি মোড কনফিগার করা না থাকে)।
<script>
// Make sure that the properties exist on the window.
window.googlefc = window.googlefc || {};
window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];
// Helper function to determine whether Google Ads and Analytics tags can be
// unblocked. Returns true if all consent mode purposes are set to GRANTED,
// NOT_APPLICABLE, or NOT_CONFIGURED.
const shouldUnblockConsentTags = (googleFcConsentModeStatus) => {
const allConsentModeValues = [
googleFcConsentModeStatus.adStoragePurposeConsentStatus,
googleFcConsentModeStatus.adUserDataPurposeConsentStatus,
googleFcConsentModeStatus.adPersonalizationPurposeConsentStatus,
googleFcConsentModeStatus.analyticsStoragePurposeConsentStatus
];
for (const consentModeValue of allConsentModeValues) {
switch (consentModeValue) {
case googlefc.ConsentModePurposeStatusEnum.CONSENT_MODE_PURPOSE_STATUS_UNKNOWN:
// Indicates either an error case or that consent mode data is not
// ready yet. Cannot unblock tags until consent data is ready and valid,
// so return false.
return false;
case googlefc.ConsentModePurposeStatusEnum.CONSENT_MODE_PURPOSE_STATUS_GRANTED:
// Consent is granted for this consent mode purpose.
break;
case googlefc.ConsentModePurposeStatusEnum.CONSENT_MODE_PURPOSE_STATUS_DENIED:
// Consent is denied for this consent mode purpose. Do not unblock tags.
return false;
case googlefc.ConsentModePurposeStatusEnum.CONSENT_MODE_PURPOSE_STATUS_NOT_APPLICABLE:
// Consent mode does not apply for this purpose.
break;
case googlefc.ConsentModePurposeStatusEnum.CONSENT_MODE_PURPOSE_STATUS_NOT_CONFIGURED:
// Consent mode not configured for this purpose.
// If you configured support for Ads purposes but not Analytics purposes in the
// Privacy & messaging UI, the value of `analyticsStoragePurposeConsentStatus` will
// always be set to NOT_CONFIGURED. If you do not enable any Consent Mode support
// in the Privacy & messaging UI, the values of all purposes will always be set to
// NOT_CONFIGURED.
break;
default:
console.log("Unexpected consent mode value encountered");
}
}
// If all prior checks pass, all consent mode values are either GRANTED,
// NOT_APPLICABLE, or NOT_CONFIGURED.
return true;
};
// Helper function to load Google Ads/Analytics tags.
const loadGtagScript = () => {
// Load gtag.js script - code taken from
// https://developers.google.com/tag-platform/security/guides/consent?consentmode=basic#set_up_consent_mode
var gtagScript = document.createElement('script');
gtagScript.async = true;
gtagScript.src = 'https://www.googletagmanager.com/gtag/js?id=<Google tag ID>';
var firstScript = document.getElementsByTagName('script')[0];
firstScript.parentNode.insertBefore(gtagScript,firstScript);
}
googlefc.callbackQueue.push({
CONSENT_MODE_DATA_READY: () => {
if (shouldUnblockConsentTags(googlefc.getGoogleConsentModeValues())) {
loadGtagScript();
}
},
});
</script>
মার্কিন যুক্তরাষ্ট্রের রাজ্য বিধিবিধানের জন্য IAB GPP কাঠামোর সাথে গুগল সম্মতি ব্যবস্থাপনা সমাধান ব্যবহার করা
আপনি যদি IAB GPP কাঠামোর অধীনে ব্যবহারকারীদের মার্কিন যুক্তরাষ্ট্রের রাজ্য বিধিমালা থেকে অপ্ট-আউট বার্তা প্রদানের জন্য Google সম্মতি ব্যবস্থাপনা সমাধান ব্যবহার করেন, তাহলে আপনার IAB GPP API ব্যবহার করা উচিত।
মার্কিন যুক্তরাষ্ট্রের রাজ্য আইনকানুন থেকে অপ্ট-আউট করার সুবিধার কারণে, কলব্যাকগুলি আহ্বান করার সময় IAB GPP API-টি যেন কলযোগ্য থাকে এবং সম্মতির ডেটা ফেরত দেয়, তা নিশ্চিত করতে আপনি CONSENT_API_READY অথবা CONSENT_DATA_READY কলব্যাক কিউ কী ব্যবহার করতে পারেন।
<script>
// Make sure that the properties exist on the window.
window.googlefc = window.googlefc || {};
window.googlefc.usstatesoptout = window.googlefc.usstatesoptout || {};
window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];
// Queue the callback on the callbackQueue.
window.googlefc.callbackQueue.push({
'CONSENT_DATA_READY':
() => __gpp('ping', (data, success) => {
// Do something with consent data value.
})
});
</script>
আপনার নিজস্ব কাস্টম 'বিক্রি বা শেয়ার করবেন না' লিঙ্ক সহ মার্কিন যুক্তরাষ্ট্রের রাজ্য বিধিবিধানের জন্য IAB GPP ফ্রেমওয়ার্কের সাথে গুগল সম্মতি ব্যবস্থাপনা সমাধান ব্যবহার করুন।
আপনি যদি IAB GPP ফ্রেমওয়ার্কের অধীনে ব্যবহারকারীদের মার্কিন যুক্তরাষ্ট্রের রাজ্য বিধিমালা থেকে অপ্ট-আউট বার্তা দেওয়ার জন্য গুগলের সম্মতি ব্যবস্থাপনা সমাধান ব্যবহার করেন, তাহলে googlefc.usstatesoptout.overrideDnsLink ফ্ল্যাগটিকে true সেট করে আপনার নিজস্ব কাস্টম 'বিক্রি বা শেয়ার করবেন না' লিঙ্ক প্রদান করা সম্ভব।
<script>
// Make sure that the properties exist on the window.
window.googlefc = window.googlefc || {};
window.googlefc.usstatesoptout = window.googlefc.usstatesoptout || {};
window.googlefc.callbackQueue = window.googlefc.callbackQueue || [];
// Signals that the default DNS link will be overridden.
window.googlefc.usstatesoptout.overrideDnsLink = true;
// Register the callback for the initial US state regulations data.
window.googlefc.callbackQueue.push({
'INITIAL_US_STATES_OPT_OUT_DATA_READY': () => {
if (googlefc.usstatesoptout.getInitialUsStatesOptOutStatus() ===
googlefc.usstatesoptout.InitialUsStatesOptOutStatusEnum.NOT_OPTED_OUT) {
// TODO: Display custom Do Not Sell or Share link here.
}
}
});
</script>
এটি নিশ্চিত করে যে ডিফল্ট 'বিক্রি বা শেয়ার করবেন না' লিঙ্কটি প্রদর্শিত না হয়। এরপর, মার্কিন যুক্তরাষ্ট্রের রাজ্য বিধিমালা থেকে অপ্ট-আউট নিশ্চিতকরণ ডায়ালগটি চালু করার মাধ্যমে আপনাকে আপনার নিজস্ব 'বিক্রি বা শেয়ার করবেন না' লিঙ্কের সাথে ব্যবহারকারীর মিথস্ক্রিয়া পরিচালনা করতে হবে।
মনে রাখবেন, আপনার নিজের তৈরি 'বিক্রি বা শেয়ার করবেন না' লিঙ্ক ব্যবহার করার সময়, আপনার লিঙ্কটি যেন মার্কিন যুক্তরাষ্ট্রের রাজ্য বিধিবিধান মেনে চলে, তা নিশ্চিত করার দায়িত্ব আপনার।
<script>
// This callback will be called when the user makes a US state regulations
// decision.
const usStateRegCompletionCallback = (userOptedOut) => {
if (userOptedOut) {
// TODO: Hide custom Do Not Sell or Share link here.
}
}
// Invoke the US state regulations opt-out confirmation dialog when the user
// clicks the link.
document.getElementById("your-custom-do-not-sell-link").addEventListener(
"click", () => googlefc.usstatesoptout.openConfirmationDialog(usStateRegCompletionCallback));
</script>