Google Wallet API ব্যবহার করে Android-এ পাস তৈরি করুন

Google Wallet API ব্যবহার করে Android-এ পাস তৈরি করুন

এই কোডল্যাব সম্পর্কে

subjectজানু ১৯, ২০২৩-এ শেষবার আপডেট করা হয়েছে
account_circleNick Alteen-এর লেখা

1. ভূমিকা

ওভারভিউ

Google Wallet API আপনাকে বিভিন্ন ধরনের পাসের মাধ্যমে ব্যবহারকারীদের সাথে যুক্ত হতে দেয়: লয়্যালটি কার্ড, অফার, উপহার কার্ড, ইভেন্ট টিকিট, ট্রানজিট টিকিট, বোর্ডিং পাস এবং আরও অনেক কিছু। প্রতিটি পাস টাইপ, বা পাস ক্লাস, ব্যবহারকারীর অভিজ্ঞতা বাড়ানোর জন্য ব্যবহারের ক্ষেত্রে নির্দিষ্ট ক্ষেত্র এবং বৈশিষ্ট্যগুলির সাথে আসে।

যাইহোক, এগুলি প্রতিটি ব্যবহারের ক্ষেত্রে উপযুক্ত নাও হতে পারে। আরও কাস্টমাইজড অভিজ্ঞতা তৈরি করতে, আপনি জেনেরিক পাস টাইপ ব্যবহার করতে পারেন। জেনেরিক পাস টাইপের জন্য এখানে কিছু উদাহরণ ব্যবহার করা হল:

  • পার্কিং পাস
  • লাইব্রেরির সদস্যতা কার্ড
  • সংরক্ষিত মূল্য ভাউচার
  • জিম সদস্যতা কার্ড
  • রিজার্ভেশন

আপনি যেকোন ব্যবহারের ক্ষেত্রে জেনেরিক পাস ব্যবহার করতে পারেন যার সাথে উপস্থাপন করা যেতে পারে:

  • তথ্যের তিন সারি পর্যন্ত
  • (ঐচ্ছিক) বারকোড গ্রাফিক
  • (ঐচ্ছিক) বিশদ বিভাগ

একটি অ্যান্ড্রয়েড-চালিত ডিভাইস Google Wallet-এ যোগ করার প্রভিশনিং প্রবাহ প্রদর্শন করছে

Google Wallet API সম্পর্কে আরও তথ্যের জন্য, অথবা একটি Android অ্যাপ্লিকেশনে Google Wallet বোতাম যোগ করার জন্য, অনুগ্রহ করে Google Wallet বিকাশকারী ডকুমেন্টেশন দেখুন।

ক্লাস এবং অবজেক্ট পাস

Google Wallet API নিম্নলিখিতগুলি তৈরি করার পদ্ধতিগুলি প্রকাশ করে:

টাইপ

বর্ণনা

ক্লাস পাস

একটি পৃথক পাস বস্তুর জন্য একটি টেমপ্লেট। এটিতে এই শ্রেণীর অন্তর্গত সমস্ত পাস অবজেক্টের সাধারণ তথ্য রয়েছে।

পাস অবজেক্ট

পাস ক্লাসের একটি উদাহরণ যা একটি ব্যবহারকারী আইডির জন্য অনন্য।

এই কোডল্যাব সম্পর্কে

এই কোডল্যাবে, আপনি নিম্নলিখিত কাজগুলি সম্পূর্ণ করবেন।

  1. ডেমো মোডে একটি নতুন ইস্যুকারী অ্যাকাউন্ট তৈরি করুন
  2. পাস ইস্যু করার জন্য একটি পরিষেবা অ্যাকাউন্ট তৈরি করুন
  3. একটি নতুন জেনেরিক পাস ক্লাস তৈরি করুন
  4. একটি নতুন পাস অবজেক্ট তৈরি করুন
  5. একটি পাস সংরক্ষণ করতে Google Wallet বোতামে একটি যোগ করুন
  6. আপনার অ্যান্ড্রয়েড অ্যাপে বোতামটি প্রদর্শন করুন
  7. পাস সংরক্ষণ ফলাফল হ্যান্ডেল

পূর্বশর্ত

উদ্দেশ্য

এই কোডল্যাবটি সম্পূর্ণ করার পরে, আপনি নিম্নলিখিতগুলি করতে সক্ষম হবেন:

  • আপনার Android অ্যাপে Google Wallet SDK যোগ করুন
  • একটি Android-চালিত ডিভাইসে Google Wallet API উপলব্ধ কিনা তা পরীক্ষা করুন৷
  • Google Wallet বোতামে একটি যোগ করুন

সমর্থন

আপনি যদি কোডল্যাবের কোনো স্থানে আটকে থাকেন, google-pay/wallet-android-codelab GitHub সংগ্রহস্থলে রেফারেন্সের জন্য একটি সম্পূর্ণ সমাধান রয়েছে।

2. সেটআপ

এই ধাপে, আপনি ডেমো মোডে একটি ইস্যুকারী অ্যাকাউন্ট তৈরি করবেন। এটি আপনাকে পাস ক্লাস এবং অবজেক্ট তৈরি করতে দেয় যা ব্যবহারকারীর ওয়ালেটে যোগ করা যেতে পারে। এর পরে, আপনি একটি Google ক্লাউড প্রকল্প এবং পরিষেবা অ্যাকাউন্ট তৈরি করবেন। এগুলি ব্যাকএন্ড সার্ভারের মতোই প্রোগ্রাম্যাটিকভাবে পাস ক্লাস এবং অবজেক্ট তৈরি করতে ব্যবহার করা হবে। শেষ পর্যন্ত, আপনি আপনার Google Wallet ইস্যুকারী অ্যাকাউন্টে পাসগুলি পরিচালনা করার জন্য Google ক্লাউড পরিষেবা অ্যাকাউন্টকে অনুমোদন দেবেন৷

একটি Google Wallet API ইস্যুকারী অ্যাকাউন্টের জন্য সাইন আপ করুন৷

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

ডেমো মোড সম্পর্কে আরও তথ্যের জন্য, জেনেরিক পাসের পূর্বশর্তগুলি দেখুন।

  1. Google Pay এবং Wallet Console খুলুন
  2. একটি ইস্যুয়ার অ্যাকাউন্ট তৈরি করতে অন-স্ক্রীন নির্দেশাবলী অনুসরণ করুন
  3. Google Wallet API নির্বাচন করুন
  4. আপনি পরিষেবার শর্তাবলী এবং গোপনীয়তা নীতি বুঝতে পেরেছেন তা নিশ্চিত করুন৷
  5. ইস্যুয়ার আইডি মানটি একটি পাঠ্য সম্পাদক বা অন্য অবস্থানে অনুলিপি করুন
  6. পরিচালনা ট্যাবের অধীনে, পরীক্ষা অ্যাকাউন্ট সেট আপ করুন নির্বাচন করুন
  7. আপনি এই কোডল্যাবে ব্যবহার করবেন এমন কোনো ইমেল ঠিকানা যোগ করুন

Google Wallet API সক্ষম করুন৷

  1. Google ক্লাউড কনসোলে সাইন ইন করুন
  2. আপনার যদি ইতিমধ্যে একটি Google ক্লাউড প্রকল্প না থাকে তবে এখনই একটি তৈরি করুন (আরো তথ্যের জন্য প্রকল্পগুলি তৈরি এবং পরিচালনা দেখুন)
  3. আপনার প্রোজেক্টের জন্য Google Wallet API (এছাড়াও Google Pay for Passes API নামে পরিচিত) সক্ষম করুন

একটি পরিষেবা অ্যাকাউন্ট এবং কী তৈরি করুন

Google Wallet API কল করার জন্য একটি পরিষেবা অ্যাকাউন্ট এবং একটি পরিষেবা অ্যাকাউন্ট কী প্রয়োজনীয়৷ পরিষেবা অ্যাকাউন্ট হল সেই পরিচয় যা Google Wallet API-কে কল করে৷ পরিষেবা অ্যাকাউন্ট কীটিতে একটি ব্যক্তিগত কী রয়েছে যা আপনার অ্যাপ্লিকেশনটিকে পরিষেবা অ্যাকাউন্ট হিসাবে চিহ্নিত করে৷ এই কী সংবেদনশীল, তাই এটি গোপনীয় রাখুন।

একটি পরিষেবা অ্যাকাউন্ট তৈরি করুন

  1. Google ক্লাউড কনসোলে, পরিষেবা অ্যাকাউন্ট খুলুন
  2. আপনার পরিষেবা অ্যাকাউন্টের জন্য একটি নাম, আইডি এবং বিবরণ লিখুন
  3. তৈরি করুন এবং চালিয়ে যান নির্বাচন করুন
  4. সম্পন্ন নির্বাচন করুন

একটি পরিষেবা অ্যাকাউন্ট কী তৈরি করুন

  1. আপনার পরিষেবা অ্যাকাউন্ট নির্বাচন করুন
  2. KEYS মেনু নির্বাচন করুন
  3. ADD KEY নির্বাচন করুন, তারপর নতুন কী তৈরি করুন
  4. JSON কী প্রকার নির্বাচন করুন
  5. CREATE নির্বাচন করুন

আপনাকে কী ফাইলটি আপনার স্থানীয় ওয়ার্কস্টেশনে সংরক্ষণ করতে বলা হবে। এর অবস্থান মনে রাখা নিশ্চিত করুন।

GOOGLE_APPLICATION_CREDENTIALS পরিবেশ পরিবর্তনশীল সেট করুন

GOOGLE_APPLICATION_CREDENTIALS এনভায়রনমেন্ট ভেরিয়েবলটি Google SDKs দ্বারা একটি পরিষেবা অ্যাকাউন্ট হিসাবে প্রমাণীকরণ করতে এবং একটি Google ক্লাউড প্রকল্পের জন্য বিভিন্ন API অ্যাক্সেস করতে ব্যবহার করা হয়৷

  1. GOOGLE_APPLICATION_CREDENTIALS পরিবেশ পরিবর্তনশীল সেট করতে Google ক্লাউড পরিষেবা অ্যাকাউন্ট কী ডকুমেন্টেশনের নির্দেশাবলী অনুসরণ করুন
  2. একটি নতুন টার্মিনাল (ম্যাকওএস/লিনাক্স) বা কমান্ড-লাইন (উইন্ডোজ) সেশনে এনভায়রনমেন্ট ভেরিয়েবল সেট করা আছে কিনা যাচাই করুন (যদি আপনার ইতিমধ্যে একটি খোলা থাকে তাহলে আপনাকে একটি নতুন সেশন শুরু করতে হতে পারে)
    echo $GOOGLE_APPLICATION_CREDENTIALS

পরিষেবা অ্যাকাউন্ট অনুমোদন করুন

শেষ অবধি, Google Wallet পাসগুলি পরিচালনা করার জন্য আপনাকে পরিষেবা অ্যাকাউন্ট অনুমোদন করতে হবে৷

  1. Google Pay এবং Wallet Console খুলুন
  2. ব্যবহারকারী নির্বাচন করুন
  3. একজন ব্যবহারকারীকে আমন্ত্রণ জানান নির্বাচন করুন
  4. পরিষেবা অ্যাকাউন্টের ইমেল ঠিকানা লিখুন (যেমন test-svc@myproject.iam.gserviceaccount.com )
  5. অ্যাক্সেস লেভেল ড্রপ-ডাউন মেনু থেকে ডেভেলপার বা অ্যাডমিন নির্বাচন করুন
  6. আমন্ত্রণ নির্বাচন করুন

3. একটি জেনেরিক পাস ক্লাস তৈরি করুন

এই ধাপে, আপনি আপনার পাসের জন্য বেস ক্লাস তৈরি করবেন। যে কোনো সময় একজন ব্যবহারকারীর জন্য একটি নতুন পাস তৈরি করা হয়, এটি পাস শ্রেণিতে সংজ্ঞায়িত বৈশিষ্ট্যগুলিকে উত্তরাধিকার সূত্রে পাবে।

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

পাস ক্লাসগুলি সরাসরি Google Pay & Wallet Console- এ বা Google Wallet API ব্যবহার করে তৈরি করা যেতে পারে। এই কোডল্যাবে, আপনি API ব্যবহার করে জেনেরিক পাস ক্লাস তৈরি করবেন। এটি একটি ব্যক্তিগত, ব্যাকএন্ড সার্ভার পাস ক্লাস তৈরি করতে ব্যবহার করা প্রক্রিয়া অনুসরণ করে।

  1. আপনার স্থানীয় ওয়ার্কস্টেশনে google-pay/wallet-android-codelab GitHub সংগ্রহস্থল ক্লোন করুন
    git clone https://github.com/google-pay/wallet-android-codelab.git
  2. আপনার টার্মিনাল বা কমান্ড-লাইন প্রম্পটে ক্লোন করা সংগ্রহস্থলটি খুলুন
  3. backend ডিরেক্টরিতে নেভিগেট করুন (এই স্ক্রিপ্টগুলি ব্যাকএন্ড সার্ভারের ক্রিয়াগুলি অনুকরণ করে)
    cd backend
  4. Node.js নির্ভরতা ইনস্টল করুন
    npm install .
  5. backend ডিরেক্টরিতে, generic_class.js খুলুন
  6. Google Pay এবং Wallet Console থেকে আপনার ইস্যুকারী আইডি দিয়ে issuerId আইডির মান প্রতিস্থাপন করুন
    // TODO: Define Issuer ID
    let issuerId = 'ISSUER_ID';
  7. আপনার টার্মিনাল বা কমান্ড-লাইন প্রম্পটে, generic_class.js স্ক্রিপ্টটি চালান
    node generic_class.js

যখন আপনার কোড চলে, এটি একটি নতুন পাস ক্লাস তৈরি করবে এবং ক্লাস আইডি আউটপুট করবে। ক্লাস আইডিটি ইস্যুকারী আইডি দ্বারা গঠিত যার পরে একটি বিকাশকারী-সংজ্ঞায়িত প্রত্যয় রয়েছে৷ এই ক্ষেত্রে, প্রত্যয়টি codelab_class এ সেট করা হয়েছে (ক্লাস আইডিটি 1234123412341234123.codelab_class এর মতো দেখাবে)। আউটপুট লগগুলি Google Wallet API থেকে প্রতিক্রিয়াও অন্তর্ভুক্ত করবে৷

4. অ্যান্ড্রয়েড স্টুডিওতে প্রকল্পটি খুলুন

আপনার ক্লোন করা GitHub সংগ্রহস্থলে একটি খালি কার্যকলাপ সহ একটি Android প্রকল্প রয়েছে৷ এই ধাপে, আপনি একটি পণ্য পৃষ্ঠায় Google Wallet বোতামে যোগ করার জন্য এই কার্যকলাপে সম্পাদনা করবেন।

  1. অ্যান্ড্রয়েড স্টুডিও খুলুন
  2. ফাইল নির্বাচন করুন, তারপর খুলুন
  3. সংগ্রহস্থলে android ডিরেক্টরি নির্বাচন করুন
  4. খুলুন নির্বাচন করুন

আপনার অ্যাপে Google Wallet SDK যোগ করুন

  1. মডিউল-স্তরের গ্রেডল বিল্ড ফাইলটি খুলুন ( android/app/build.gradle )
  2. dependencies বিভাগে Google Wallet SDK যোগ করুন
    // TODO: Add the "com.google.android.gms:play-services-pay" dependency to
    //       use the Google Wallet API
    implementation "com.google.android.gms:play-services-pay:16.0.3"
  3. ফাইলটি সংরক্ষণ করুন
  4. ফাইল নির্বাচন করুন, তারপর গ্রেডল ফাইলগুলির সাথে প্রকল্প সিঙ্ক করুন

5. গুগল ওয়ালেটে যোগ করুন বোতামটি তৈরি করুন

এই ধাপে, আপনি Google Wallet-এ একটি যোগ করুন বোতাম তৈরি করবেন এবং এটি একটি বিদ্যমান কার্যকলাপে যোগ করবেন। বোতামের জন্য সম্পদ ইতিমধ্যে প্রকল্পে অন্তর্ভুক্ত করা হয়েছে. বোতামটি অন্তর্ভুক্ত করতে, আপনি একটি পৃথক লেআউট ফাইল তৈরি করবেন। একবার যোগ করা হলে, বোতামটি নিচের মত দেখাবে।

Google Wallet এ যোগ করুন বোতাম

  1. একটি নতুন লেআউট ফাইল তৈরি করুন: app/src/main/res/layout/add_to_google_wallet_button.xml
  2. নতুন লেআউট ফাইলে নিম্নলিখিত বিষয়বস্তু যোগ করুন
    <?xml version="1.0" encoding="utf-8"?>
    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="48sp"
        android:background="@drawable/add_to_google_wallet_button_background_shape"
        android:clickable="true"
        android:contentDescription="@string/add_to_google_wallet_button_content_description"
        android:focusable="true">
      <ImageView
          android:layout_width="227dp"
          android:layout_height="26dp"
          android:layout_gravity="center"
          android:duplicateParentState="true"
          android:src="@drawable/add_to_google_wallet_button_foreground" />
    </FrameLayout>
  3. চেকআউট কার্যকলাপ লেআউট ফাইলে add_to_google_wallet_button.xml লেআউট অন্তর্ভুক্ত করুন ( app/src/main/res/layout/activity_checkout.xml )
    <!--
        TODO: Create the button under `add_to_google_wallet_button.xml`
              and include it in your UI
    -->
    <include
        android:id="@+id/addToGoogleWalletButton"
        layout="@layout/add_to_google_wallet_button"
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:layout_marginTop="10dp" />

6. Google Wallet API উপলব্ধ কিনা তা পরীক্ষা করুন৷

যদি কোনো ব্যবহারকারী আপনার অ্যাপটি এমন একটি ডিভাইসে খোলে যা Google Wallet API সমর্থন করে না, তারা পাস যোগ করার চেষ্টা করার সময় এটি একটি নেতিবাচক অভিজ্ঞতা তৈরি করতে পারে। ব্যবহারকারীর ডিভাইস Google Wallet API সমর্থন না করলে, Google Wallet এ যোগ করুন বোতামটি লুকিয়ে রাখলে সম্ভাব্য বিভ্রান্তি এড়ানো যায়। API অনুপলব্ধ হওয়ার বিভিন্ন কারণ রয়েছে, যেমন Android বা Google Play পরিষেবার সংস্করণগুলি পুরানো হওয়া বা Google Wallet ব্যবহারকারীর দেশে অনুপলব্ধ হওয়া।

এই ধাপে, আপনি আপনার অ্যাপে যুক্তি যোগ করবেন যা ডিভাইসে Google Wallet API উপলব্ধ কিনা তা পরীক্ষা করে। যদি তাই হয়, বোতামটি কার্যকলাপে রেন্ডার করা হবে। অন্যথায়, বোতামটি লুকানো হবে।

  1. CheckoutActivity.kt ফাইলটি app/src/main/java/com/google/android/gms/samples/wallet/activity/ এ খুলুন
  2. PayClient উদাহরণের জন্য একটি ক্লাস সম্পত্তি তৈরি করুন
    // TODO: Create a client to interact with the Google Wallet API
    private lateinit var walletClient: PayClient
  3. onCreate পদ্ধতিতে PayClient প্রপার্টি ইনস্ট্যান্টিয়েট করুন
    // TODO: Instantiate the client
    walletClient = Pay.getClient(this)
  4. ডিভাইসে Google Wallet SDK এবং API উপলব্ধ আছে কিনা তা পরীক্ষা করে এবং ফলাফল পরিচালনা করে এমন একটি পদ্ধতি তৈরি করুন৷
    // TODO: Create a method to check for the Google Wallet SDK and API
    private fun fetchCanUseGoogleWalletApi() {
      walletClient
        .getPayApiAvailabilityStatus(PayClient.RequestType.SAVE_PASSES)
        .addOnSuccessListener { status ->
          if (status == PayApiAvailabilityStatus.AVAILABLE)
            layout.passContainer.visibility = View.VISIBLE
        }
        .addOnFailureListener {
          // Hide the button and optionally show an error message
        }
    }
  5. Google Wallet API উপলব্ধ কিনা তা পরীক্ষা করতে onCreate পদ্ধতিতে fetchCanUseGoogleWalletApi পদ্ধতিতে কল করুন
    // TODO: Check if the Google Wallet API is available
    fetchCanUseGoogleWalletApi()

আপনি যখন অ্যাপটি চালাবেন, আপনার এখন UI-তে Google Wallet-এ যোগ করুন বোতামটি দেখতে হবে।

Google Wallet এ যোগ করুন বোতামটি এখন অ্যাপের কার্যকলাপে প্রদর্শিত হবে

7. একটি জেনেরিক পাস অবজেক্ট তৈরি করুন

এখন যেহেতু আপনি যাচাই করেছেন যে Google Wallet API উপলব্ধ, আপনি একটি পাস তৈরি করতে পারেন এবং আপনার ব্যবহারকারীকে তাদের ওয়ালেটে এটি যোগ করার জন্য অনুরোধ করতে পারেন৷ ব্যবহারকারীদের জন্য পাস অবজেক্ট তৈরি করার জন্য দুটি প্রবাহ আছে।

ব্যাকএন্ড সার্ভারে পাস অবজেক্ট তৈরি করুন

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

পাস অবজেক্ট তৈরি করুন যখন ব্যবহারকারী এটি তাদের ওয়ালেটে যোগ করে

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

  1. backend/generic_pass.js ফাইলটি খুলুন
  2. Google Pay এবং Wallet Console থেকে আপনার ইস্যুকারী আইডি দিয়ে issuerId আইডির মান প্রতিস্থাপন করুন
    // TODO: Define Issuer ID
    let issuerId = 'ISSUER_ID';
  3. আপনার টার্মিনাল বা কমান্ড-লাইন প্রম্পটে, generic_pass.js ফাইলটি চালান
    node generic_pass.js
  4. আপনার ক্লিপবোর্ড বা একটি পাঠ্য সম্পাদকে আউটপুট টোকেনটি অনুলিপি করুন

যখন আপনার কোড চলে, এটি একটি নতুন পাস অবজেক্ট সংজ্ঞায়িত করবে এবং এটি একটি JWT-তে এম্বেড করবে। JWT তারপর আপনার পূর্বে তৈরি করা পরিষেবা অ্যাকাউন্ট কী দ্বারা স্বাক্ষরিত হয়। এটি Google Wallet API-তে অনুরোধটিকে প্রমাণীকরণ করে যাতে শংসাপত্রগুলিকে ক্লায়েন্ট অ্যাপে সংরক্ষণ করার প্রয়োজন না হয়৷

একটি উৎপাদন পরিবেশে, আপনার ব্যাকএন্ড সিস্টেম JWT তৈরি এবং ক্লায়েন্টদের কাছে ফেরত দেওয়ার জন্য দায়ী। এই কোডল্যাবে, generic_pass.js স্ক্রিপ্ট এই আচরণটি অনুকরণ করে এবং ক্লায়েন্ট অ্যাপে আপনার ব্যবহারের জন্য একটি টোকেন "রিটার্ন" করে।

8. Google Wallet-এ পাস যোগ করুন

এখন যেহেতু আপনি যাচাই করেছেন যে Google Wallet API উপলব্ধ রয়েছে এবং একটি স্বাক্ষরিত JWT তৈরি করেছেন, আপনি ব্যবহারকারীকে তাদের ওয়ালেটে পাস যোগ করার জন্য অনুরোধ করতে পারেন। এই ধাপে, আপনি Google Wallet এ অ্যাড বোতামে একজন শ্রোতা যোগ করবেন যেটি ব্যবহারকারীর ওয়ালেটে পাস সংরক্ষণ করতে Google Wallet API ব্যবহার করে।

  1. app/src/main/CheckoutActivity.kt ফাইলটি খুলুন
  2. আপনি পূর্বে তৈরি করা JWT দিয়ে token মান প্রতিস্থাপন করুন
    // TODO: Save the JWT from the backend "response"
    private val token = "TOKEN"
  3. অনুরোধ কোড সংরক্ষণ করার জন্য একটি ক্লাস সম্পত্তি তৈরি করুন
    // TODO: Add a request code for the save operation
    private val addToGoogleWalletRequestCode = 1000
  4. Google Wallet বোতামে যোগ করার জন্য একজন শ্রোতা সেট করুন
    // TODO: Set an on-click listener on the "Add to Google Wallet" button
    addToGoogleWalletButton = layout.addToGoogleWalletButton.

    addToGoogleWalletButton.setOnClickListener {
      walletClient.savePassesJwt(token, this, addToGoogleWalletRequestCode)
    }

যখন একজন ব্যবহারকারী Google Wallet এ যোগ করুন বোতামটি নির্বাচন করেন, তখন walletClient.savePassesJwt পদ্ধতি বলা হয়। এই পদ্ধতি ব্যবহারকারীকে তাদের Google Wallet-এ নতুন পাস অবজেক্ট যোগ করার জন্য অনুরোধ করে।

9. savePassesJwt ফলাফল পরিচালনা করুন

এই কোডল্যাবের চূড়ান্ত ধাপে, আপনি walletClient.savePassesJwt অপারেশনের ফলাফল পরিচালনা করতে আপনার অ্যাপটি কনফিগার করবেন।

  1. app/src/main/CheckoutActivity.kt ফাইলটি খুলুন
  2. নিম্নলিখিত কোড ধারণ করতে onActivityResult পদ্ধতিটি ওভাররাইড করুন
    // TODO: Handle the result
    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
      super.onActivityResult(requestCode, resultCode, data)

      if (requestCode == addToGoogleWalletRequestCode) {
        when (resultCode) {
          RESULT_OK -> {
            // Pass saved successfully. Consider informing the user.
          }

          RESULT_CANCELED -> {
            // Save canceled
          }

          PayClient.SavePassesResult.SAVE_ERROR ->
            data?.let { intentData ->
              val errorMessage = intentData.getStringExtra(PayClient.EXTRA_API_ERROR_MESSAGE)
              // Handle error. Consider informing the user.
              Log.e("SavePassesResult", errorMessage.toString())
            }

          else -> {
            // Handle unexpected (non-API) exception
          }
        }
      }
    }

এখন আপনার অ্যাপ নিম্নলিখিত পরিস্থিতিতে পরিচালনা করতে সক্ষম:

  • সফল পাস সংযোজন
  • ব্যবহারকারী বাতিলকরণ
  • অপ্রত্যাশিত ত্রুটি

আপনি পাস যোগ করতে পারেন এবং আশানুরূপ ফলাফল পরিচালনা করতে পারেন তা নিশ্চিত করতে আপনার অ্যাপটি চালান।

10. অভিনন্দন

একটি উদাহরণ জেনেরিক পাস অবজেক্ট।

অভিনন্দন, আপনি সফলভাবে Android এ Google Wallet API একত্রিত করেছেন!

আরও জানুন

google-pay/wallet-android-codelab GitHub রিপোজিটরিতে সম্পূর্ণ ইন্টিগ্রেশন দেখুন।

পাস তৈরি করুন এবং উত্পাদন অ্যাক্সেসের অনুরোধ করুন

আপনি যখন প্রোডাকশনে নিজের পাস ইস্যু করতে প্রস্তুত হন, তখন প্রোডাকশন অ্যাক্সেসের অনুরোধ করতে এবং আপনার Android অ্যাপকে অনুমোদন করতে Google Pay এবং Wallet Console- এ যান।

আরও জানতে Android SDK পূর্বশর্তগুলি দেখুন৷