-1015, -21XX (SDK 認証エラー)
プラットフォーム別の初期化方法
Android と iOS では SDK 初期化 API とエラー確認方法が異なります。エラーの発生原因と解決方法にもプラットフォーム別の違いがあるため、検証を開始する前に対象プラットフォームをまず確認してください。
| 項目 | Android | iOS |
|---|---|---|
| 初期化メソッド | setCertification(key, expireDate, isTablet) | storage.applicationKey / applicationBundleID / applicationExpireDate を設定後、start() を呼び出す |
| エラー確認方法 | getErrorCode() の戻り値を確認(同期方式) | start() 実行時に例外処理が発生(try/catch 方式) |
| 認証識別子 | アプリパッケージ名(applicationId)を自動抽出 | Bundle ID(CFBundleIdentifier)を明示的に入力 |
| 追加パラメーター | isTablet(モバイル・タブレット区分値) | なし |
| デバイスバインディング | setDevice(path, isTablet) の別途呼び出しが必要 | start() メソッド実行時に内部で自動処理 |
-2103
- エラーコード: -2103
- タイプ: プラットフォームにより定数名が異なる
- iOS:
ERROR_INCORRECT_BUNDLE_ID - Android:
ERROR_INCORRECT_PACKAGE_NAME
- iOS:
- 概要: SDK 初期化時に渡した認証情報(キー、有効期限、Bundle ID またはパッケージ名)が発行記録と一致しない
原因
| 原因 | プラットフォーム | 説明 |
|---|---|---|
| Bundle ID の不一致 | iOS | ソースコー ドの storage.applicationBundleID 設定値が、プロジェクトの Info.plist に定義されている実際の CFBundleIdentifier 値と異なる場合です。 |
| パッケージ名の不一致 | Android | SDK が自動抽出したアプリのパッケージ名と、ライセンス発行時に登録したパッケージ名(applicationId)が異なる場合です。 |
| Debug/Release ビルドの混用 | Android, iOS | ビルド構成(Variant/Target)ごとに識別子を異なる設定にした状態で、ライセンスキーを交差コピーして混用した場合です。 |
| 開発/本番アプリの混用 | Android, iOS | 開発用(Debug)キーでビルドしたアプリを本番環境で実行したり、逆に本番用(Release)キーを開発環境でテストした場合です。 |
注意
SDK キー文字列と有効期限の日付が正確であっても、Android のパッケージ名や iOS の Bundle ID が登録情報と異なれば -2103 エラーが発生するため、注意してください。
診断(Android)
- 初期化コードが呼び出されるモジュールの
build.gradleファイルを開き、applicationIdの値を確認してください。 - マルチモジュール構成やビルドバリアント(Build Flavors/Product Flavors)を使用している場合は、現在ビルドされている Variant の最終的な
applicationId文字列を確認してください。 - SDK が内部で自動抽出したパッケージ名と、ライセンス発行時に登録したパッケージ名が完全に一致しているか比較してください。
診断(iOS)
- Xcode プロジェクト設定の [Target] > [General] > [Identity] > [Bundle Identifier] パスに定義されている値を確認してください。
- ソースコードで
storage.applicationBundleIDに代入した文字列と、Xcode のCFBundleIdentifier値が大文字・小文字まで完全に一致しているか確認してください。storage.applicationBundleID = "com.example.myapp" // Must exactly match the CFBundleIdentifier in Info.plist. - ビルド構成(Debug/Release)によって Bundle ID が異なる場合は、ビルド環境ごとに適切な
applicationBundleIDと SDK キーが対応するよう分岐処理が行われているか確認してください。
解決方法
診断で発見された不一致の識別子項目を修正してから再ビルドしてください。
- 識別子(Bundle ID/パッケージ名)自体を完全に変更する必要がある場合、既存のキーは使用できません。営業担当者(jp_sales@catenoid.net)までお問い合わせください。
-2104
- エラーコード: -2104
- タイプ:
ERROR_EXPIRED_AUTH_DATE - 概要: SDK ライセンスの有効期間が失効
原因
| 原因 | 説明 |
|---|---|
| ライセンス有効期限切れ | SDK 発行時に登録したライセンスの有効期限が、現在時刻基準ですでに過ぎている場合に発生します。 |
| デバイスの時刻誤設定 | ユーザーのデバイスのシステム時刻が未来の時刻に設定されており、ライセンスの有効性検証を通過できない場合です。 |
| 和暦の使用 | 日本地域のデバイスの OS カレンダー設定が和暦(令和・平成など)に設定されている場合、日付計算エラーにより有効期限切れとして誤検知することがあります。 |
診断
- 発行されたライセンスの正確な有効期限を確認してください。(営業担当者(jp_sales@catenoid.net)の発行記録から確認できます。)
- デバイスの日付と時刻の設定メニューで、ネットワーク時刻同期(自動設定)が有効になっているか確認してください。
- Android: [設定] > [システム] > [日付と時刻] > [日時を自動設定]
- iOS: [設定] > [一般] > [日付と時刻] > [自動設定]
- 日本のユーザーのデバイスの場合、OS のカレンダー設定が西暦に指定されているか確認してください。