در این مقاله آموزشی فرآیند کار reCaptcha گوگل را یاد خواهیم گرفت و آن را در اپلیکیشن اندروید خودمان ادغام خواهیم کرد. reCaptcha گوگل از برنامه ما در برابر ترافیک مخرب محافظت می کند. این روش با استفاده از واسط برنامه نویسی کاربردی SafetyNet اجرا می شود.

استفاده از reCaptcha گوگل

reCAPTCHA گوگل با فراخوانی شبکه تماس بین برنامه اندروید، سرور SafetyNet و سرور شما تایید می شود.

  • برنامه اندروید از طریق Site Key، درخواستی به سرور SafetyNet برای اعتبار سنجی reCAPTCHA میفرستد.
  • سرور SafetyNet از طریق Site key و با استفاده از token(توکن) captcha در برنامه پاسخ را تولید می کند.
  • توکن Captcha با استفاده از Secret key برای تایید به سرور شما فرستاده می شود.
  • سرور اندروید با استفاده از Secret key برای تایید اعتبار توکن captcha درخواستی برای SafetyNet میفرستد.
  • SafetyNet پاسخ توکن را تایید می کند و نتیجه را تحت عنوان موفق یا ناموفق برگشت(returns) می دهد.
  • سرور اندروید شما با تایید توکن ها، اعلانی به برنامه اندروید می دهد و نتیجه را تحت عنوان موفق یا ناموفق نمایش می دهد.

استفاده از reCaptcha گوگل

تولید Site key و Secret key

قبل از ایجاد کلیدهای رابط برنامه نویسی، شرایط خدمات آن را در https://developers.google.com/terms به دقت بخوانید.
* برای reCAPTCHA اندروید در سایت https://g.co/recaptcha/androidsignup ثبت نام کنید.

تولید Site key و Secret key
* label(برچسب) و نام پکیج را وارد کرده، نوع reCAPTCHA را برابر با اندروید قرار دهید و شرایط سرویس reCAPTCHA را قبول کنید.
برچسب: این یک نام منحصر بفرد برای کلید شما است. شما می توانید از نام شرکت یا سازمان خود استفاده کنید.
نام پکیج: این نام پکیج برنامه اندروید شما است.
پس از اینکه شرایط استفاده از reCAPTCHA را تایید کردید، دکمه Register را برای تولید هر دو کلید موردنیاز بزنید.

reCAPTCHA

 

مثال:

بیایید یک نمونه از ادغام reCAPTCHA گوگل در برنامه اندروید مان ایجاد کنیم.

build.grad:
وابستگی های SafetyNet و volley را در فایل build.grad اضافه کنید.

مجوز اینترنت را در فایل AndroidManifest.xml وارد کنید.

کد زیر را در فایل activity_main.xml وارد کنید.

MainActivity.java
کدهای زیر را در فایل MainActivity.java وارد کنید. در این کلاس، ما ادغام مربوط به سمت کاربر را با سرور SafetyNet ایجاد می کنیم و پاسخ را در رشته JSON بدست می‌آوریم.
مقدار SITE_KEY و SECRET_KEY را با Site Key و Secret Key واقعی عوض کنید. هنگامی که روی دکمه کلیک کنید، متد ()SafetyNet.getC lient را برای بدست آوردن Site Key فراخوانی کرده و اگر موفق بود ()handleSiteVerify را برای تایید token صدا می زند(فرا میخواند).

کتابخانه volley برای اهداف زیر استفاده می شود:

  • RequestQueue در کتابخانه volley تماس های سرور را در یک صف خاص حفظ می کند.
  • StringRequest برای پاسخ به رشته JSON از سرور شما استفاده می شود.
  • متد ()setRetryPolicy درخواست سرور را اگر در مدت زمان محدودی شکست بخورد مجددا انجام می دهد.

خروجی:

 ادغام reCAPTCHA گوگل در برنامه اندروید

کلیدواژه ها :

این خبر را به اشتراک بگذارید :