Crashlytics はカスタムウェブ連動機能を使って更新内容をあなたのサーバへ送信します。 カスタムウェブ連動機能を設定するには、あなたのウェブサイトのURLを登録する必要があります。 あなたの設定パネル上でアプリをクリックし、連携サービスのページで“Web Hook,”をクリックしてあなたのURLを入力します。
カスタムウェブ連動機能を有効にする場合、登録したURLで動いているサービスは二つの POST リクエスト (検証リクエストと問題の影響変動) に応答しなければなりません 。
Custom Web HooksCrashlytics can automatically send updates your servers through custom web hooks. To configure a custom web hook, you’ll need to provide the URL of your server. Click on the app in your settings panel and then on the integrations page, click “Web Hook,” and enter your URL. When you enable a custom Web Hook, the service behind your URL must respond to two POST requests - Verification and Issue Impact Change. |
1. 検証用リクエスト
ウェブ連携機能を有効にした後、 Crashlytics は登録されたURLに検証用リクエストを送信します。 このPOSTは ‘verification’ パラメータを持っており、body部は以下のような JSON 形式になっています:
{ "event": "verification", "payload_type": "none" }
検証リクエストを成功させるには、あなたの連携サービスで200番台のステータスコードで応答しなければなりません。
1. Verification After configuring your Web Hook, Crashlytics will send a verification to the provided URL. The POST will have a ‘verification’ parameter, and the body will be JSON of the form: { "event": "verification", "payload_type": "none" } Your service must respond with a 200 level status code for the verification to succeed. |
2. 問題の影響変動
各問題ごとに、あなたが設定した閾値(影響レベル)に達した時に通知が一回発生します。この時、 Crashlyticsは以下のようなJSON 形式を送信します:
{ "event": "issue_impact_change", "payload_type": "issue", "payload": { "display_id": 123 , "title": "Issue Title" , "method": "methodName of issue", "impact_level": 2, "crashes_count": 54, "impacted_devices_count": 16, "url": "http://crashlytics.com/full/url/to/issue" } }
2. Issue Impact Change The notification will occur only once per issue, when it hits the threshold (impact level) you set. At this time, Crashlytics will POST JSON of the form: { "event": "issue_impact_change", "payload_type": "issue", "payload": { "display_id": 123 , "title": "Issue Title" , "method": "methodName of issue", "impact_level": 2, "crashes_count": 54, "impacted_devices_count": 16, "url": "http://crashlytics.com/full/url/to/issue" } } |
このPOSTでは問題については全ての基本情報が含まれています:
またダッシュボード上の問題管理ページの直リンクも含まれています。連携サービスではこのPOSTに対して200番台のステータスコードで応答しなければなりません。 連携サービスで初回に応答失敗した場合、Crashlytics は数回リトライをします。
The POST will contain all the basic information about the issue:
It will also include the direct URL to the issue page on our dashboard. Your service must respond with a 200 level status code to this POST. Crashlytics will retry a few more times if the service fails to respond initially. |