ثبت نام برنامه وفاداری کاربر

ویژگی ثبت نام وفاداری و ورود به سیستم به کاربران این امکان را می دهد که برنامه وفاداری شما را جستجو کنند و از Google Wallet به حساب خود بپیوندند یا به سیستم وارد شوند. کاربران برای تکمیل فرآیند به وب سایت سازگار با موبایل شما هدایت می شوند و پس از آن می توانند کارت خود را به Google Wallet اضافه کنند.

این راهنما یک نمای کلی از مراحل پیاده سازی مورد نیاز برای فعال کردن برنامه وفاداری شما برای این ویژگی ارائه می دهد.

بررسی اجمالی

برای شروع، مطمئن شوید که قبلا پروژه خود را راه اندازی کرده اید و به Google Wallet API دسترسی دارید.

برای اجرای ویژگی ثبت نام و ورود به سیستم برای برنامه وفاداری خود، باید این چهار مرحله را دنبال کنید:

  1. یک کلاس آزمایشی در Google Wallet برای آزمایش جریان های ثبت نام/ورود به سیستم خود راه اندازی کنید.
  2. صفحات ثبت نام/ورود به سیستم را ایجاد کنید که از Google Wallet SharedDataType استفاده می کنند.
  3. پس از ثبت نام/ورود به سیستم، کارت وفاداری را به Google Wallet بازگردانید.
  4. درخواست تایید و فعال سازی.

یک کلاس آزمایشی در Google Wallet راه اندازی کنید

URL های ثبت نام و ورود به سیستم، لوگوی برنامه خود و فیلدهای کاربری انتخابی را تعیین کنید. سپس، از فیلدهای تودرتوی discoverableProgram در loyaltyclass برای تنظیم مقادیر مناسب استفاده کنید.

مقادیر را در discoverableProgram تنظیم کنید تا یک نسخه پیش نویس از برنامه وفاداری فعال ثبت نام/ورود به سیستم شما ایجاد شود. برای اطمینان از اینکه این مورد برای آزمایش‌کنندگان قابل مشاهده است، بررسی کنید که آزمایش‌کنندگان به Google Pay و کنسول Wallet شما دسترسی دارند. برای جزئیات در مورد نحوه اشتراک گذاری دسترسی Google Pay و Wallet Console خود با افراد دیگر، به صفحه اطلاعات کاربران مراجعه کنید.

برای تکمیل تأیید عملکرد پیاده‌سازی خود در طول فرآیند توسعه، با استفاده از ابزارک پشتیبانی تماس در Google Pay و Wallet Console با ما تماس بگیرید. هنگامی که در کنسول هستید، Google Wallet API را در موضوع انتخاب کنید و Loyalty sign-in/ ثبت نام را در موضوع فرعی انتخاب کنید.

صفحات ثبت نام و ورود به سیستم را ایجاد کنید که از داده های کاربر Google Wallet استفاده می کنند

هنگامی که کاربر تصمیم می گیرد برای برنامه وفاداری شما وارد شود یا ثبت نام کند، به یک صفحه اختصاصی در وب سایت شما هدایت می شود تا فرآیند ثبت نام یا ورود به سیستم را تکمیل کند. اگر کاربری انتخاب کند که ثبت‌نام کند، Google Wallet از کاربر درخواست می‌کند تا اشتراک‌گذاری داده‌های کاربر خود را با شما تأیید کند.

شما باید یکی از دو صفحه یا هر دو را ارائه دهید که به کاربران امکان می دهد این اقدامات را انجام دهند.

  1. یک URL ورود به سیستم که در آن کاربر می تواند به یک حساب موجود وارد شود.
  2. یک URL ثبت نام که در آن کاربر می تواند یک حساب جدید ایجاد کند.

صفحات ورود و ثبت نام شما باید شرایط زیر را داشته باشند:

  • یک تجربه کاربری سازگار با موبایل ارائه دهید.
  • در طول فرآیند ثبت نام، تعداد فیلدهای مورد نیاز را به حداقل برسانید.
  • به کاربر اجازه دهید تا در یک صفحه ورود یا ثبت نام را کامل کند.
  • از رمزگذاری HTTPS با گواهی معتبر برای اطمینان از انتقال ایمن داده های کاربر استفاده کنید.
  • حداقل 99.9% آپتایم صفحات ورود و ثبت نام خود را تضمین کنید.

علاوه بر الزامات بالا، توصیه می کنیم به کاربران اجازه دهید بدون پر کردن هیچ فرمی یا حفظ صفحه فقط با شرایط خدمات شما، در برنامه وفاداری شما ثبت نام کنند.

  • با استفاده از داده های کاربر ارائه شده در SharedDataType ، می توانید یک حساب کاربری ایجاد کنید و بلافاصله کارت وفاداری آنها را پس بگیرید.
  • متعاقباً می توانید یک رمز عبور یک بار مصرف یا پیوندی برای پیکربندی رمز عبور و جزئیات حساب اختیاری کاربر را ایمیل کنید.
  • این احتمال را کاهش می دهد که کاربران روند ثبت نام خود را رها کنند، زیرا هر مرحله اضافی می تواند منجر به ترک تحصیل شود.

هنگام ارائه صفحه ورود به سیستم یا ثبت نام، Google Wallet یک WebView Android ایجاد می کند و یک درخواست POST به URL ارائه شده شما ارسال می شود. داده های کاربر در پارامتر SharedDataType ارائه می شود که در درخواست POST با استفاده از نوع محتوای application/x-www-form-urlencoded و رمزگذاری UTF-8 گنجانده شده است. مقدار پارامتر SharedDataType یک شی JSON کدگذاری شده Base64 است.

بسته به عملکرد انتخاب شده توسط کاربر و فیلدهایی که برای درخواست از کاربر مشخص کرده اید، شی JSON ممکن است حاوی فیلدهای زیر باشد.

رشته ثبت نام ورود
پست الکترونیک
نام کوچک
نام خانوادگی
خط آدرس [1-3]
شهر
حالت
کد پستی
کشور
تلفن

برای یک شیء نمونه JSON رمزگشایی شده موجود در SharedDataType به زیر مراجعه کنید.

منبع

{
  "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 را اجرا کنید

پس از احراز هویت (ورود به سیستم)، یا پس از ایجاد حساب (ثبت نام)، صفحه شما باید بلافاصله کارت وفاداری کاربر را به Google Wallet بازگرداند.

می‌توانید با هدایت کردن به پیوندی که از ساختار زیر پیروی می‌کند، کارت وفاداری را به Google Wallet بازگردانید.

https://pay.google.com/gp/v/save/{jwt_generated}

طول امن برای URL 2000 کاراکتر است. پیوندهای شما باید زیر این حد باقی بمانند. اشیایی که در JWT کدگذاری می شوند باید کوچک باشند و فقط حاوی داده هایی باشند که مختص کاربر است. سعی کنید بیشتر داده ها را در کلاس شیء نگه دارید و قبل از ساخت JWT آن را ایجاد کنید. برای اشیاء بزرگتر که با محدودیت مطابقت ندارند، ابتدا شی را در Google Wallet API ایجاد کنید و فقط شناسه شی را در JWT ارسال کنید.

جریان ارتباطی معمولی

جریان ارتباط برای کاربر در حال تکمیل ثبت نام یا ورود به سیستم در تصویر زیر نشان داده شده است. تمامی اقدامات بین "سرور شما" مسئولیت اجرای شماست.

جریان ثبت نام

درخواست تایید و فعال سازی

پس از تکمیل کار توسعه و آزمایش جریان‌های ثبت‌نام/ورود به سیستم، درخواستی را از طریق ابزارک پشتیبانی Google Pay و Wallet Console ارسال کنید.

پس از بررسی کامل پیاده‌سازی شما که عملکرد صحیح را در ترکیب با برنامه Google Wallet تأیید می‌کند، ویژگی ثبت‌نام/ورود به سیستم وفاداری به صورت عمومی برای برنامه وفاداری شما راه‌اندازی می‌شود. این به هر کاربری اجازه می دهد تا برنامه را ببیند و از این قابلیت استفاده کند.

به منظور اطمینان از تجربه کاربری بهینه، بررسی های مکرر اجرای ثبت نام/ورود به سیستم شما انجام خواهد شد تا از انطباق مداوم با الزامات ویژگی اطمینان حاصل شود. در صورت وجود مغایرت به شما اطلاع داده خواهد شد و تا زمانی که مشکل برطرف نشود، ممکن است عملکرد ورود به سیستم/ثبت نام غیرفعال شود.

سوالات متداول

  • آیا برای تصاویر استفاده شده در برنامه وفاداری من الزاماتی وجود دارد؟
    • بله، تصاویر شما باید در مکان HTTPS میزبانی شوند زیرا در غیر این صورت در Google Wallet قابل مشاهده نخواهند بود.
  • آیا ابزاری وجود دارد که پیاده سازی و اشکال زدایی JWT ها را ساده کند؟
    • بله، پلتفرم‌هایی مانند www.jwt.io به شما امکان می‌دهند توکن‌های خود را در طول فرآیند توسعه خود رمزگشایی و اشکال‌زدایی کنید و به شما امکان می‌دهند محتوایی را که ارسال می‌کنید تأیید کنید. توجه داشته باشید که Google هیچ وابستگی ندارد و به طور خاص هیچ یک از این اشخاص ثالث را توصیه نمی کند.
  • چگونه داده های SharedDataType رمزگذاری شده Base64 را به درستی مدیریت کنیم؟
    • اطمینان حاصل کنید که در طول فرآیند خود از رمزگذاری UTF-8 استفاده می کنید. رشته JSON ابتدا با UTF-8 کدگذاری می شود و سپس با استفاده از android.util.Base64 با گزینه های NO_WRAP و URL_SAFE کدگذاری می شود. این با بخش 4 RFC 3548 مطابقت دارد.