کار با Password AutoFill در آی او اس

با پیاده سازی Password AutoFill در اپلیکیشن آی او اس، سرعت فرآیند لاگین را بیشتر کنید


Password AutoFill در آی او اس 11

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

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

اقداماتی برای بهبود این وضعیت صورت پذیرفته اند که برای نمونه میتوان به 1Password اشاره کرد که اکستنشن خوبی برای استفاده توسط توسعه دهندگان است. راه حل دیگری که از WWDC 2014 به بعد در آی او اس قرار گرفت، Safari Shared Credentials میباشد.

در آی او اس 11، اپل به معرفی روش یکپارچه تری برای ساده سازی فرآیند لاگین پرداخت که Password AutoFill API نام دارد. استفاده از این راهکار در مقایسه با روش های قبلی، برای کاربران ساده تر بوده و توسعه دهندگان نیز راحت تر قادر به پیاده سازی آن هستند.

در این مقاله به نحوه تسریع فرآیند لاگین و بهبود نرخ نگهداری کاربر با استفاده از Password AutoFill پرداخته میشود، با ما همراه باشید.

کار با Password AutoFill در آی او اس

مقدمه

با استفاده از Password AutoFill کاربران مستقیما از طریق نوار  QuikType که در کیبورد بالا نمایش داده شده، میتوانند اطلاعات ورود را پر کنند. بهبود روال لاگین نه تنها به افزایش نگهداری کاربر، بلکه به بهبود نرخ نگهداری اپلیکیشن می انجامد. پس از پیاده سازی ترفندهای این مطلب آموزشی، میتوانید کل فرآیند لاگین را به تنها چند ثانیه کوتاه کنید.

در پیاده سازی Password AutoFill در اپلیکیشن دو مرحله وجود دارد:

  • نمایش نوار QuikType با آیکون کلید و اجازه دادن به کاربر برای انتخاب لاگین درست.
  • لینک کردن اپلیکیشن و وب سایت به شکل ایمن، که نوار QuikType لاگین درست را به کاربر نمایش میدهد تا فرآیند سریع تر شود.

 

نوار QuikType

اولین گام ساختن نوار QuikType با یک دکمه کلید است. پس از این مرحله کاربران با لمس دکمه میتوانند به صورت دستی لاگین درست را از ویو کنترلر نمایش داده شده انتخاب کنند. برای نمایش نوار QuikType لازم است ویژگی textContent در آبجکت UITextField یا UITextView را ست کنید. اگر یک کنترل کاستوم دارید که با <UITextInput> مطابق است، میتوانید از همین کد استفاده کنید.

باید این ویژگی را به فیلدهای ایمیل/نام کاربری و پسورد اضافه کنید. یکی از پیاده سازی های رایج به صورت زیر میباشد:

usernameTextField.textContentType = .username

passwordTextField.textContentType = .password

 

آی او اس در تمامی دستگاه های آی او اس 11 که حداقل یک پسورد در keychain ذخیره شده، نوار QuikType را نمایش میدهد. اگر تست را بر روی سیمولاتور انجام میدهید و نوار QuikType را مشاهده نمیکنید، به احتمال زیاد keychain شما خالی است.

کار با Password AutoFill در آی او اس

 

پس از اینکه کاربر آیکون کلید را زد و احراز هویت با استفاده از Touch ID انجام شد، لیستی از پسوردهای ذخیره شده نمایش داده میشود. کاربر میتواند به اسکرول یا جستجو در آنها بپردازد. وقتی که اطلاعات ورود صحیح پیدا شد، تنها با یک لمس فیلدهای لاگین پر میشوند.

همانطور که مشاهده میکنید، کندترین بخش این فرآیند، یافتن لاگین درست در keychain است. در بخش بعدی خواهید دید که چگونه با میتوان با حذف این مرحله، تجربه را بهبود بخشید.

 

پیشنهاد اطلاعات ورود

میتوانید به آی او اس بگویید که اپلیکیشن شما به چه وبسایت مرتبط است. در صورتی که keychain شامل اطلاعات ورودی باشد که از Safari بر روی آی او اس یا مک آو اس ذخیره شده، این اطلاعات نمایش داده میشوند و دیگر نیازی به جستجوی دستی در keychain نیست.

در صورتی که از Universal Links استفاده میکنید، اپلیکیشن باید اطلاعات ورود وبسایت را در نوار QuikType نمایش دهد. آی او اس میداند که کدام وبسایت به اپلیکیشن شما مرتبط است، از این رو 100% آماده پیشنهاد اطلاعات ورود میباشد.

روش دیگر برای لینک کردن اپلیکیشن و وبسایت و بدون نیاز به Universal Links، استفاده از یک سرویس دامین مرتبط با اطلاعات ورود وب میباشد.

به تنظیمات پروژه Xcode و زبانه Capabilities مراجعه کرده و Associated Domains را فعال کنید. URL وبسایت خود را در اینجا وارد کنید. مثلا برای وبسایت amazingwebsite.com نام دامین لیست شده باید webcredentials:amazingwebsite.com باشد.

کار با Password AutoFill در آی او اس

 

به این ترتیب تنظیمات مربوط به پروژه Xcode انجام شد و آی او اس میداند که وبسایت مرتبط با اپلیکیشن شما کدام است.  مرحله آخر آپلود کردن یک فایل به سرور است، بدین ترتیب آی او اس تایید میکند که شما صاحب وبسایتی هستید که میخواهید اپلیکیشن را به آن وصل کنید. (با این کار اپلیکیشن های مخرب قادر به ارسال اطلاعات ورود از سایر وبسایت ها نخواهند بود)

یک فیلد متنی جدید (خارج از پروژه Xcode) و با نام apple-app-site-association بسازید. این یک نام استاندارد است که آی او اس در سرور و با استفاده از یک ارتباط ایمن به دنبال آن میگردد (باید SSL بر روی سرور شما نصب باشد) تنها لازم است کد زیر را کپی و پیست کنید.

{

"webcredentials" : {

"apps" : ["1EMDW8DVTP.com.patrickbalestra.AutoFill"]

}

}

 

باید رشته موجود در آرایه apps را نیز به Team ID (در developer portal و در بخش membership میتوانید آن را پیدا کنید) به همراه یک نقطه و شناسه بسته اپلیکیشن تغییر دهید. یک فولدر با نام well-known. در دایرکتوری روت سرور بسازید و فایل را در آنجا آپلود کنید.

 

برای مطمئن شدن از اینکه همه چیز آنطور که انتظار میرفت پیش میرود، در یک مرورگر وب چک کنید که آیا فایل در آدرس تعیین شده وجود دارد یا خیر، برای این مثال آدرس به صورت زیر است:

https://patrickbalestra.com/.well-known/apple-app-site-association

در صورتی که فایل JSON را به درستی و مانند تصویر زیر مشاهده کردید، همه چیز درست انجام شده است.

کار با Password AutoFill در آی او اس

 

با اجرای اپلیکیشن نوار QuikType را میبینید که اطلاعات ورود وبسایت را به درستی نمایش میدهد و تنها با این لمس میتوانید به راحتی لاگین شوید.

کار با Password AutoFill در آی او اس

جمع بندی

همانطور که مشاهده کردید، پیاده سازی Password AutoFill بسیار ساده بوده و برای راحتی بیشتر کاربران بهتر است چند دقیقه زمان صرفه پیاده سازی آن نمایید. این کار سرعت فرآیند لاگین را بالا میبرد و نرخ نگهداری اپلیکیشن را بهبود میبخشد.

 

https://code.tutsplus.com برگرفته از

اینها را هم بخوانید