メインコンテンツへスキップ
nefs — portfolio

【EvenG2】通知はメガネに直接届くのか?通知確認アプリ開発記

通知確認アプリは、複数回の不具合対応を経て、ようやく安定して動くようになった。LINE・LINE WORKS・Slack・Chatworkの通知を、スマホ経由でグラス上に1件ずつ表示する仕組みだ。

今回は、そのなかでも特に苦労した2つの不具合と、細かな作り込みの過程を振り返る。

この記事でわかること

  • 通知確認アプリは複数回の不具合対応を経て安定した実情(2026年9月時点の記録)
  • 最大の山場だった識別子の不一致による不具合
  • 通知が黙って消えるバグ
  • 長文で画面全体が固まる不具合
  • 表示の作り込みで重ねた同日中の調整
  • 別記事で扱っている文字数の壁

通知確認アプリは複数回の不具合対応を経て安定した

一筋縄ではいかなかったが、今はようやく落ち着いて動いている。 LINE・LINE WORKS・Slack・Chatworkの通知を、グラス側へ順に届ける仕組みだ。ここに至るまで複数回の不具合対応を重ねてきた。

複数回の不具合対応を経て安定するまでの流れを示す図解

最大の山場だった識別子の不一致による不具合

中でも一番手こずったのは、画面がまったく表示されない不具合だった。

識別子の不一致という不具合の切り分けから解決までを示す図解

常駐化した直後に画面が何も表示されなくなった

アプリを動かしはじめた矢先に、まず壁にぶつかった。常駐化した直後、実機で開いても画面には何も表示されなかった。IPアドレスの設定ミスやアプリ側の招待状態、パッケージ化ツールのバージョンなど、十数通りの仮説を1つずつ実機で切り分けていった。

一覧画面と詳細画面で同じIDに別名を使っていた

丸1日以上かけてたどり着いた原因は、拍子抜けするほど細かい部分にあった。一覧画面と詳細画面とで、同じ識別子に対して違う名前の文字列を使っていたことが原因だった。識別子ごとに名前を1つに固定し、画面が変わっても同じ名前を使い回す方式に直した。

通知が黙って消えるバグ

もう1つ手こずったのは、通知が跡形もなく消える不具合だった。

通知が消えるバグの原因と対応を示す図解

改行や引用符を含む本文でJSON解析が壊れていた

原因は、通知の中身をそのままJSONに埋め込んでいたことだった。 本文に改行や二重引用符を含むと、JSONとしての構造そのものが壊れて解析に失敗する。その通知だけがエラーログに残り、一覧には一切表示されなくなっていた。

本文を構造として正しく抜き出す方式に直して解消した。

過去に消えていた通知は手動で復元した

直し終えたあとには、後片付けも残っていた。このバグが原因で過去に消えていた通知が4件あり、それぞれ手作業で復元した。

長文で画面全体が固まる不具合もあった

そういえば、似たような症状がもう1つあったのを思い出した。詳細画面の本文が一定の長さを超える1件をそのまま渡す作りだと、実機ではクリックを含めた操作を一切受け付けなくなった。読書アプリで使っていたページ分割の仕組みを流用して解消した。

表示の作り込みは同じ日に何度も繰り返した

見た目の細かな調整は、1日のうちに何度も往復することになった。媒体ごとの表示の区切り方、見出しと本文の改行・絵文字の扱い、一覧表示の簡略化、時刻の表示、文字幅の計算など、直すべき点は多岐にわたった。実機で確認しては直すというやり取りを、同じ日に6回繰り返した。

文字数の壁は別の話として扱う

もう1つ、文字数に関する制約もあったが、これは別の機会に詳しく振り返りたい。特定のチャットサービスでは、一定のバイト数を超える通知が途中で切れてしまう制約がある。詳しくは別記事で扱う。

見えない不具合ほど原因の切り分けに時間がかかる

結局、いちばん手強かったのは、症状だけでは中身が見えない類のものだった。 エラーメッセージが無い分、仮説を1つずつ実機で確かめていくしかない。

この地道さを、MOCO Worksのサービスでも徹底している。

参考・出典情報

(本記事は社内技術ドキュメントによる裏取り起点のため、外部出典なし)