مستندات SDK اندروید صرافی رمزارز
Android SDK Crypto Exchange Docs
نسخه 1.0.0 - 05/17/2021
فهرست مطالب
1.برای استفاده از SDK یوآیدی ابتدا تغییرات زیر را در پروژهی خود اعمال کنید:
1.1. فایل uid_sdk.rar را در پوشه libs مربوط به ماژول app کپی کنید.
1.2. در فایل build.gradle مربوط به ماژول app در بخش {}android مقادیر زیر را طبق نمونه تکمیل کنید.
نکته : توجه داشته باشید این تغییر نسخه جاوا ماژول شما را به java 8 ارتقا میدهد.
				
					    defaultConfig {
        minSdkVersion 16
        vectorDrawables.useSupportLibrary = true
    }
    compileOptions {
        sourceCompatibility = 1.8
        targetCompatibility = 1.8
    }
    buildFeatures {
        viewBinding = true
    } 
				
			
		1.3. در فایل بالا ، بخش {}dependencies ، کتابخانههای پایین را اضافه کنید:
				
					    implementation 'androidx.appcompat:appcompat:1.3.1'
    implementation 'com.google.android.material:material:1.4.0'
    implementation 'com.github.bumptech.glide:glide:4.12.0'
    implementation "androidx.core:core-ktx:1.7.0"
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.5.31"
    implementation 'com.squareup.retrofit2:retrofit:2.9.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
    implementation("androidx.multidex:multidex:2.0.1")
	implementation(name:'uid_sdk', ext:'aar')
 
				
			
		1.4. در فایل build.gradle مربوط به project مطابق زیر تغییرات را اعمال کنید:
				
					    allprojects {
        repositories {
            .
            .
            .
            google()
            jcenter()
            maven { url "https://jitpack.io" }
            maven { url "https://maven.google.com" }
            flatDir {
                dirs 'libs'
            }
        }
    }
 
				
			
		1.5. سپس فرمان sync gradle را اجرا کنید
برای هدایت کاربر به صفحهی ورود یوآیدی و شروع فرایند احراز هویت در اپ خود مطابق نمونه از کد زیر استفاده کنید:
				
					String businessId;
Object meta;
Intent intent = UidCryptoSdk.getUidIntent( businessId, meta, context );
startActivityForResult(intent, 123);
 
				
			
		| Parameter | Type | Description | 
| context | Context | یک context غیر null از Activity فعلی  | 
| businessId | String | شناسهای که از پشتیبانی یوآیدی دریافت کردهاید  | 
| meta | Object | اطلاعاتی که توسط اپ میزبان به SDK فرستاده شده و در هنگام دریافت Result از سرور یوآیدی ، به همان شکل دریافت خواهد شد  | 
برای بررسی نتیجه احراز هویت در اپ خود میتوانید متد زیر را در Activity مطابق نمونه بازنویسی کنید:
				
					@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == 123) {
            switch (resultCode){
                case UidCryptoSdk.RESULT_OK:
                    String clientToken = data.getStringExtra("clientToken");
                case UidCryptoSdk.RESULT_CAMERA_NOT_SUPPORTED:
                case UidCryptoSdk.RESULT_PERMISSIONS_NOT_GRANTED:
                case UidCryptoSdk.RESULT_UNKNOWN_ERROR:
                case UidCryptoSdk.RESULT_ALREADY_APPROVED:
                case UidCryptoSdk.RESULT_MAX_TRY_EXCEEDED:
                case UidCryptoSdk.RESULT_REGISTER:
                case UidCryptoSdk.RESULT_PERSONAL_INFO:
                case UidCryptoSdk.RESULT_ADDRESS:
                case UidCryptoSdk.RESULT_BANK:
                case UidCryptoSdk.RESULT_LIVENESS:
                case UidCryptoSdk.RESULT_IDENTIFY_WAITING:
            }
        }
}
 
				
			
		| Description | Value | ResultCode | 
| پایان فرایند احراز هویت | 1 | RESULT_OK | 
| دوربین پشتیبانی نمیشود | 2 | RESULT_CAMERA_ NOT_SUPPORTED  | 
| دسترسی دوربین به SDK داده نشد | 3 | RESULT_PERMISSIONS_ NOT_GRANTED  | 
| خطای ناشناخته | 4 | RESULT_UNKNOWN _ERROR  | 
| کاربر قبلا احراز هویت شده است | 5 | RESULT_ALREADY _APPROVED  | 
| درخواست بیش از حد مجاز | 6 | RESULT_MAX_ TRY_EXCEEDED  | 
| کاربر در مرحلهی کد ملی و شماره موبایل ، فرایند را لغو کرده | 7 | RESULT_REGISTER | 
| کاربر در مرحلهی ثبت اطلاعات فردی فرایند را لغو کرده | 8 | RESULT_PERSONAL_ INFO  | 
| کاربر در مرحلهی ثبت آدرس فرایند را لغو کرده | 9 | RESULT_ADDRESS | 
| کاربر در مرحلهی ثبت اطلاعات بانکی فرایند را لغو کرده | 10 | RESULT_BANK | 
| کاربر در مرحلهی ویدئو لایونس فرایند را لغو کرده | 11 | RESULT_LIVENESS | 
| کاربر فرایند احراز هویت را طی کرده است و منتظر دریافت نتیجهی احراز هویت خود میباشد | 12 | RESULT_IDENTIFY_ WAITING  | 
1.6. تنظیمات ProGuard
				
					    -keep class ir.uid.mobile.android.UidCryptoSdk {
        **[] $VALUES;
        public *;
    }
    -keepclassmembers,allowobfuscation class * {
        @com.google.gson.annotations.SerializedName  ;
      }
    -keep class com.github.mikephil.charting.** { *; }
    -keepclasseswithmembernames class * {
    native  ; 
    }
   
				
			
		
								
