For AI agents: a documentation index is available at /docs/llms.txt. Append .md to any page URL for markdown, or send Accept: text/markdown.
SDKのトラブルシューティングとデバッグ
データ検証はインストルメンテーションプロセスにおける重要なステップです。Amplitudeはデバッグを合理化し、プロジェクトのスムーズな実装をサポートするツールを提供します。
ブラウザベースのデバッグを行うには、Amplitude Chrome拡張機能を使用して、Amplitude JS SDKインストルメンテーションをリアルタイムで検査およびデバッグできます。 この拡張機能は、ユーザーがトリガーする各Amplitudeイベントをキャプチャし、それを拡張機能のポップアップに表示します。これにより、SDKの設定を確認したり、問題をトラブルシューティングしたりできます。
以下のセクションでは、一般的な問題とその解決策について説明します。
Amplitudeに表示されないイベント
どのイベントも取り込めない場合は、次のことを確認してください。
正しいAPIキーを使用していますか?
init()中にAPIキーを正しく設定しているか確認してください。EUでのデータレジデンシーを有効にした場合は、APIキーはhttps://analytics.eu.amplitude.com/から取得してください。データ地域規制により、API の詳細がそこに保存されます。複数のインスタンスを使用していますか? 正しいインスタンスを使用していることを確認してください。複数の SDK バージョンが競合する場合があります。 競合を避けるため、各インスタンスに異なる名前を付けてください。最新のSDKでは、異なる方法でインスタンス化するために、個別の変数を作成する必要がある場合があります。
Amplitudeデータを使用していますか? Amplitudeデータを使用している場合は、イベントがブロックされていないことを確認してください。
有効な値を
userIdとdeviceIdに設定していますか?deviceIdまたはuserIdが有効であることを確認してください。無効な値は、400エラーを引き起こす可能性があります。 詳細については、「デバイス ID とユーザー ID の最小長」を参照してください。flushQueueSizeまたはflushIntervalMillisに達していませんか? デフォルトでは、SDKはイベントをキューに登録し、バッチで送信するため、イベントはすぐにサーバーに到達しません。正確な値はプラットフォームによって異なります。 イベントがサーバーに到達するまで待ってから、グラフでイベントを確認してください。
エンドポイントの制限とスロットリング
Amplitudeはエンドポイント制限を適用して、プラットフォームをトラフィックの急増から保護します。 これらの制限を理解することは、レート制限のシナリオを効果的に処理するのに役立ちます。
エンドポイントの制限
Amplitudeは、各エンドポイントが1秒間に処理できるイベント数に制限を設定します。
- デフォルトの制限:プロジェクトあたり毎秒100,000イベント(各エンドポイントごとに個別にカウントされます)。
- グループ識別エンドポイント:1組織につき1秒あたり10,000イベント。
- SDKエンドポイント:プロジェクトごとに1秒あたり150,000イベント。
- HTTP APIおよびHTTP API v2: プロジェクトごとに1秒あたり50,000件のイベント。
これらの制限を超えると、AmplitudeはHTTP 429ステータスコードを返します。 イベントを再送信する前に60秒間待機してください。
標準スロットリング
Amplitudeでは、組織全体でユーザーまたはデバイスあたり毎秒30件のイベントというスロットリング制限を適用しています。この制限は、SDKエンドポイントを含むすべてのエンドポイントに適用され、個々のユーザーやデバイスからの過剰なイベントボリュームを防ぎます。
この制限を超えると、Amplitudeはイベントを抑制し、警告を記録します。 この制限内に収まるように、イベントトラッキングを時間的に分散させるか、イベント呼び出しの頻度を減らしてください。
プライバシー
すでにIPを無効にしている場合でも、最新SDKを使用しているときにユーザールックアップにIPが表示されることがあります。AmplitudeはデータをHTTP API(メンテナンスSDKの場合はHTTP API V1、最新SDKの場合はHTTP API V2)に送信します。途中でIPアドレスを無効にした場合、Amplitudeはユーザーの以前のIPアドレスをバックエンドに保存している可能性があります。 バックエンドは、データベースが存在する場合、保存されたIPアドレスをデータベースから取得します。テストユーザーにとっては、これは通常問題ありません。 IPを無効にした後も、新規ユーザーには影響しません。この問題がすべてのユーザーに影響を与える場合は、新しいワークスペースを作成してください。
Client Event Timeに予期しない値が表示される
Client Event Timeは、デバイスがイベントをログに記録した時点のローカルタイムスタンプ(UTC)です。Amplitudeのさまざまなタイムスタンプについての説明は、生データフィールドを参照してください。
Client Event Time未来の時刻を示しますclient_upload_timeに将来の日時が表示されている場合は、このセクションをチェックしてください。client_upload_timeは、お客様のデバイスによって決定されます。顧客の時計が正しく設定されていない場合、この値は未来の時刻として表示されることがあります。 最新のSDKを使用している場合は、エンリッチメントプラグインを使用してイベントペイロードから時間を削除できます。 エンリッチメントプラグインは、SDKによるお客様のデバイスクロックの使用を停止し、代わりにserver_upload_timeを使用します。このアプローチには欠点があります:イベントがすぐにアップロードされない場合、記録されたイベント時刻が元のイベント時刻と大きく異なる可能性があります。Client Event TimeはClient Upload TimeClient Event Timeと異なります。 はClient Upload Timeとは異なる場合があります。高パフォーマンス環境をサポートするために、SDK はイベントをバッチで送信します。 SDKは、trackメソッドによって記録されたすべてのイベントをクライアント側でキューイングします。SDKは、flushQueueSizeまたはflushIntervalMillisのいずれかが最初に定義された値に一致したときに、イベントをバッチ処理してフラッシュします。その結果、SDKはイベントを追跡し、後でそれをアップロードできます。イベントをより頻繁に送信するには、flushQueueSizeおよびflushIntervalMillisを調整するか、flush()を手動で呼び出します。
デバイスファミリが適切ではありません
ウェブの場合、Amplitudeはサードパーティのライブラリを使用して
Navigator.userAgent情報を解析します(@amplitude/analytics-browser@^2.0を除く)。不適切なデバイスファミリを見つけた場合は、まずNavigator.userAgentの値が想定通りであることを確認してください。Chrome 110 以降、Chrome は Android のバージョンとデバイス モデルに固定値を使用するようになりました。 Chrome のユーザー エージェントの削減は、デバイス情報に影響を与える可能性があります。モバイルSDKの場合、Amplitudeはサーバーデバイスマッピングに依存しています。Amplitudeは、Googleのサポート対象デバイスリストとAndroid用のAndroidスマートフォンのリスト、およびiOS用のタブレットコンピュータの比較を参照します。これらのソースのいずれにも表示されない不適切なデバイスファミリを見つけた場合は、チケットを送信してください。
user_propertiesをidentify呼び出し経由で送信すると表示が遅れる
リクエストにdeviceIdが含まれていない場合や、バッチAPIを経由しない場合、競合状態が発生する可能性があります。Amplitudeバックエンドはパーティションロジックを使用しています。同じdeviceIdがない場合、またはバッチAPIを使用しない場合、2つの呼び出しが別々のバケットに収まる可能性があります。Amplitudeは、異なるバケットやキュー間の処理時間を保証することはできません。identify呼び出しとtrack呼び出しの順序を維持するには、バッチAPIを使用して同じdeviceIdを持つ呼び出しを送信してください。
リクエストの数を減らすために、最新のモバイル SDK は特定の Identify アップデートをキューイングし、統合します。 SDKは、track()経由で送信される次のIdentify以外のイベントと一緒にこれらを送信するまで待機します。ユーザープロパティをすぐに更新するには、flush()を呼び出してください。
イベントの時刻は非常に不正確です
特定のユーザーからのセッションで不正確なイベント時刻がレポートされている場合(たとえば、数百年後の未来や数百年前の過去)、最も可能性が高い原因は次のとおりです。
- エンドユーザーは異常な設定を行っており、デバイスに誤った日付が設定されています。
- エンドユーザーにブラウザ拡張機能がインストールされているため、時刻報告が不正確になります。
これらの問題は、インスツルメンテーションにエラーがあることを示すものではありません。
Was this helpful?