ข้ามไปยังเนื้อหาหลัก

iOS, Android & React Native

Wrapper แบบเนทีฟสำหรับ iOS (Swift / Objective-C), Android (Kotlin / Java) และ React Native จะเปิด WebView เต็มจอที่รัน engine ตัวเดียวกับ Web SDK จากหน้าที่เราโฮสต์ไว้ การถ่ายจึงทำงานเหมือนกันทุกแพลตฟอร์ม และเมื่อ engine ปรับปรุง แอปของคุณจะได้ใช้โดยไม่ต้องออกเวอร์ชันใหม่ ตอนแอปทำงานต้องมีกล้อง และต่ออินเทอร์เน็ตไปที่ https://iapp.co.th/sdk/webview.html ได้

ทุก wrapper มี flow ชุดเดียวกัน:

ติดตั้งและเปิด flow​

  1. ต้องใช้ iOS 15 ขึ้นไป และมี NSCameraUsageDescription ใน Info.plist
  2. ใน Xcode เลือก File → Add Package Dependencies… ใส่ https://github.com/iapp-technology/iapp-ekyc-sdk แล้วเพิ่ม product IappEkyc
  3. เปิด flow แล้วจัดการผลลัพธ์
import IappEkyc

let config = IappEkycConfig(apiKey: "YOUR_API_KEY", flow: .documentCapture)
config.documentType = .thaiIdFront // .thaiIdBack .passport .thaiDriverLicense .bookBank .thaiIdWithSignature
config.locale = .th // .en / .th / .zh

IappEkycSdk.present(from: self, config: config) { result in
switch result {
case .success(let outcome):
print(outcome.document?.rawJSON ?? [:]) // ผลลัพธ์ OCR เต็มรูปแบบ
case .failure(let error as NSError)
where error.code == IappEkycErrorCode.cancelled.rawValue:
break // ผู้ใช้ยกเลิก
case .failure(let error):
print(error.localizedDescription) // error.code: IappEkycErrorCode
}
}

Active liveness คืนผลตัดสินที่เซิร์ฟเวอร์ลงนามรับรอง:

let config = IappEkycConfig(apiKey: "YOUR_API_KEY", flow: .activeLiveness)
IappEkycSdk.present(from: self, config: config) { result in
if case .success(let outcome) = result, let liveness = outcome.liveness {
// ตรวจสอบ verdictJSON + ลายเซ็นบนแบ็กเอนด์ของคุณ — อย่าเชื่อถือ
// `passed` เพียงอย่างเดียวบนอุปกรณ์
upload(liveness.verdictJSON, liveness.signature, liveness.selfieImageData)
}
}

Objective-C ใช้คลาสเดียวกันผ่าน delegate:

@import IappEkyc;

IappEkycConfig *config = [[IappEkycConfig alloc] initWithApiKey:@"YOUR_API_KEY"
flow:IappEkycFlowTypeDocumentCapture];
config.documentType = IappEkycDocumentTypeThaiIdFront;
[IappEkycSdk presentFrom:self config:config delegate:self];
// Implement IappEkycViewControllerDelegate: didFinishWithResult / didFailWithError / didCancel

สิ่งที่เหมือนกันทุกแพลตฟอร์ม​

  • API key: ส่ง apiKey: "" และตั้ง baseUrl เป็น backend ของคุณเอง เพื่อเก็บ key ไว้ฝั่งเซิร์ฟเวอร์ key จะถูกส่งเข้าหน้า bridge หลังโหลดเสร็จ ไม่ผ่าน URL SECURITY.md
  • ธีมและภาษา: ใช้ token และ locale en / th / zh ชุดเดียวกับ Web SDK ตั้งผ่าน config object ของแต่ละแพลตฟอร์ม
  • ผลตัดสิน liveness: ผลที่เซิร์ฟเวอร์ลงนามรับรองเท่านั้นที่ยืนยันว่าผ่าน ให้คำนวณ HMAC ใหม่บน backend ของคุณก่อนเชื่อค่า passed ดู Face Active Liveness
  • การยกเลิก: ปุ่ม Cancel ใน flow, ปุ่มย้อนกลับของ Android และการปัดปิดบน iOS จะคืนผลเป็นการยกเลิกเหมือนกัน ส่วนการปิดหรือ unmount flow จะยุติการทำงานอย่างเรียบร้อย
  • โปรโตคอล bridge: สัญญาระหว่าง wrapper กับ engine ฉบับเต็มอยู่ใน WEBVIEW_BRIDGE.md

© 2026 iApp Technology Co., Ltd.ข้อกำหนดการใช้งานนโยบายความเป็นส่วนตัวสถานะระบบsale@iapp.co.th