Slide 1

Slide 1 text

それでは聞いてください 「Impeller導入に失敗しました」 FlutterKaigi 2025 2025/11/13 生活協同組合コープさっぽろ デジタル推進本部システム企画部 木原 卓也 (tacck) 1

Slide 2

Slide 2 text

私です 木原 卓也 Kihara, Takuya / @tacck 生活協同組合コープさっぽろ デジタル推進本部システム企画部 Software Engineer / Flutter, TypeScript, Vue.js, React ゆるWeb勉強会@札幌 主催 Amplify Japan User Group 運営メンバー AWS Community Builder Since Q2 2021 Frontend Web and Mobile, DevTools 好きなフィギュアスケートの技 スプレッド・イーグル 2

Slide 3

Slide 3 text

生活協同組合コープさっぽろについて (※2025年3月現在) 3 設立年月日 1965年7月18日 組合員数 205万人 (組合員組織率 83.4%) 出資金額 892億円 総事業高 3,219億円 職員数 15,864名 (契約職員・パートアルバイト含む) 店舗数 109店舗 移動販売車 97台 (137市町村) 宅配物流センター 43センター 9デポ 車両1,300台 配食工場 6工場(札幌、函館、苫小牧、旭川、釧路、帯広) 生産工場 石狩食品工場、江別食品工場、はまなす食品、江別物流センター 生鮮センター(PC)、ドリームファクトリー(函館)

Slide 4

Slide 4 text

生活協同組合コープさっぽろ コープさっぽろは60周年を迎えました!! 4

Slide 5

Slide 5 text

60周年企画の一例 5 全店制覇: 500名以上!!

Slide 6

Slide 6 text

生活協同組合コープさっぽろについて 6

Slide 7

Slide 7 text

宅配トドック 北海道内向けの宅配事業。 (離島にもお届け) ● 注文した商品を翌週配達 ● お支払いは1ヶ月ごと ● 置き配対応 ● 資源回収も実施 7

Slide 8

Slide 8 text

トドックサイト 宅配トドックに特化した Webアプリケーション。 アプリの宅配注文機能は、 トドックサイトをWebViewで 開くことで対応している。 Vue3 で作っています!! 8

Slide 9

Slide 9 text

トドックアプリ コープさっぽろの 各種サービスに使えるアプリ ● 宅配トドックの注文 ● お店の組合員証(ちょこっとカード) ● 購入履歴確認(宅配・店舗・その他事業) ● etc Flutter で作っています!! 9

Slide 10

Slide 10 text

トドックアプリ コープさっぽろの 各種サービスに使えるアプリ ● 宅配トドックの注文 ● お店の組合員証(ちょこっとカード) ● 購入履歴確認(宅配・店舗・その他事業) ● etc Flutter で作っています!! 10 本日は、こちらについてお話しします。

Slide 11

Slide 11 text

それでは聞いてください 「Impeller導入に失敗しました」 11

Slide 12

Slide 12 text

Flutter のバージョンアップの経緯 ● Ver 3.19.0 (2024/04/04 対応アプリリリース) ○ PrivacyManifest 対応のため ○ この時 VoiceOver に関する不具合を抱える ● Ver 3.23.0-13.0.pre (2024/07/31 対応アプリリリース) ○ VoiceOver 不具合対応した PR が本体にマージされたバージョンを暫定使用 ○ ほぼ 3.24 だが pre 版を組み込んだ状態 ● Ver 3.27.1 (2025/02/04 対応アプリリリース) ○ Android も Impeller 標準となった版の導入 ○ ここで障害発生!!! 12

Slide 13

Slide 13 text

Android版のクラッシュ率急増 2/4 アプリ公開後、翌日には一気にクラッシュ率が増加。 13

Slide 14

Slide 14 text

Impeller の設定をオフに 急ぎ設定オフ版を申請し、 2/6 にリリース。 14

Slide 15

Slide 15 text

しかし状況は変わらず... 15

Slide 16

Slide 16 text

Flutter のバージョンダウンを決定 Flutter 3.24.5 版を 2/26 リリース。 クラッシュレートが収まる。 16 3.27.1版 リリース Impeller オフ 3.24.5版 リリース

Slide 17

Slide 17 text

結果としてクラッシュの要因 Android 11 以下、 Valkan 1.1 、 OpenGL ES 3.2 、にクラッシュが集中。 → Impeller が原因と判断。 ただ、手元の検証端末では発生せず、事前にはつかめなかった。 17 アプリは Android 9 以上をサポート

Slide 18

Slide 18 text

振り返ってみての確認ポイント 一連の対応で、下記二点の確認ポイントが浮かび上がる。 ● そもそもどうやって気づいた ● 解決のための判断 18

Slide 19

Slide 19 text

そもそもどうやって気づいた サポートセンター経由 ● 組合員様(アプリの利用者)からのお声で、初めて認知。 ● アプリのクラッシュ情報は、本来注視すべき指標であるにもかかわらず、 抑えられていなかった。 19

Slide 20

Slide 20 text

解決のための判断 こちらも、組合員様からのお声が収まらないことによる対応。 ● 設定変更版のリリースから、Flutterバージョンダウン版のリリースまで、 20日の期間が空いてしまった。 ● アプリのクラッシュレートが抑えられないことは、もっと早く判断できたはず。 20

Slide 21

Slide 21 text

ライブラリのバージョン固定はできるが... 個人的に、ライブラリのバージョンは積極的に上げたい派。 自分たちのプロダクトのバージョンは上げて欲しいのに、 お世話になっているライブラリのバージョンを上げたくない、 は辻褄が合わない。 とはいえ、プロダクトの品質管理はしなければいけない。 ● 「バージョンを上げて問題ない」 ● 「問題があっても早期に解決」 という体制を作らないといけない。 21

Slide 22

Slide 22 text

世は正に オブザーバビリティ 時代 22

Slide 23

Slide 23 text

今後に向けて ストアに出る情報、 New Relic 、 Firebase Crashlytics 、 予兆を早めに使む道具はあったが、活用できていない。 11〜12月は新規開発が一旦落ち着くので、 観測条件やチームでのチェック方針を整えていきます。 23

Slide 24

Slide 24 text

次は 3.38.x ? 24

Slide 25

Slide 25 text

ありがとうございました!! 25