Upgrade to Pro — share decks privately, control downloads, hide ads and more …

解決むずかったバグ3選

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

 解決むずかったバグ3選

Avatar for horitamon

horitamon

April 12, 2022
Tweet

More Decks by horitamon

Other Decks in Programming

Transcript

  1. ©2022 Voicy, Inc. はじめに
 
 • Bluetooth LE使ってデータやりとりできるアプリをつくってます
 • 全然進んでないので今日は話しません()


    • アプリ開発をしていて「ちゃんと事前に検証しておけばよかった…」と
 反省したバグを赤裸々にご紹介
 • ご迷惑をかけたユーザーのみなさま、大変申し訳ありませんでした。
 今回の発表内容

  2. ©2022 Voicy, Inc. 現象
 • Firebase Cloud Messagingを使ってPush通知を実装している
 • 動作確認のタイミングでは大体通知が届く


    • 放送開始、運営からのお知らせなど、種別問わずすべての通知が届く
 • 開発版でも製品版でも届く
 
 • でもしばらく使ってると届かなくなる…
 Push通知が来ることには来る、でも来なくなる
 

  3. ©2022 Voicy, Inc. 原因と対策
 
 • firebase-bomを26.2.0→28.2.0にアップデートした
 →そのタイミングでFirebaseMessaging.deleteToken()が
  非同期メソッドに変わった
 •

    トークンの削除が完了する前に発行処理をしていたので
 発行後にトークンが更新されていた
 • 完了を待機してから再発行するように修正

  4. ©2022 Voicy, Inc. 原因と対策
 
 • 以下の条件を満たすとクラッシュする
 ◦ Android 8.0

    の端末
 ◦ targetSdkVersion が 27 以上 
 ◦ 背景を透過にしている 
 ◦ 画面の向きを固定している 
 • アプリ全てで使ってるStyleで
 android:windowIsTranslucentをtrueにしてしまった
 →すぐ設定を削除