iOS MA SDK エラーコード

クライアントエラーコードの定義

本ドキュメントは v5.5.0 以降のスタンドアロン版 MTMA SDK を対象としています。

Code 説明 詳細説明
0 リクエスト成功 API リクエストが成功しました
-1 リクエスト失敗 ネットワーク異常、レスポンス形式のエラー、初期化設定で MA 機能が無効、またはその他の不明なエラー
-2 リクエスト失敗 start: API が呼び出されていない、MTMA の初期化がまだ成功していない、またはキューに入ったリクエストの実行前に MA AppKey、プロジェクト、ユーザー識別情報が変更された
-3 無効な設定 MA AppKey が 24 桁の英数字でない、identifyAccount: の値の整形後に有効な識別子が残らないなど、パラメータの検証に失敗した
-4 プロジェクトが無効 実行時 API が MA 機能の無効化を検出した、またはサーバーがプロジェクト無効のエラーを返した。初期化設定で MA 機能が無効の場合は -1 を参照
-5 旧版用に保持 旧版では AppPush の登録失敗を示すために使用。スタンドアロン版 MTMA では使用しません
-6 プロジェクトの切り替え プロジェクトが切り替わったため、start: API を再度呼び出して初期化する必要があります
-7 API リクエスト実行中 キューをサポートしない API ですでにリクエストを実行中。有効な start: 呼び出しは、初期化リクエストがすでに存在していてもこのコードを返しません。サードパーティ Push チャネルのリクエストは順番にキューで処理されます

サーバーの業務コード

上の表は SDK 自体が生成するエラーコードです。サーバー側で業務処理が失敗した場合、SDK は対応する業務コードとメッセージを返すため、コールバックの code が正の値になることがあります。個々の業務コードは原因調査用であり、バージョン間の互換性は保証されません。これらを条件に業務処理を分岐させないでください。

初期化結果は MTMAInitResult.isSuccess で判断してください。その他の API は code=0 でリクエストの成功を判断します。予期しない失敗が発生した場合は、code と message をそのままテクニカルサポートに提供してください。

  • identifyAccount:code=0 は、すべての識別子の設定成功を意味しません。ユーザー識別子の設定を参照してください。
  • object_array 属性がサーバーで未定義の場合、要素単位の操作は code=0 を返しても変更が行われないことがあります。その他のデータが変更されないケースは、ユーザー属性の設定を参照してください。実際の結果は MA コンソールまたはサーバー側のユーザー属性で確認してください。
シナリオ コールバックの code コールバックの message
サーバーが業務処理の失敗を返す(HTTP 4xx/5xx で、レスポンス本文が有効な JSON かつ数値の code を含む) サーバーの code の値をそのまま返す サーバーの msg/message をそのまま返す
ネットワーク異常、またはレスポンス本文から業務コードを解析できない -1 SDK の固定メッセージ
プロジェクトが無効 / プロジェクトの切り替え(HTTP 400 + 40001/40002 -4 / -6 上の表を参照

付録:よくあるサーバー業務コード

以下の値は原因調査の参考用です。SDK またはサーバーのバージョンが変わっても同じ値が維持される保証はありません:

Code 意味
55004 業務パラメータが無効。例えば、アプリの Bundle Identifier が MA データソース設定と不一致または未紐付け、チャネルの AppKey が現在のプロジェクトにマッピングされていない、channelId が現在のプロジェクトに存在しない。具体的な原因は message と併せて判断してください
55108 EUID が無効。例えば、EUID と MA RID が同じ MA ユーザーに属していない
55110 リクエスト頻度が高すぎる。例えば、同じ AppPush RID の紐付けが同時に実行されている。しばらくしてから再試行できます
55000 サーバーのシステムエラー

ユーザー識別子ごとの処理結果

以下には SDK のローカル検証結果とサーバーからの結果が含まれます。フィールドの処理規則については、MTMAUserID クラスを参照してください:

Code 意味
0 このユーザー識別子の処理に成功
3001 ユーザー識別子の値が空(サーバーの参考コード。本バージョンの SDK では、公開されている 4 つの識別子フィールドの空値は未指定として扱い、フィールド単位の 3001 は生成しません)
3002 ユーザー識別子が現在のプロジェクトで定義されていない
3003 ユーザー識別子の値が長さの上限を超えている
3013 ユーザー識別子の型または形式が不正。NSString 以外の型を含む
Icon Solid Transparent White Qiyu
お問い合わせ