---
title: SDK実装のベストプラクティス
canonical: https://developer.unico.io/ja/dual-api/developers/sdks-and-tools/best-practices-for-sdk-implementation
locale: ja
generated_by: markdown-export
---

- [/ja/](/ja/)
- [SDK とツール](/ja/dual-api/developers/sdks-and-tools/overview)
- SDK実装のベストプラクティス

**このページの内容# SDK実装のベストプラクティス

このページでは、UnicoのSDKを統合・保守するための最も重要なガイドラインをまとめています。これらのプラクティスに従うことで、統合エラーを減らし、セキュリティインシデントを防止し、スムーズな本番環境へのロールアウトを実現できます。
### はじめに​

PoC（概念実証）を活用して実装を容易にする
Unicoは、サポートされているすべての言語にわたる実動コード例を含むPoC（概念実証）を提供しています。これらのPoC は、期待されるメソッドシーケンスと統合パターンを示しています。利用可能なPoCには、クライアントポータルのサポートチケットシステムを通じてアクセスできます。
SDKを常に最新の状態に保つ
SDKはより高いセキュリティと新機能を提供するために継続的に進化しています。特に重要なアップデートは迅速に適用することが不可欠です。タイムラ インと義務については[アップデートポリシー](/ja/dual-api/developers/sdks-and-tools/update-policy)を参照してください。
利用可能な最新バージョンを確認する
各プラットフォームの現在のバージョンは、それぞれのリリースノートで確認できます：

[Androidリリースノート](/ja/developers/sdks-and-tools/android/resources/release-notes)
[iOSリリースノート](/ja/developers/sdks-and-tools/ios/resources/release-notes)
[Flutterリリースノート](/ja/developers/sdks-and-tools/flutter/resources/release-notes)
[Webリリースノート](/ja/dual-api/developers/sdks-and-tools/web/web-sdk/resources/release-notes)

### アップデート戦略​

SDKと他のコンポーネントを同時にアップデートしない
アプリケーションはUnico SDKと並行して複数のライブラリを読み込んでいる可能性があります。複数の依存関係を同時にアップグレードすると、障害の根本原因を特定することが困難になります。SDKを単独でアップデートし、他の変更と組み合わせる前に[ステージング環境](#perform-tests-in-unicos-staging-environment)で検証してください。
SDKアップデートに関するサポート
アップデートの問題についてサポートチケットを開く場合は、以下の情報を含めてください：

SDKの言語と実装タイプ（ネイティブまたはハイブリッド）
使用フレームワーク
現在のバージョンとターゲットバージョン
APIキー
変更内容の説明と再現手順
結果、エラー、ログ、スクリーンショット、または動画

### JWTセキュリティ​

JWTオブジェクトを操作しない
暗号化されたJWTを開いたり変更したりしないでくださいキャプチャ成功後に返されるJWTは**暗号化**されています。開いたり、解析したり、シリアライズしたりしないでください。内部構造は予告なく変更される場合があります。UnicoのAPIに画像を送信する際にのみ使用してください。
画像プレビューには、JWTと一緒に提供されるBase64属性を使用してください — JWTそのものをデコードしないでください。
JWTは10分以内に送信する
警告セキュリティ上の理由から、JWTはキャプチャから**10分以内**にUnicoのバックエンドに送信する必要があります。この時間を超えて送信されたパッケージは無効化されます。
JWTは一度だけ送信する
警告JWTは**一度だけ**送信する必要があります。送信中にエラーが発生した場合は、新たな生体認証キャプチャを実施する必要があります — 同じJWTを再利用しないでください。
### テストガイドライン​

仮想化またはエミュレーターを使用しない
仮想マシンやエミュレーターでSDKを実行すると、セキュリティエラーコード（`73006`、`73600`、`73400`）が発生します。エラーを誤認識したり不要な手戻りを避けるために、常に**物理デバイス**でテストしてください。
Webキャプチャ中はDevToolsを開いたままにしない
Web SDKは 、開いているDevToolsを潜在的な不正シグナルとして検出し、送信を無効化します。エンドツーエンドのキャプチャテストを実行する前にDevToolsを閉じてください。
### Unicoのステージング環境でテストを実施する​

本番環境に移行する前に、Unicoのステージング環境でリアルなシナリオを用いた十分なテストを実施してください。ステージング専用のAPIキーと設定を使用してください — テストで本番環境の認証情報を使用しないでください。
### プラットフォーム別ガイドライン​

Flutter：UnicoのFlutterプラグインを使用する
FlutterアプリケーションでネイティブのAndroidまたはiOS SDKをブリッジしようとしないでください。ネイティブブリッジはマッピングされていないエラーを頻繁に生成します。常にUnicoの専用Flutterプラグインを使用してください。
Web：バージョンアップデート時に古いリソースファイルを削除する
Web SDKを  アップグレードする際は、新しいファイルを挿入する前に`public`フォルダから古いリソースファイルを削除してください。同一名のファイルは自動的に上書きされないため、バージョンの競合が発生する可能性があります。
モバイル：新バージョンのビルド前にキャッシュをクリアする
以前のSDKバージョンのビルドアーティファクトがアップデート後に依存関係エラーを引き起こす可能性があります。新バージョンをビルドする前に：

**Flutter：** `pubspec.lock`を削除して`flutter pub get`を実行する
**iOS：** `pod cache clean --all`と`pod install`を実行する
**Android：** `./gradlew clean`を実行する

難読化設定
難読化設定からUnico SDKコードを除外してください。SDKを難読化すると、デバッグビルドでは現れないリリースビルドでの障害が発生することがよくあります。必要なkeepルールについては、プラットフォーム固有のドキュメントを参照してください。
### UXとパフォーマンス​

準備とカメラ起動フローを2つのステップに分ける
SDKフローを2つの明確なステージに構成してください：

**準備** — ページの読み込み中（ユーザー操作の前）にSDKを初期化する。
**起動** — ユーザーが明示的にアクションをトリガーしたときにのみカメラを起動する。

SDKを事前に準備しておくことで、体感的なレイテンシが低下し、ユーザーエクスペリエンスが大幅に向上します。
### 本番環境へのロールアウト​

本番環境へのロールアウト用の安全なチェックリストを作成する
本番環境へのデプロイ前に確認：

 本番環境のAPIキーと環境設定が正しい
 ロールバック計画が定義されテスト済み
 ログ収集プロトコルが整備されている
 障害対応のためのサポートチケット手順が文書化されている
 ステージング環境でのすべての検証が完了した
最終更新 2026年10月8日**に