Ana içeriğe geç
Version: 1.6.0

Teydex Android Document

Bu doküman, Teydex kütüphanesinin Android platformda güvenli ve sorunsuz bir şekilde entegre edilmesi için gerekli tüm adımları, kullanım örneklerini ve platforma özgü teknik detayları içerir.

Sürüm Gereksinimleri

Teydex Android kütüphanesini sorunsuz bir şekilde kullanabilmek için sürümlerinizi kontrol etmeniz gerekir.

PlatformMin version
AndroidminSdkVersion: 24
compileSdkVersion: 34
targetSdkVersion: 34
kotlinVersion: 1.8.0

Android Gradle Yapılandırması

Aşağıdaki yapılandırmayı gitlab token ile birlikte Settings.gradle altındaki depo tanımlarını eklemelisiniz. Depo erişimi için gerekli kimlik bilgilerini doğru şekilde girmeniz gerekmektedir.

{
maven {
isAllowInsecureProtocol = true
name = "GitLab"
url = uri("<REPO_URL>")
credentials(HttpHeaderCredentials::class) {
name = "Private-Token"
value = "GITLAB_TOKEN"
}
authentication {
create<HttpHeaderAuthentication>("header")
}
}
  • REPO_URL Size verilen url ile değiştirilmesi gerekmektedir.
  • PRIVATE_TOKEN alanını, kurumunuzun size sağladığı kişisel erişim anahtarıyla değiştirin.
  • allowInsecureProtocol = true ayarı, yalnızca güvenli ağlarda veya kurum içi özel sunucularda kullanılmalıdır.

Gradle Configuration

android/app/build.gradle dosyasınıza aşağıdaki satırları ekleyin:

implementation("com.innovance:kyc:1.6.0")

Projenizin android/build.gradle dosyasında aşağıdaki bağımlılıkların minimum belirtilen sürümlerde tanımlı olması gerekmektedir. Daha düşük sürümlerde, kütüphane ile ilgili derleme veya çalışma hatalarıyla karşılaşabilirsiniz.

buildscript {
dependencies {
classpath("com.android.tools.build:gradle:7.4.2") // Minimum desteklenen sürüm: 7.4.2
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.0" // Minimum desteklenen sürüm: 1.8.0
}
}

Info Ekranı

KYC uygulamanızdaki Info ekranı, adımlardan önce görüntülenen bilgi sayfalarını ifade eder. İsteğe bağlı olarak, her adım için aşağıdaki parametreler eklenebilir.

Info Ekranı Özellikleri

ParametreTipAçıklama
toolbarTitleStringToolbar metnini belirtir.
titleTextStringBaşlık metnini belirtir.
descriptionTextStringAçıklama metnini belirtir.
buttonTextStringAdımı başlatacak butonun metnini belirtir.
imageResId@RawRes Intkullanılacak görseli belirtir.
lottieResId@RawRes IntLottie animasyonunu belirtir.
bulletsList<String>Bir sonraki adım hakkında madde madde bilgi iletilebilir.
bulletIcon@RawRes IntMadde işaretli öğelerin simgesini belirtir.

Info Ekranı Kullanımı

Aşağıda örnek Info ekranı kullanımı belirtilmiştir.


val frontInfo = buildInfo {
toolbarTitle("Kimlik Ön Yüz")
descriptionText("Lütfen aşağıdaki adımları dikkatlice takip ediniz:")
buttonText("Devam")
lottieResId(R.raw.front)
bullets(
listOf(
"Kimliğinizi Yerleştirin\n" +
"Kimliğinizin arka yüzünü, telefon ekranına paralel bir şekilde
tutun. Kimlik, ekranda görünen şablonun içine tam olarak yerleşecek
şekilde konumlandırılmalıdır.",
"Kimlik Bilgilerinin Görünürlüğü\n Kimlik üzerindeki tüm
bilgilerin net bir şekilde göründüğünden emin olun. Kimlik bilgileri
bulanık olmamalı ve kolayca okunabilir olmalıdır")
)
}

Step

Tüm adımlarda kullanılacak özellikler bu alanda belirtilir. Bu özellikler her adımda mevcuttur(Front,Back,Hologram,NFC,Liveness,Passport,VideoCall,Selfie,VideoRecord).

Step Özellikleri

ParametreTipAçıklama
addInfoInfoİlgili adıma Bilgi ekranı eklemek için kullanılır. İsteğe bağlıdır.
toolbarTitleStringİlgili adımda görüntülenecek Toolbar metnini temsil eder.
toolbarRightCloseIconStringİlgili adımı sonlandıracak çıkış iconunu temsil eder.
toolbarLeftCloseIconStringİlgili adımı sonlandıracak çıkış iconunu temsil eder.
identifyTimeoutLongİlgili adım için zaman aşımı süresini belirtir(ms). örn: 10_000
stepInformationTextToSpeechStringSesli yönlendirme mesajını belirtir.

Glare Detection (Işık Yansıması Algılama)

v1.1.0 ile birlikte Front, Back, Liveness ve Passport adımlarında, kullanıcının belgeyi uygun ışık koşullarında göstermesi için ışık yansıması (glare) algılama özelliği eklenmiştir. Ortam çok aydınlıksa, çok karanlıksa veya belge üzerinde yansıma varsa ilgili ekranda kullanıcıya uyarı metni gösterilir.

Aşağıdaki parametreler Front, Back ve Passport adımlarında ortak olarak kullanılabilir:

ParametreTipAçıklama
isGlareDetectionEnableBooleanİlgili adımda glare algılamayı etkinleştirir. Front ve Back için varsayılan true, Passport için false.
glareDetectedTextStringBelge üzerinde ışık yansıması algılandığında gösterilecek metin.
tooBrightTextStringOrtam çok aydınlık olduğunda gösterilecek uyarı metni.
tooDarkTextStringOrtam çok karanlık olduğunda gösterilecek uyarı metni.
multipleDocumentsDetectedTextStringKamerada birden fazla belge algılandığında gösterilecek uyarı metni.

Liveness adımında ise yalnızca ortam ışığına bağlı parametreler bulunur:

ParametreTipAçıklama
isGlareDetectionEnableBooleanLiveness adımında ortam ışığı izlemeyi etkinleştirir. Varsayılan true.
tooBrightTextStringOrtam çok aydınlık olduğunda gösterilecek uyarı metni.
tooDarkTextStringOrtam çok karanlık olduğunda gösterilecek uyarı metni.
not

Bu parametrelerden herhangi biri verilmediğinde, SDK varsayılan Türkçe uyarı metinlerini kullanır.

Front Step Kullanımı

      val front = buildFront {
identifyTimeout(30_000L)
addInfo(frontInfo)
toolbarTitle("Kimlik Ön Yüz")
toolbarRightCloseIcon(R.drawable.ic_close)
isGlareDetectionEnable(true)
glareDetectedText("Işık yansıması var. Lütfen belgeyi farklı bir açıyla tutun.")
tooBrightText("Ortam çok aydınlık. Lütfen ışığı azaltın.")
tooDarkText("Ortam çok karanlık. Lütfen aydınlık bir ortama geçin.")
multipleDocumentsDetectedText("Sadece tek belge gösterin.")
}

Back Step Kullanımı

      val back = buildBack {
identifyTimeout(30_000L)
addInfo(backInfo)
toolbarTitle("Kimlik Arka Yüz")
toolbarRightCloseIcon(R.drawable.ic_close)
isGlareDetectionEnable(true)
glareDetectedText("Işık yansıması var. Lütfen belgeyi farklı bir açıyla tutun.")
tooBrightText("Ortam çok aydınlık. Lütfen ışığı azaltın.")
tooDarkText("Ortam çok karanlık. Lütfen aydınlık bir ortama geçin.")
multipleDocumentsDetectedText("Sadece tek belge gösterin.")
}

NFC Step Kullanımı

     val nfc = buildNFC {
addInfo(nfcInfo)
toolbarRightCloseIcon(R.drawable.ic_close)
toolbarTitle("NFC")
}

Hologram Step Kullanımı

     val hologram = buildHologram {
addInfo(hologramInfo)
toolbarTitle("Hologram")
}

Passport Step Kullanımı

     val passport = buildPassport {
identifyTimeout(60_000L)
addInfo(passportInfo)
toolbarTitle("Pasaport")
toolbarRightCloseIcon(R.drawable.ic_close)
isGlareDetectionEnable(true)
glareDetectedText("Işık yansıması var. Lütfen belgeyi farklı bir açıyla tutun.")
tooBrightText("Ortam çok aydınlık. Lütfen ışığı azaltın.")
tooDarkText("Ortam çok karanlık. Lütfen aydınlık bir ortama geçin.")
multipleDocumentsDetectedText("Sadece tek belge gösterin.")
}

VideoCall Step Özellikleri

ParametreTipAçıklama
splashScreenResourceId@DrawableRes IntVideoCall başlamadan önce gösterilecek başlangıç ekranının rengini(Splash Screen) belirlemek için kullanılır.
uyarı

v1.1.0 ile birlikte VideoCall için splash screen ve logo görselinin UIConfig üzerinden tanımlanması önerilir. Aşağıdaki UIConfig bölümüne bakınız.

VideoCall Step Kullanımı

     val videoCall = buildVideoCall {
addInfo(videoCallInfo)
splashScreenResourceId(R.drawable.bg_splash)
}

Liveness Step Özellikleri

ParametreTipAçıklama
rightTextStringKullanıcıya canlılık fotoğrafı için sağa bakmasını söyleyen komut.
leftTextStringKullanıcıya canlılık fotoğrafı için sola bakmasını söyleyen komut.
upTextStringKullanıcıya canlılık fotoğrafı için yukarı bakmasını söyleyen komut.
downTextStringKullanıcıya canlılık fotoğrafı için aşağı bakmasını söyleyen komut.
centerYourFaceTextStringCanlılık fotoğraf için kullanıcının kameraya doğrudan (düz) bakmasını söyleyen komut.
multipleFaceTextStringCanlılık adımında birden fazla yüz algılandığında kullanıcıyı bilgilendiren mesaj.
dotColor@ColorInt IntCanlılık adımında tamamlanmış bir komutu gösteren noktaların rengi.
dotRadiusIntCanlılık adımında tamamlanmış bir komutu gösteren noktaların boyutu (yarıçapı).
rightTextToSpeechStringKullanıcıya canlılık fotoğrafı için sağa bakmasını söyleyen sesli komut.
leftTextToSpeechStringKullanıcıya canlılık fotoğrafı için sola bakmasını söyleyen sesli komut.
upTextToSpeechStringKullanıcıya canlılık fotoğrafı için yukarı bakmasını söyleyen sesli komut.
downTextToSpeechStringKullanıcıya canlılık fotoğrafı için aşağı bakmasını söyleyen sesli komut.
centerTextToSpeechStringCanlılık fotoğraf için kullanıcının kameraya doğrudan (düz) bakmasını söyleyen sesli komut.

Liveness Step Kullanımı

    val liveness = buildLiveness {
dotColor(Color.Green.toArgb())
rightText("yüzünüzü sağa çeviriniz")
leftText("sola çeviriniz")
upText("yüzünüzü yukarı kaldırınız")
downText("aşağı yöne bakınız")
multipleFaceText("birden fazla yüz algılandı")
identifyTimeout(60_000)
addInfo(livenessInfo)
toolbarTitle("Liveness")
isGlareDetectionEnable(true)
tooBrightText("Ortam çok aydınlık. Lütfen ışığı azaltın.")
tooDarkText("Ortam çok karanlık. Lütfen aydınlık bir ortama geçin.")
}

Selfie Step Özellikleri

v1.6.0 ile eklendi. Kullanıcının özçekim fotoğrafı çekerek doğrulama yapmasını sağlayan adımdır.

ParametreTipAçıklama
identifyTimeoutLongAdım için zaman aşımı süresi (ms). (Varsayılan: 30_000)
centerYourFaceTextStringKullanıcıya yüzünü çerçeveye ortalamasını söyleyen metin.
tooCloseTextStringYüz kameraya çok yakın olduğunda gösterilecek uyarı metni.
tooFarTextStringYüz kameraya çok uzak olduğunda gösterilecek uyarı metni.
captureButtonTextStringFotoğraf çekme butonunun metni.
retakeButtonTextStringFotoğrafı yeniden çekme butonunun metni.
confirmButtonTextStringÇekilen fotoğrafı onaylama butonunun metni.

Selfie Step Kullanımı

    val selfie = buildSelfie {
identifyTimeout(15_000L)
centerYourFaceText("Yüzünüzü çerçeveye ortalayın")
tooCloseText("Yüzünüzü uzaklaştırın")
tooFarText("Yüzünüzü yaklaştırın")
captureButtonText("Fotoğraf Çek")
retakeButtonText("Tekrar Çek")
confirmButtonText("Onayla")
addInfo(selfieInfo)
toolbarTitle("Özçekim")
toolbarRightCloseIcon(R.drawable.ic_close)
stepInformationTextToSpeech("Yüzünüzü çerçeveye ortalayın ve fotoğraf çek butonuna basın.")
}

VideoRecord Step Özellikleri

v1.6.0 ile eklendi. Kullanıcının ekranda gösterilen metni yüksek sesle okuyarak video kaydı oluşturduğu sesli video doğrulama adımıdır.

not

VideoRecord adımında kullanıcının yüksek sesle okuyacağı metin (prompt_text) SDK'ya backend tarafından iletilir. Metin, transaction init isteğinde options objesi içinde video_record_prompt_text ve video_record_prompt_mandatory_texts alanlarıyla backend'e gönderilir; backend bu metni video adımında SDK'ya geri döner ve okuma doğruluğunu bu metinler üzerinden hesaplar.

ParametreTipAçıklama
identifyTimeoutLongAdım için zaman aşımı süresi (ms). (Varsayılan: 60_000)
faceCenterTimeoutMsLongKayıt öncesi yüz ortalama beklemesi için zaman aşımı (ms). (Varsayılan: 15_000)
readyCountdownMsLongKayıt başlamadan önce gösterilen geri sayım süresi (ms). (Varsayılan: 3_000)
recordingDurationMsLongMaksimum video kayıt süresi (ms). (Varsayılan: 20_000)
videoQualityVideoRecordQualityVideo kayıt kalitesi: LOW, MEDIUM, HIGH. (Varsayılan: MEDIUM)
centerYourFaceTextStringKullanıcıya yüzünü çerçeveye ortalamasını söyleyen metin.
tooCloseTextStringYüz kameraya çok yakın olduğunda gösterilecek uyarı metni.
tooFarTextStringYüz kameraya çok uzak olduğunda gösterilecek uyarı metni.
moveLeftTextStringKullanıcıya yüzünü sola kaydırmasını söyleyen metin.
moveRightTextStringKullanıcıya yüzünü sağa kaydırmasını söyleyen metin.
moveUpTextStringKullanıcıya yüzünü yukarı kaldırmasını söyleyen metin.
moveDownTextStringKullanıcıya yüzünü aşağı indirmesini söyleyen metin.
lookStraightTextStringKullanıcıya kameraya düz bakmasını söyleyen metin.
headTiltedTextStringBaş eğik olduğunda kullanıcıyı uyaran metin.
startButtonTextStringKaydı başlatma butonunun metni.
stopButtonTextStringKaydı durdurma butonunun metni.
retakeButtonTextStringVideoyu yeniden kaydetme butonunun metni.
confirmButtonTextStringKaydı onaylayıp gönderme butonunun metni.
readingInstructionTextStringKayıt sırasında metnin yüksek sesle okunması gerektiğini belirten yönerge metni.

VideoRecord Step Kullanımı

    val videoRecord = buildVideoRecord {
identifyTimeout(60_000L)
faceCenterTimeoutMs(15_000L)
readyCountdownMs(3_000L)
recordingDurationMs(20_000L)
videoQuality(VideoRecordQuality.MEDIUM)
centerYourFaceText("Yüzünüzü çerçeveye ortalayın")
tooCloseText("Yüzünüzü uzaklaştırın")
tooFarText("Yüzünüzü yaklaştırın")
moveLeftText("Yüzünüzü sola kaydırın")
moveRightText("Yüzünüzü sağa kaydırın")
moveUpText("Yüzünüzü yukarı kaldırın")
moveDownText("Yüzünüzü aşağı indirin")
lookStraightText("Kameraya düz bakın")
headTiltedText("Başınızı düzeltin")
startButtonText("Kayda Başla")
stopButtonText("Kaydı Durdur")
retakeButtonText("Yeniden Kaydet")
confirmButtonText("Onayla ve Gönder")
readingInstructionText("Ekranda gösterilen metni yüksek sesle okuyun")
addInfo(videoRecordInfo)
toolbarTitle("Sesli Video Doğrulama")
toolbarRightCloseIcon(R.drawable.ic_close)
stepInformationTextToSpeech("Ekranda gösterilen metni yüksek sesle okuyarak video kaydı oluşturun.")
}

UIConfig

Uygulamada kullanılacak genel tasarımsal özellikleri belirlemek için kullanılır. v1.4.5 ile birlikte UIConfig; renk, tipografi ve şekil ayarlarını ayrı alt bloklar (colors, typography, shapes) altında yapılandıran modüler bir yapıya kavuşmuştur. Belirtilmeyen her ayar SDK'nın varsayılan değerini korur, dolayısıyla yapılandırma tamamen toplamsaldır (additive). v1.6.0 ile birlikte tüm renk ve şekil ayarları erişime açılmıştır.

colors

ParametreTipAçıklama
primaryColor@ColorInt IntAna marka rengi (MaterialTheme.colorScheme.primary, çerçeveli buton kenarlığı).
onPrimaryColor@ColorInt IntprimaryColor üzerinde gösterilecek içerik rengi.
surfaceColor@ColorInt IntYüzey rengi (bottom sheet'ler, kartlar).
onSurfaceColor@ColorInt IntsurfaceColor üzerinde gösterilecek içerik rengi.
backgroundColor@ColorInt IntPencere arka plan rengi.
errorColor@ColorInt IntHata vurgu rengi.
successColor@ColorInt IntBaşarı vurgu rengi.
textPrimaryColor@ColorInt IntBirincil metin rengi.
textSecondaryColor@ColorInt Intİkincil metin rengi.
overlayColor@ColorInt IntKamera overlay rengi — belge/yüz çerçevesinin dışında kalan yarı saydam alan.
buttonColor@ColorInt IntButonların arka plan rengi. (Varsayılan: 0xFF1643E4)
buttonTextColor@ColorInt IntButonların metin/içerik rengi. (Varsayılan: beyaz)
lineButtonTextColor@ColorInt IntÇerçeveli (line) butonların metin rengi. (Varsayılan: siyah)
bulletTextColor@ColorInt IntBilgi ekranlarındaki madde işareti metin rengi. (Varsayılan: 0xFF808080)
titleColor@ColorInt IntBilgi ekranlarındaki başlık metin rengi.
descriptionColor@ColorInt IntBilgi ekranlarındaki açıklama metin rengi.
not

buttonColor/buttonTextColor/bulletTextColor alanları, geriye dönük uyumluluk için primaryColor/onPrimaryColor/textSecondaryColor alanlarından bağımsız tutulmuştur. Tek bir marka rengi uygulamak için her çiftin iki üyesini de ayarlamanız gerekir.

typography

ParametreTipAçıklama
fontFamily@FontRes IntSDK genelinde kullanılacak font ailesi (R.font.<dosya>). Belirtilmezse sistem fontu kullanılır.
titleFontSizeInt (sp)Başlık metinleri için font boyutu. (Varsayılan: 28)
bodyFontSizeInt (sp)Gövde metinleri için font boyutu. (Varsayılan: 16)
labelFontSizeInt (sp)Küçük etiketler (madde, kamera uyarıları) için font boyutu. (Varsayılan: 14)
timerFontSizeInt (sp)Canlılık/sayaç ekranlarındaki geri sayım metni boyutu. (Varsayılan: 32)
buttonFontSizeInt (sp)Buton metinleri için font boyutu. (Varsayılan: 16)
titleFontWeightIntBaşlık metni font kalınlığı (100–900). (Varsayılan: 700)
bodyFontWeightIntGövde/etiket metni font kalınlığı. (Varsayılan: 400)

shapes

ParametreTipAçıklama
buttonCornerRadiusInt (dp)Butonların köşe yarıçapı. (Varsayılan: 12)
cardCornerRadiusInt (dp)Uyarı kartları / ipucu kutularının köşe yarıçapı. (Varsayılan: 8)
imageFrameCornerRadiusInt (dp)Görsel / animasyon çerçevelerinin köşe yarıçapı. (Varsayılan: 18)
bottomSheetCornerRadiusInt (dp)Bottom sheet üst kenarlarının köşe yarıçapı. (Varsayılan: 28)
cameraOverlayCornerRadiusInt (dp)Kamera overlay kesitinin köşe yarıçapı. (Varsayılan: 12)

VideoCall görselleri (kök seviye)

ParametreTipAçıklama
setVideoCallExternalLogoImage@DrawableRes Intv1.1.0 ile eklendi. VideoCall ekranında gösterilecek harici logo görselini belirtir.
setVideoCallSplashScreenImage@DrawableRes Intv1.1.0 ile eklendi. VideoCall başlamadan önce gösterilecek başlangıç ekranı (splash) görselini belirtir.

UIConfig Kullanımı

    val uiConfig = buildUIConfig {
colors {
primaryColor(0xFF1643E4.toInt())
buttonColor(0xFF1643E4.toInt())
buttonTextColor(0xFFFFFFFF.toInt())
bulletTextColor(0xFF808080.toInt())
lineButtonTextColor(0xFF000000.toInt())
surfaceColor(0xFFFFFFFF.toInt())
overlayColor(0x80141414.toInt())
}
typography {
fontFamily(R.font.brand_regular)
titleFontSize(28)
buttonFontSize(16)
}
shapes {
buttonCornerRadius(30)
bottomSheetCornerRadius(28)
}
setVideoCallExternalLogoImage(R.drawable.ic_logo_sample)
setVideoCallSplashScreenImage(R.drawable.ic_logo_sample)
}

KYC

Bu, KYC’yi başlatacak ana fonksiyondur. Belirtilen tüm özellikler burada eklenir ve process fonksiyonu ile bir KYC akışı başlatılır.

KYC Özellikleri

ParametreTipAçıklama
baseUrlStringUygulama geneli kullanılacak baseUrl, onPremise sunucudan gelecek url.
videoCallBaseUrlStringVideoCall akışı için kullanılacak url, onPremise video call sunucusundan gelecek url.
addUIConfigUIConfigSDK genelinde UI yapılandırma özelliklerini belirtmek için kullanılır.
showCompletedScreenBooleanTüm adımlar başarıyla tamamlandığında başarı ekranının gösterilip gösterilmeyeceğini belirtir.
completedScreenTextsCompletedScreenTextsv1.6.0 ile eklendi. Başarı ekranının başlık, açıklama ve buton metinlerini özelleştirmek için kullanılır.
languageStringv1.6.0 ile eklendi. SDK dilini belirler ("tr", "en", "ru"). Belirtilmezse cihaz dili kullanılır.
identifierStepsMutableList<Step>Oluşturulan özelliklerle birlikte tüm adımların sisteme dahil edilmesini sağlar.
addClientTokenStringSDK’yı başlatmak için gereken istemci belirteci (client token) bilgisini iletmek amacıyla kullanılır.
addApplicationIdStringSDK’yı başlatmak için gereken applicationId bilgisini iletmek amacıyla kullanılır.
addErrorMessagesHashMap<KYCErrorString>SDK’de hata mesajlarını özel metinlerle görüntülemek için kullanılır.
onEventKYCEventSDK’den gelen olayları Firebase, Mixpanel veya Countly gibi üçüncü taraf analiz araçlarına aktarmak için kullanılabilir.
onErrorKYCErrorSDK tarafından üretilen hata mesajlarını loglamak için kullanılabilir.
onCompletionBooleanKullanımdan kaldırıldı (deprecated); yerine onProcessFinished kullanılmalıdır. Bir sonraki major versiyonda tamamen kaldırılacaktır; geriye dönük uyumluluk için şimdilik çağrılmaya devam eder.
onProcessFinishedKYCProcessResultKYC akışı başarılı, başarısız veya iptal olarak sonlandığında entegre uygulamayı bilgilendirir.
shouldGetCustomerLocationBooleanKullanıcının lokasyon bilgilerinin alınıp alınmamasını belirler.
sslPinsList<String>SSlPinnings kullanmak için gerekli sha256 keylerin eklenmesi amacıyla kullanılır.
processContextBelirtilen özelliklerle bir KYC akışı için SDK’yı başlatmak amacıyla kullanılır.
dismissKYCBooleanAktif KYC akışını programatik olarak durdurup kapatmak için kullanılır.

KYC Kullanımı

    val kyc = buildKYC {
addUIConfig(uiConfig)
showCompletedScreen(true)
completedScreenTexts(CompletedScreenTexts.buildCompletedScreenTexts {
titleText("Hesabınız doğrulandı!")
descriptionText("Uygulamayı kullanmaya devam edebilirsiniz.")
buttonText("Devam")
})
language("tr")
identifierSteps(mutableListOf(front,hologram,back,nfc,liveness,passport,videoCall,selfie,videoRecord))
addClientToken(AppSharedPref.getClientToken(context))
addApplicationId(AppSharedPref.getAppId(context))
addErrorMessages(hashMapOf(
KYCNFCError.NOT_ENABLE to "not enable",
KYCCameraError.FLASH_MODE to " flash mode"))
onEvent { Log.i("TEST_LOG", "KYC Event:${it.name}")}
onError { Log.i("TEST_LOG", "KYC Error:${it.type} - ${it.message}")}
onProcessFinished { result ->
when (result) {
KYCProcessResult.Successful -> Log.i("TEST_LOG", "KYC Successful")
is KYCProcessResult.Failed -> Log.i("TEST_LOG", "KYC Failed step:${result.stepName} reason:${result.reason}")
is KYCProcessResult.Cancelled -> Log.i("TEST_LOG", "KYC Cancelled step:${result.stepName} reason:${result.reason}")
}
}}
kyc.process(context)
kyc.dismissKYC()
not

KYCProcessResult.Failed ve KYCProcessResult.Cancelled, stepName'in yanında bir de reason alanı taşır (Failed.reason: String, Cancelled.reason: KYCCancelReason). Bu alan, akışın neden başarısız/iptal olduğuna dair asıl bilgiyi içerir; loglama ve destek süreçleri için result.reason'ın da okunması önerilir.

KYCError

SDK'dan gelebilecek hataların tipi ve açıklamarına buradan ulaşılabilir. Değiştirilmek istenen hata mesajları addErrorMessages ile KYCError,String şeklinde değiştirilebilir. örn: KYCCameraError.FLASH_MODE to " flash mode"

ParametreAçıklama
UNKNOWNBilinmeyen hata
FIRST_STEP_UNDEFINEDİlk adım null olamaz!
APP_IDENTIFIER_STEPS_IS_NOT_SAME_APIUygulamada tanımladığınız adımlar ile API'de tanımladığınız adımların aynı olması gerekmektedir.

KYCCameraError

ParametreAçıklama
UNKNOWNBilinmeyen bir hata oluştu. Lütfen tekrar deneyin.
PERMISSION_NOT_GRANTEDKamera izinleri verilmedi. Lütfen kamera izinlerinizi veriniz.
CAMERA_PERMISSION_REQUIREDKamera izni gerekli. Lütfen kamera izni veriniz.
CAMERA_PERMISSION_PERMANENTLY_DENIEDKamera izni kalıcı olarak reddedildi. Lütfen ayarlardan kamera izni veriniz.
RECORD_AUDIO_REQUIREDSes kaydı izni gerekli. Lütfen ses kaydı izni veriniz.
RECORD_AUDIO_PERMANENTLY_DENIEDSes kaydı izni kalıcı olarak reddedildi. Lütfen ayarlardan ses kaydı izni veriniz.
CAMERA_SOURCE_PREVIEW_NOT_FOUNDKamera ön izlemesi oluşturulamadı. Lütfen tekrar deneyin.
CAMERA_SOURCE_NOT_FOUNDKamera bulunamadı. Lütfen kamerayı kontrol edin.
FLASH_MODEFlash aç/kapa işlemi sırasında bir hata oluştu. Lütfen tekrar deneyin.
VIDEO_WRITE_FAILEDVideo kaydedilirken bir hata oluştu. Lütfen tekrar deneyin.
VIDEO_READ_FAILEDVideo bulunamadı. Lütfen dosyanın varlığını kontrol edin.
VIDEO_EXECUTE_COMMAND_CANCELLED_BY_USERVideo düzenleme işlemi kullanıcı tarafından iptal edildi.
VIDEO_EXECUTE_COMMANDS_FAILEDVideo düzenleme işlemi başarısız oldu. Lütfen tekrar deneyin.
VIDEO_COMPRESS_FAILEDVideo sıkıştırma işlemi başarısız oldu. Lütfen tekrar deneyin.
CODEC_NOT_SUPPORTEDVideo düzenleme işlemi başarısız oldu. Lütfen tekrar deneyin.

KYCNFCError

ParametreAçıklama
UNKNOWNBilinmeyen bir hata oluştu. Lütfen tekrar deneyin.
DEVICE_NOT_HAVE_NFCCihazda NFC modülü bulunmuyor. Bu özellik yalnızca NFC destekli cihazlarda çalışır.
DISABLE_NFC_ADAPTERNFC modülü devre dışı bırakılırken bir hata oluştu. Lütfen NFC'yi tekrar etkinleştirin.
NOT_ENABLENFC modülü aktif değil. Lütfen NFC'yi etkinleştirin.
NOT_DISCOVEREDNFC açıkken kimlik taranamadı. Lütfen kimliği tekrar yaklaştırın.
TAG_NOT_SUPPORTEDKimlik bilgisi desteklenmiyor. Bu kimlik kartı desteklenmemektedir.
TAG_LOSTKimlik bilgisi okunamadı. Lütfen kimliği tekrar yaklaştırın.
ISODEP_NOT_FOUNDKimlik bilgisi okunamadı. Lütfen kimliği tekrar yaklaştırın.
PASSIVE_AUTH_FAILEDKimlik bilgisi algılanamadı. Lütfen geçerli bir kimlik kullanın.
PHOTO_NOT_FOUNDKimlik kartında fotoğraf bilgisi yok. Lütfen geçerli bir kimlik kullanın.
PERSON_DETAIL_NOT_FOUNDKişi bilgisine ihtiyaç var. Lütfen kimliği doğru yerleştirin.
CARD_AUTH_FAILEDKimlik bilgileri tanımlanamadı.
WRONG_MRZ_STRINGMRZ bilgisi algılanamadı. Lütfen kimliği tekrar yaklaştırın.