লয়াল্টি এনরোলমেন্ট এবং সাইন-ইন বৈশিষ্ট্য ব্যবহারকারীদের আপনার লয়াল্টি প্রোগ্রামটি অনুসন্ধান করতে এবং সরাসরি গুগল ওয়ালেট থেকে তাদের অ্যাকাউন্টে যোগদান বা সাইন-ইন করতে সাহায্য করে। ব্যবহারকারীদের প্রক্রিয়াটি সম্পন্ন করার জন্য আপনার মোবাইল-বান্ধব ওয়েবসাইটে নির্দেশিত করা হবে, যার পরে তারা গুগল ওয়ালেটে তাদের অফিসিয়াল কার্ড যোগ করতে পারবেন।
"স্ট্যাটিক" ব্যবহারকারী-যোগ করা পাসগুলিকে "গতিশীল" API লিঙ্কযুক্ত পাসে রূপান্তর করার জন্য এই বৈশিষ্ট্যটি বাস্তবায়ন করা পূর্বশর্ত। এই নির্দেশিকাটি আপনার লয়্যালটি প্রোগ্রামকে তালিকাভুক্তি, সাইন-ইন এবং পাস আপগ্রেডের জন্য সক্ষম করার জন্য প্রয়োজনীয় সুবিধা এবং বাস্তবায়ন পদক্ষেপগুলির একটি সারসংক্ষেপ প্রদান করে।
সংক্ষিপ্ত বিবরণ
শুরু করার জন্য, নিশ্চিত করুন যে আপনি আগে থেকেই আপনার প্রকল্প সেট আপ করেছেন এবং Google Wallet API-তে অ্যাক্সেস আছে।
বৈশিষ্ট্যটি বাস্তবায়নের জন্য আপনাকে এই চারটি ধাপ অনুসরণ করতে হবে:
- একটি পরীক্ষামূলক ক্লাস সেট আপ করুন: আপনার প্রবাহ পরীক্ষা করার জন্য Google Wallet কনফিগার করুন।
- পৃষ্ঠা তৈরি করুন: Google Wallet
SharedDataTypeব্যবহার করে তালিকাভুক্তি/সাইন-ইন পৃষ্ঠা তৈরি করুন। - পুশ ব্যাক বাস্তবায়ন করুন: পদক্ষেপ নেওয়ার পরে লয়্যালটি কার্ডটি Google Wallet-এ পাঠান।
- যাচাইকরণের অনুরোধ: পর্যালোচনার জন্য জমা দিন এবং আপগ্রেড সক্রিয়করণের অনুরোধ করুন।
কেন লয়াল্টি এনরোলমেন্ট বাস্তবায়ন করবেন?
এই ইন্টিগ্রেশনের মূল্য বোঝার জন্য, গুগল ওয়ালেটে বিদ্যমান দুটি ধরণের পাসের মধ্যে পার্থক্য করা গুরুত্বপূর্ণ: L1 (ব্যবহারকারী-যোগ করা) এবং L2 (অংশীদার-ইস্যু করা) ।
L1 এবং L2 এর মধ্যে পার্থক্য
| বৈশিষ্ট্য | L1 পাস (ব্যবহারকারী-যোগ করা হয়েছে) | L2 পাস (অংশীদার-ইস্যুকৃত) |
|---|---|---|
| উৎপত্তি | যখন একজন ব্যবহারকারী ম্যানুয়ালি একটি ফিজিক্যাল কার্ড স্ক্যান করেন বা একটি নম্বর টাইপ করেন তখন তৈরি হয়। | আপনার ফ্লো ব্যবহার করে কোনও ব্যবহারকারী সাইন আপ বা সাইন ইন করার পরে Wallet API ব্যবহার করে তৈরি এবং পুশ করা হয়েছে। |
| নিয়ন্ত্রণ | স্ট্যাটিক। এই পাসের উপর পার্টনারের কোনও দৃশ্যমানতা বা নিয়ন্ত্রণ নেই। | গতিশীল। API ব্যবহারের উপর অংশীদারের সম্পূর্ণ নিয়ন্ত্রণ থাকে। |
| কার্যকারিতা | একটি বারকোডের স্ট্যাটিক ছবি। আপডেট করা যাচ্ছে না। | পয়েন্ট ব্যালেন্স, স্তরের অবস্থা আপডেট করতে পারে, ব্যক্তিগতকৃত অফার প্রদর্শন করতে পারে এবং বিজ্ঞপ্তি পেতে পারে। |
আপগ্রেডের পথ: আপনার প্রোগ্রামের "সেতু"
লয়াল্টি এনরোলমেন্ট ফ্লো ("গন্তব্য") তৈরি করে, আপনি Google কে একটি "সেতু" তৈরি করতে সক্ষম করেন যা ব্যবহারকারীদের স্ট্যাটিক L1 পাস থেকে আপনার অফিসিয়াল L2 পাসে আপগ্রেড করে। দুটি প্রাথমিক আপগ্রেড ট্রিগার রয়েছে:
- L1-থেকে-L2 পাস আপগ্রেড: যদি কোনও ব্যবহারকারী আগে আপনার কার্ড (L1) ম্যানুয়ালি যোগ করে থাকেন, তাহলে Google Wallet তাদের অফিসিয়াল, ডায়নামিক পাস (L2) এ আপগ্রেড করার জন্য আপনার নতুন সাইন-ইন ফ্লোতে যেতে অনুরোধ করতে পারে।
- জিমেইল ইমপোর্টেড পাস আপগ্রেড: যদি গুগল ওয়ালেট কোনও ব্যবহারকারীর জিমেইল ব্যবহার করে একটি লয়্যালটি কার্ড সনাক্ত করে, তাহলে এটি ব্যবহারকারীকে আপনার ফ্লোতে যেতে এবং অফিসিয়াল L2 পাস পাওয়ার জন্য প্রমাণীকরণ করতে অনুরোধ করতে পারে।
ধাপ ১: গুগল ওয়ালেটে একটি পরীক্ষামূলক ক্লাস সেট আপ করুন
তালিকাভুক্তি এবং সাইন-ইন URL, আপনার প্রোগ্রাম লোগো এবং নির্বাচিত ব্যবহারকারী ক্ষেত্রগুলি নির্ধারণ করুন। তারপর, উপযুক্ত মান সেট করতে loyaltyclass discoverableProgram প্রোগ্রাম নেস্টেড ক্ষেত্রগুলি ব্যবহার করুন।
আপনার তালিকাভুক্তি/সাইন-ইন সক্ষম লয়্যালটি প্রোগ্রামের একটি খসড়া সংস্করণ তৈরি করতে discoverableProgram এ মানগুলি সেট করুন। এটি পরীক্ষকদের কাছে দৃশ্যমান তা নিশ্চিত করতে, পরীক্ষকদের আপনার Google Pay এবং Wallet কনসোলে অ্যাক্সেস আছে কিনা তা যাচাই করুন। আপনার Google Pay এবং Wallet কনসোলের অ্যাক্সেস কীভাবে অন্যদের সাথে শেয়ার করবেন সে সম্পর্কে বিস্তারিত জানতে, ব্যবহারকারীদের সম্পর্কে জানুন পৃষ্ঠাটি দেখুন।
ডেভেলপমেন্ট প্রক্রিয়া চলাকালীন আপনার বাস্তবায়নের কার্যকারিতা যাচাইকরণ সম্পূর্ণ করতে, Google Pay এবং Wallet কনসোলে যোগাযোগ সহায়তা উইজেট ব্যবহার করে আমাদের সাথে যোগাযোগ করুন। কনসোলে থাকাকালীন, বিষয়ের মধ্যে Google Wallet API নির্বাচন করুন এবং উপবিষয়টিতে Loyalty সাইন-ইন/এনরোলমেন্ট নির্বাচন করুন।
ধাপ ২: তালিকাভুক্তি এবং সাইন-ইন পৃষ্ঠা তৈরি করুন
যখন কোনও ব্যবহারকারী আপনার লয়্যালটি প্রোগ্রামে সাইন-ইন বা নথিভুক্ত করার সিদ্ধান্ত নেন, তখন তাদের আপনার ওয়েবসাইটের একটি বিশেষ পৃষ্ঠায় পাঠানো হয় যাতে তারা তালিকাভুক্তি বা সাইন-ইন প্রক্রিয়াটি সম্পূর্ণ করতে পারেন। যদি কোনও ব্যবহারকারী নথিভুক্তি করতে চান, তাহলে Google Wallet ব্যবহারকারীকে তাদের ব্যবহারকারীর ডেটা আপনার সাথে শেয়ার করার অনুমোদনের জন্য অনুরোধ করবে।
ব্যবহারকারীদের এই কাজগুলি সম্পন্ন করার জন্য আপনাকে দুটি পৃষ্ঠার মধ্যে একটি অথবা উভয় পৃষ্ঠা প্রদান করতে হবে:
- একটি সাইন-ইন URL যেখানে একজন ব্যবহারকারী একটি বিদ্যমান অ্যাকাউন্টে সাইন ইন করতে পারেন।
- একটি তালিকাভুক্তি URL যেখানে একজন ব্যবহারকারী একটি নতুন অ্যাকাউন্ট তৈরি করতে পারেন।
আপনার সাইন ইন এবং নথিভুক্তকরণ পৃষ্ঠাগুলিকে নিম্নলিখিত প্রয়োজনীয়তাগুলি পূরণ করতে হবে:
- একটি মোবাইল-বান্ধব ব্যবহারকারীর অভিজ্ঞতা প্রদান করুন।
- তালিকাভুক্তি প্রক্রিয়ার সময় প্রয়োজনীয় ক্ষেত্রের সংখ্যা কমিয়ে আনুন।
- ব্যবহারকারীকে একটি একক পৃষ্ঠার মধ্যে সাইন-ইন বা তালিকাভুক্তি সম্পূর্ণ করার অনুমতি দিন।
- ব্যবহারকারীর তথ্য নিরাপদে প্রেরণ নিশ্চিত করতে একটি বৈধ শংসাপত্র সহ
HTTPSএনক্রিপশন ব্যবহার করুন। - আপনার সাইন-ইন এবং তালিকাভুক্তি পৃষ্ঠাগুলির কমপক্ষে ৯৯.৯% আপটাইম নিশ্চিত করুন।
এই প্রয়োজনীয়তাগুলি ছাড়াও, আমরা আপনাকে কোনও ফর্ম পূরণ না করে বা পৃষ্ঠাটি কেবল আপনার পরিষেবার শর্তাবলী গ্রহণের জন্য না রেখে আপনার লয়্যালটি প্রোগ্রামে নথিভুক্ত করার অনুমতি দেওয়ার পরামর্শ দিচ্ছি।
-
SharedDataTypeএ প্রদত্ত ব্যবহারকারীর ডেটা ব্যবহার করে, আপনি একটি অ্যাকাউন্ট তৈরি করতে পারেন এবং অবিলম্বে তাদের লয়্যালটি কার্ডটি ফিরিয়ে আনতে পারেন। - পরবর্তীতে আপনি ব্যবহারকারীকে একটি এককালীন পাসওয়ার্ড, অথবা তাদের পাসওয়ার্ড এবং ঐচ্ছিক অ্যাকাউন্টের বিবরণ কনফিগার করার জন্য একটি লিঙ্ক ইমেল করতে পারেন।
- এটি ব্যবহারকারীদের তাদের তালিকাভুক্তি প্রক্রিয়া পরিত্যাগ করার সম্ভাবনা হ্রাস করে, কারণ প্রতিটি অতিরিক্ত পদক্ষেপ অতিরিক্ত ড্রপ-আউটের দিকে নিয়ে যেতে পারে।
সাইন-ইন বা নথিভুক্তকরণ পৃষ্ঠা উপস্থাপন করার সময়, Google Wallet একটি Android WebView তৈরি করবে এবং আপনার প্রদত্ত URL-এ একটি POST অনুরোধ করা হবে। ব্যবহারকারীর ডেটা SharedDataType প্যারামিটারে সরবরাহ করা হয় যা POST অনুরোধে একটি Content-Type of application/x-www-form-urlencoded এবং UTF-8 এনকোডিং সহ অন্তর্ভুক্ত থাকে। SharedDataType প্যারামিটারের মান হল একটি Base64 এনকোডেড JSON অবজেক্ট।
ব্যবহারকারীর দ্বারা নির্বাচিত ক্রিয়া এবং ব্যবহারকারীর কাছ থেকে অনুরোধ করার জন্য আপনি যে ক্ষেত্রগুলি নির্দিষ্ট করেছেন তার উপর নির্ভর করে, JSON অবজেক্টে নিম্নলিখিত ক্ষেত্রগুলি থাকতে পারে।
| মাঠ | তালিকাভুক্তি |
|---|---|
| ইমেইল | ✓ |
| প্রথম নাম | ✓ |
| শেষ নাম | ✓ |
| ঠিকানা লাইন [1-3] | ✓ |
| শহর | ✓ |
| অবস্থা | ✓ |
| জিপ কোড | ✓ |
| দেশ | ✓ |
| ফোন | ✓ |
SharedDataType এ থাকা একটি ডিকোডেড নমুনা JSON অবজেক্টের জন্য নিম্নলিখিতটি দেখুন।
রিসোর্স
{
"firstName": "Jane",
"lastName": "Doe",
"addressLine1": "1600 Amphitheatre Pkwy",
"addressLine2": "Apt 123",
"addressLine3": "Attn:Jane",
"city": "Mountain View",
"state": "CA",
"zipcode": "94043",
"country": "US",
"email": "jane.doe@example.com",
"phone": "555-555-5555"
}
ধাপ ৩: গুগল ওয়ালেটে তাৎক্ষণিক পুশব্যাক বাস্তবায়ন করুন
একবার প্রমাণীকরণ (সাইন-ইন) হয়ে গেলে, অথবা অ্যাকাউন্ট তৈরির (নথিভুক্তির) পরে, আপনার পৃষ্ঠাটি অবিলম্বে ব্যবহারকারীর লয়্যালটি কার্ডটি Google Wallet-এ ফিরিয়ে আনবে।
আপনি লয়্যালটি কার্ডটি গুগল ওয়ালেটে ব্যাক করতে পারেন, নিচের কাঠামো অনুসরণকারী একটি লিঙ্কে রিডাইরেক্ট করে।
https://pay.google.com/gp/v/save/{jwt_generated}
একটি URL এর নিরাপদ দৈর্ঘ্য ২০০০ অক্ষর। আপনার লিঙ্কগুলি এই সীমা অতিক্রম করা উচিত নয়। JWT গুলিতে এনকোড করা অবজেক্টগুলি ছোট হওয়া উচিত, কেবলমাত্র ব্যবহারকারীর জন্য নির্দিষ্ট ডেটা থাকা উচিত। JWT তৈরি করার আগে বেশিরভাগ ডেটা অবজেক্টের ক্লাসে রাখার চেষ্টা করুন, এটি তৈরি করুন। সীমা অতিক্রম না করে এমন বৃহত্তর অবজেক্টের জন্য, প্রথমে Google Wallet API- তে অবজেক্ট তৈরি করার এবং JWT-তে শুধুমাত্র অবজেক্ট আইডি পাঠানোর কথা বিবেচনা করুন।
সাধারণ যোগাযোগ প্রবাহ
একজন ব্যবহারকারীর নিবন্ধন বা সাইন-ইন সম্পন্ন করার যোগাযোগের প্রবাহ নিম্নলিখিত ছবিতে দেখানো হয়েছে। "আপনার সার্ভার" এর মধ্যে সমস্ত ক্রিয়া বাস্তবায়নের দায়িত্ব আপনার।

ধাপ ৪: যাচাইকরণ এবং সক্রিয়করণের অনুরোধ করুন
উন্নয়ন কাজ সম্পন্ন করার পরে এবং আপনার তালিকাভুক্তি/সাইন-ইন প্রবাহ পরীক্ষা করার পরে, আপনাকে অবশ্যই আপনার বাস্তবায়ন পর্যালোচনা এবং সম্পূর্ণরূপে সক্রিয় করার জন্য একটি অনুরোধ জমা দিতে হবে।
- গুগল পে এবং ওয়ালেট কনসোলে নেভিগেট করুন।
- যোগাযোগ সহায়তা উইজেট ব্যবহার করুন।
- সহায়তা দলকে জানান যে আপনি আপনার লয়্যালটি এনরোলমেন্ট ইন্টিগ্রেশন সম্পন্ন করেছেন।
আপনার বাস্তবায়নের সম্পূর্ণ পর্যালোচনার পর যা Google Wallet অ্যাপের সাথে সঠিক কার্যকারিতা নিশ্চিত করে, আপনার লয়্যালটি প্রোগ্রামের জন্য লয়্যালটি এনরোলমেন্ট/সাইন-ইন বৈশিষ্ট্যটি সর্বজনীনভাবে চালু করা হবে।
সর্বোত্তম ব্যবহারকারীর অভিজ্ঞতা নিশ্চিত করার জন্য, বৈশিষ্ট্যের প্রয়োজনীয়তাগুলি মেনে চলার জন্য আপনার তালিকাভুক্তি/সাইন-ইন বাস্তবায়নের পুনরাবৃত্ত পরীক্ষা করা হবে। কোনও অসঙ্গতির ক্ষেত্রে আপনাকে অবহিত করা হবে এবং সমস্যাটি সমাধান না হওয়া পর্যন্ত সাইন-ইন/নিবন্ধন কার্যকারিতা অক্ষম করা হতে পারে।
সচরাচর জিজ্ঞাস্য
আমার লয়্যালটি প্রোগ্রামে ব্যবহৃত ছবিগুলির জন্য কি কোনও প্রয়োজনীয়তা আছে? হ্যাঁ, আপনার ছবিগুলি
HTTPSলোকেশনে হোস্ট করা উচিত কারণ অন্যথায় সেগুলি Google Wallet-এ দৃশ্যমান হবে না।JWT-এর বাস্তবায়ন এবং ডিবাগিং সহজ করার জন্য কি কোন টুল আছে? হ্যাঁ, www.jwt.io- এর মতো প্ল্যাটফর্মগুলি আপনাকে আপনার ডেভেলপমেন্ট প্রক্রিয়ার সময় আপনার টোকেনগুলি ডিকোড এবং ডিবাগ করার অনুমতি দেয়, যার ফলে আপনি আপনার জমা দেওয়া সামগ্রী যাচাই করতে পারবেন। মনে রাখবেন যে Google-এর কোনও অধিভুক্তি নেই এবং বিশেষভাবে এই ধরনের কোনও তৃতীয় পক্ষের সুপারিশ করে না।
Base64 এনকোডেড
SharedDataTypeডেটা কীভাবে সঠিকভাবে পরিচালনা করব? নিশ্চিত করুন যে আপনি আপনার পুরো প্রক্রিয়া জুড়ে UTF-8 এনকোডিং ব্যবহার করছেন। JSON স্ট্রিংটি প্রথমে UTF-8 এনকোড করা হয় এবং পরবর্তীতে android.util.Base64 ব্যবহার করে NO_WRAP এবং URL_SAFE বিকল্পগুলি ব্যবহার করে এনকোড করা হয়। এটি RFC 3548 বিভাগ 4 এর সাথে সামঞ্জস্যপূর্ণ।