مستندات SDK یوآیدی
U-ID SDK Documentations
نسخه 1.0.0 - 27/08/2018
فهرست مطالب
1. تحت وب (WEB)
1. نحوهی ورود توسط یوآیدی در اپلیکیشن اندروید
نحوهی ورود توسط یوآیدی در اپلیکیشن اندروید به این صورت است که اپلیکیشن ابتدا باید با استفاده از یک کد ورود (LID) از سرور که به API یوآیدی متصل شده است دریافت نماید، سپس کد را به کتابخانهی یوآیدی داده، کاربر به وب اپلیکیشن یوآیدی هدایت شده و پس از لاگین با توجه به تنظیماتی که در ادامه گفته میشود به اپلیکیشن باز میگردد.
2. کتابخانه
برای استفاده از لاگین یوآیدی در اپلیکیشن خود ابتدا باید SDK (فایل jar.) را از طریق لینک زیر دریافت و آن را به پروژهی خود اضافه کنید.
دانلود فایل SDK
3. پیاده سازی اطلاعات Manifest
به منظور این که بعد از لاگین در وب اپلیکیشن یوآیدی کاربر به اپلیکیشن شما هدایت شود، اطلاعات زیر را به Manifest پروژه خود اضافه کنید.
اطلاعات باید در بخش Activity ای که قصد دارید کاربر بعد از لاگین به آن هدایت شود وارد شود. ( به طور مثال MainActivity )
- بخش launchMode در تنظیمات Activity را حتما وارد نمایید.
- تگهای category و data را در تگ intent-filter طبق نمونه اضافه کنید.
- در data به جای عبارت {businessId}، آیدی شرکت خود را که هنگام ثبت نام کسب و کار در یوآیدی دریافت نمودهاید جایگذاری نمایید.
Description | Parameter |
---|---|
ای دی شرکت شما که توسط یوآیدی صادر شده است. | businessId |
4. پیاده سازی لاگین با یوآیدی
برای لاگین کاربر توسط یوآیدی، بعد از اضافه کردن SDK طبق نمونه زیر یک Object از کلاس UidHelper در کلاس Activity خود در نظر گرفته و در متد onCreate، Object را بصورت زیر مقدار دهی کنید.
public UidHelper uidHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
uidHelper = UidHelper.getInstance(getIntent());
// implementation
}
در مرحلهی بعد برای شروع فرایند لاگین متد startLoginWithUID را طبق نمونهی زیر صدا بزنید.
Description | Type | Parameter |
---|---|---|
کد ورود که از سرور خود گرفتهاید |
|
|
Description | Type | Parameter |
---|---|---|
یک context غیر null از Activity فعلی |
|
|
uidHelper.startLoginWithUID( context , lid );
پس از صدا کردن متد فوق، کاربر از طریق مرورگر به وب اپ یوآیدی هدایت شده و فرایند لاگین آغاز میشود.
10.4. پیاده سازی بررسی نتیجه فرآیند
برای بررسی نتیجه فرایند لاگین بعد از بازگشت به اپلیکشین خود، متدهای زیر را در Activity که Manifest آن را در بالا تنظیم کردید طبق نمونه override کنید.
- نتیجه فرایند را میتوانید در متد onUidLoginFinished که در نمونه آمده مشاهده نمایید.
- اگر ورود موفقیت آمیز بوده باشد مقدار متغیر isSuccessful، True خواهد بود. در غیر این صورت مقدار False دارد.
- خطای InvalidStatusException در صورتی رخ خواهد داد که لینک ارسالی به اپ مخدوش شده باشد.
public class MainActivity extends AppCompatActivity implements UidLoginCallback {
@Override
protected void onResume() {
super.onResume();
try {
uidHelper.checkStatus(this);
} catch (InvalidStatusException e) {
// exception handling
}
}
2. Native
برای استفاده از Native SDK یوآیدی ابتدا تغییرات زیر را در پروژهی خود اعمال کنید:
1. فایلهای uid_sdk_native.aar و dialogplus.aar در پوشه libs مربوط به ماژول app کپی کنید.
2. در فایل build.gradle مربوط به ماژول app در بخش {}android مقادیر زیر را طبق نمونه تکمیل نمایید.
نکته : توجه داشته باشید این تغییر نسخه جاوا ماژول شما را به java 8 ارتقا میدهد.
defaultConfig {
minSdkVersion 17
}
compileOptions {
sourceCompatibility = 1.8
targetCompatibility = 1.8
}
dataBinding {
enabled = true
}
3. در فایل بالا ، بخش {}dependencies ، کتابخانههای پایین رو اضافه کنید:
implementation (name: 'uid_sdk_native', ext:'aar')
implementation (name: 'dialogplus', ext:'aar')
implementation 'org.jetbrains:annotations:15.0'
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:design:28.0.0'
implementation 'com.android.support:support-vector-drawable:28.0.0'
implementation 'com.google.code.gson:gson:2.8.5'
implementation 'com.squareup.retrofit2:retrofit:2.5.0'
implementation 'com.google.code.gson:gson:2.8.5'
implementation 'com.squareup.retrofit2:converter-gson:2.5.0'
implementation 'com.github.bumptech.glide:glide:4.9.0'
implementation 'com.github.bumptech.glide:okhttp-integration:4.8.0'
implementation 'com.android.support:multidex:1.0.3'
implementation 'pub.devrel:easypermissions:1.3.0'
implementation 'com.github.d-max:spots-dialog:1.1@aar'
implementation 'com.github.aliab:Persian-Date-Picker-Dialog:1.4'
implementation 'me.relex:circleindicator:1.2.2@aar'
implementation 'net.yslibrary.keyboardvisibilityevent:keyboardvisibilityevent:2.3.0'
implementation 'com.redmadrobot:inputmask:3.4.4'
implementation 'com.alimuzaffar.lib:pinentryedittext:1.3.10'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
4. در فایل build.gradle مربوط به project مطابق زیر تغییرات را اعمال نمایید:
allprojects {
repositories {
.
.
.
maven { url "https://jitpack.io" }
flatDir {
dirs 'libs'
}
}
}
5. سپس فرمان sync گریدل را اجرا نمایید
برای هدایت کاربر به صفحهی ورود یوآیدی و شروع جریان اهراز هویت در اپ خود مطابق نمونه از کد زیر استفاده کنید:
String lid;
Intent intent = UidHelper.getInstance().Uid(context, lid);
startActivityForResult(intent, 123);
برای بررسی نتیجه اهراز هویت در اپ خود میتوانید متد زیر را در Activity مطابق نمونه بازنویسی کنید:
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 123){
if (resultCode == RESULT_OK){
//successful
} else {
//failed
}
}
}