schema.org-এ একটি অ্যাকশন হলো একটি ক্রিয়া বা কার্যকলাপ যা কোনো স্ট্রাকচার্ড ডেটার উপর সম্পাদন করা যায়। একাধিক ধরনের অ্যাকশন সমর্থিত এবং সেগুলোর সবগুলোই একই ধরনের স্ট্রাকচার্ড ডেটা দিয়ে সংজ্ঞায়িত করা যায়।
গো-টু অ্যাকশন
আপনি যদি schema.org এনটিটি ব্যবহার করে আপনার কন্টেন্টে মার্কআপ যোগ করেন, তাহলে সেগুলোর জন্য Go-To অ্যাকশন যোগ করতে পারেন। উদাহরণস্বরূপ, একটি EmailMessage এনটিটিতে ViewAction Go-To লিঙ্ক যুক্ত করতে, ইমেইলটির potentialAction প্রপার্টিতে ডেটা দিন, যেমনটি নিচের উদাহরণে দেখানো হয়েছে:
JSON-LD
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://watch-movies.com/watch?movieId=abc123",
"name": "Watch movie"
},
"description": "Watch the 'Avengers' movie online"
}
</script>
মাইক্রোডেটা
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="potentialAction" itemscope itemtype="http://schema.org/ViewAction">
<link itemprop="target" href="https://watch-movies.com/watch?movieId=abc123"/>
<meta itemprop="name" content="Watch movie"/>
</div>
<meta itemprop="description" content="Watch the 'Avengers' movie online"/>
</div>
উল্লেখ্য যে, যেসব ইমেল ক্লায়েন্ট ইমেলে স্কিমা সমর্থন করে না, তারা উপরের মার্কআপটি স্বয়ংক্রিয়ভাবে উপেক্ষা করে।
মোবাইল ডিপ লিঙ্কিং
Go-To অ্যাকশনগুলো Android এবং iOS- এর নেটিভ মোবাইল অ্যাপের কন্টেন্টের সাথেও সরাসরি লিঙ্ক করতে পারে। কোনো অ্যাপে ডিপ লিঙ্ক করার জন্য, নিচে দেখানো অনুযায়ী android-app:// এবং ios-app:// স্কিম দিয়ে এনকোড করা অতিরিক্ত target URL অন্তর্ভুক্ত করুন:
JSON-LD
"target": [
“<web url>”,
“android-app://<android package name>/<scheme>/<host>/<path+query>”,
“ios-app://<App store ID>/<scheme>/<host><path+query>"
]
মাইক্রোডেটা
<link itemprop="target" href="<web url>"/>
<link itemprop="target" href="android-app://<android package name>/<scheme>/<host>/<path+query>”/>
<link itemprop="target" href="ios-app://<App store ID>/<scheme>/<host>/<path+query>"/>
পূর্ববর্তী EmailMessage উদাহরণটির সম্প্রসারণ:
JSON-LD
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"name": "Watch movie",
... information about the movie ...
"potentialAction": {
"@type": "ViewAction",
"target": [
"https://watch-movies.com/watch?movieId=abc123",
"android-app://com.watchmovies.app/http/watch-movies.com/watch?movieId=abc123",
"ios-app://12345/movieapp/watch-movies.com/watch?movieId=abc123"
]
}
}
</script>
মাইক্রোডেটা
<div itemscope itemtype="http://schema.org/EmailMessage">
<meta itemprop="name" content="Watch movie"/>
... information about the movie ...
<div itemprop="potentialAction" itemscope itemtype="http://schema.org/ViewAction">
<meta itemprop="target" content="https://watch-movies.com/watch?movieId=abc123"/>
<meta itemprop="target" content="android-app://com.watchmovies.android/http/watch-movies.com/watch?movieId=abc123"/>
<meta itemprop="target" content="ios://12345/movieapp/watch-movies.com/watch?movieId=abc123"/>
</div>
</div>
ব্যবহারকারীর কাছে আপনার অ্যাপটি না থাকলে, অ্যাকশনটি তাকে আপনার দেওয়া ওয়েব ইউআরএল-এ নিয়ে যায়।
অ্যাপের ভেতরের কার্যকলাপ
ইন-অ্যাপ অ্যাকশনগুলো ব্যবহারকারীকে অন্য কোনো ওয়েবসাইটে না পাঠিয়ে, জিমেইলের ভেতরেই সম্পন্ন করা হয়। ইন-অ্যাপ অ্যাকশনগুলো গো-টু অ্যাকশনের মতোই ঘোষণা করা হয়, কিন্তু এতে অতিরিক্ত তথ্য থাকে যা ইউজার-এজেন্টদের (যেমন জিমেইল) জন্য অ্যাকশনটি ইনলাইনে পরিচালনা করা সহজ করে তোলে।
target সহ কোনো অ্যাকশন ডিক্লেয়ার করার পরিবর্তে, আপনাকে যথাযথ কনফিগারেশন সহ অ্যাকশনটির জন্য একটি HttpActionHandler ডিক্লেয়ার করতে হবে।
উদাহরণস্বরূপ, আপনি ইমেইলে একটি কনফার্ম বাটন যোগ করতে পারেন, যেখানে ব্যবহারকারীদের কোনো কিছু অনুমোদন, নিশ্চিত এবং স্বীকার করতে হবে। ব্যবহারকারী বাটনটিতে ক্লিক করার সাথে সাথে, গুগল থেকে আপনার সার্ভিসে একটি HTTP রিকোয়েস্ট পাঠানো হবে, যা কনফার্মেশনটি রেকর্ড করবে। ConfirmAction শুধুমাত্র একবারই ব্যবহার করা যাবে।
নিম্নলিখিত উদাহরণটি একটি ব্যয় প্রতিবেদন সম্পর্কিত ইমেইলে একটি ConfirmAction বাটন যোগ করে:
JSON-LD
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ConfirmAction",
"name": "Approve Expense",
"handler": {
"@type": "HttpActionHandler",
"url": "https://myexpenses.com/approve?expenseId=abc123"
}
},
"description": "Approval request for John's $10.13 expense for office supplies"
}
</script>
মাইক্রোডেটা
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="potentialAction" itemscope itemtype="http://schema.org/ConfirmAction">
<meta itemprop="name" content="Approve Expense"/>
<div itemprop="handler" itemscope itemtype="http://schema.org/HttpActionHandler">
<link itemprop="url" href="https://myexpenses.com/approve?expenseId=abc123"/>
</div>
</div>
<meta itemprop="description" content="Approval request for John's $10.13 expense for office supplies"/>
</div>
মেয়াদোত্তীর্ণ কার্যক্রম
অনেক ক্ষেত্রে, কার্যকলাপগুলো শুধুমাত্র একটি সীমিত সময়ের জন্য প্রাসঙ্গিক থাকে। ভ্রমণ রিজার্ভেশনের মতো নির্দিষ্ট তারিখযুক্ত বিষয়গুলোর সাথে যুক্ত কার্যকলাপগুলো স্বয়ংক্রিয়ভাবে মেয়াদোত্তীর্ণ হয়ে যায়। ভ্রমণ শেষ হয়ে গেলে Gmail সেই কার্যকলাপটি আর প্রদর্শন করে না।
অ্যাকশনগুলিতে মেয়াদও স্পষ্টভাবে যোগ করা যেতে পারে। উদাহরণস্বরূপ, একটি কুপন ক্লিপ করা বা একটি অফার কোড সংরক্ষণ করার মতো অ্যাকশন শুধুমাত্র সীমিত সময়ের জন্য বৈধ হতে পারে। কোনো অ্যাকশন কখন প্রদর্শিত হবে তার সময়সীমা নির্ধারণ করতে, অ্যাকশনটির startTime এবং endTime প্রপার্টি সেট করুন:
JSON-LD
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ConfirmAction",
"name": "Save coupon",
"handler": {
"@type": "HttpActionHandler",
"url": "https://my-coupons.com/approve?couponId=abc123"
},
"startTime": "2015-06-01T12:00:00Z",
"endTime": "2015-06-05T12:00:00Z"
}
}
</script>
মাইক্রোডেটা
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="potentialAction" itemscope itemtype="http://schema.org/ConfirmAction">
<meta itemprop="name" content="Save coupon"/>
<div itemprop="handler" itemscope itemtype="http://schema.org/HttpActionHandler">
<link itemprop="url" href="https://my-coupons.com/approve?couponId=abc123"/>
</div>
<meta itemprop="startTime" content="2015-06-01T12:00:00Z" />
<meta itemprop="endTime" content="2015-06-05T12:00:00Z" />
</div>
</div>
আরও পড়ুন
অ্যাকশন সম্পর্কে আরও বিস্তারিত জানতে দেখুন: