---
title: ベストプラクティス
description: Unico SDKの統合、アップデート、テスト、安全な本番リリースに関するガイドライン（ステージング環境（UAT）のセキュリティ規則を含む）。
canonical: https://developer.unico.io/ja/developers/sdks-and-tools/best-practices-for-sdk-implementation
locale: ja
generated_by: markdown-export
---

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

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

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

リファレンスアプリから始める
Unicoは[reference-apps](https://github.com/unico-labs/reference-apps)リポジトリで各SDK向けのリファレンスアプリを提供しています。各アプリはユーザージャーニー全体を実装しています。
SDKを常に最新の状態に保つ
SDKはより高いセキュリティと新機能を提供するために継続的に進化しています。特に重要なアップデートは迅速に適用することが不可欠です。タイムラインと義務については[アップデートポリシー](/ja/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 — Journeys SDKリリースノート](/ja/developers/sdks-and-tools/web/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キーと設定を使用してください — テストで本番環境の認証情報を使用しないでください。
IDCloudのステージング環境（UAT）は、**本番環境と同じセキュリティ基準**を適用します。以下のガイドラインでは、その理由と中断なくテストする方法を説明します。
ステージング環境で変わった点
**以前 — 検知はするが拒否しない**
実際の利用パターンから外れた条件は検知されていましたが、キャプチャを妨げることはありませんでした。
**現在 — 検知して拒否する**
同じ条件が、本番環境と同じ厳格さで生体検知の拒否につながります。
この制限がある理由
**忠実性 — 本番環境との同等性**
ステージング環境で通るものは、本番環境でも同じように動作しなければなりません。これにより、テストで承認された連携が本番リリース後に予期せず失敗することを防ぎます。
できることとできないこと
実際の利用に近い条件でテストすれば、セキュリティ層が開発の妨げになることはありません。
市場標準ではない開発ツールはセキュリティ検証を発動させ、取引がブロックされる可能性があります。
シナリオ状態連携の完全なフロー — キャプチャ、送信、APIレスポンス、戻り値✅ 可機能シナリオ: UI/UX、パフォーマンス、業務エラー✅ 可エンドユーザーの標準構成の端末✅ 可バックエンド、API、データ処理との連携✅ 可root化/ジェイルブレイクされた端末❌ 不可デバッグモード / USBデバッグの有効化❌ 不可エミュレーターまたは仮想化❌ 不可仮想カメラまたはキャプチャ自動化ツール❌ 不可接続を変更するツール❌ 不可端末上の企業MDMやアクティブな監視❌ 不可コンテナや仮想マシン内のサンドボックス❌ 不可
これらの条件はいずれも生体検知の拒否につながる可能性があります。
QAサイクルがこれらの条件のいずれかに依存していますか？環境構成に関する案内については[サポートチーム](https://business.unico.io/hc/)にご連絡ください。例外、個別の解除、一時的な緩和は一切ありません — Unicoは必要と判断する間、ステージング環境を本番環境と同等に維持します。
### プラットフォーム別ガイドライン​

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月23日**に