開発・デザイン 【Flutter × Go × gRPC】OTAアップデート:Firmware更新をgRPCでアプリ通知 AWS s3のfirmwareディレクトリに新しいFirmwareバイナリを開発者がバージョン指定してアップロードする。各ユーザーのFirmwareのバージョンと開発者がアップロードした最新バージョンを比較し、異なる場合にFlutterアプリに「新しいFirmwareをインストール可能です」と通知する。 2024.04.10 2024.05.16 開発・デザイン
開発・デザイン 【Flutter × Go × gRPC】アプリ強制アップデート機能の実装(画面ロック) 「Flutter Firebase アプリアップデート」で検索すると、RemoteConfigを使った方法と、FirebaseDetabaseを使った方法の大きく2種類がヒットした。ただし、今回は、Flutter×Go×gRPCを使って自前で強制アップデート機能を実装する。 2024.05.16 開発・デザイン
開発・デザイン 【Flutter】Apple HealthKit API から行動ログを取得し、Gemini APIを元にアドバイス文を生成:実装編 今回は、Flutterアプリからサーバーにヘルスデータを送信し、Gemini APIを通じてアドバイスのテキスト(例:昨日はよく眠れたみたいですね。この調子!)を生成する部分を実装したい。1日の総歩数と総運動時間を出力するように計算ロジックを追加。 2024.02.23 2024.05.11 開発・デザイン
開発・デザイン 【Flutter × Go】眠りモードに至るまでの時間をアプリで設定して、サーバーに反映させる。 以前、ESP32のlight sleep mode機能を使って、ミーアをおやすみモードに移行する部分のコードを作成した。この時は、PlatformIOに直接スリープモードへの移行時間を設定していたが、ユーザーのアプリで移行時間を設定できるように変更する。 2024.01.26 2024.05.11 開発・デザイン
開発・デザイン 【ESP32 × Flutter】Wi-Fiスキャン結果をBLEでチャンク分割送信する方法 ESP32とFlutter(flutter_blue_plus)を利用してWi-Fiスキャンの結果をBLEを通じてスマートフォンに分割送信する方法を記載。BLEのNotify機能を使用して、大きなデータを小さなパケットに分け、受信したデータを再構成する。 2024.04.26 2024.05.11 開発・デザイン
開発・デザイン 【Flutter × Go】退会処理:Firebase Auth削除時の「requires-recent-login」エラー対処法 Firebase Authを使ったユーザー退会処理時の「requires-recent-login」エラーの対処法について記載。このエラーは、セキュリティ上の理由で、ユーザーが最近ログインしていない場合に発生する。ユーザーを退会させる前に、再認証(reauthentication)させる必要がある。 2024.05.07 開発・デザイン
開発・デザイン 【Flutter】トップ画面に日替わりのGIF画像とテキストを表示する。 Flutterプロジェクトで画像やその他のアセットを使用する際には、それらをpubspec.yamlに記載してFlutterに知らせる必要がある。assets/images配下にGIF画像を配置して、それをpubspec.yamlに記載する。 2024.04.29 2024.05.05 開発・デザイン
開発・デザイン 【Flutter×FCM】Push通知を実装:テスト送信まで(iOS/Android) Firebase Cloud Messaging(FCM)を用いたプッシュ通知のプロセスは、下記3ステップで構成される。サーバーからのメッセージ送信→FCMによる配信処理→アプリによる受信と表示。iOSの場合は、APNs認証キー(p8ファイル)が必要。 2024.05.03 2024.05.05 開発・デザイン
開発・デザイン 【Android】Flutterにおけるbuild.gradleの役割と設定方法 Flutterでは、Dartで記述されたコードがネイティブアプリケーションにコンパイルされる際、Android部分のビルド管理にGradleが使用される。Gradle Wrapperを使用することで、Gradleのインストールなしにプロジェクトのビルドが可能になる。 2024.03.03 2024.05.05 開発・デザイン
開発・デザイン 【Go × Echo】バックエンドで天気予報情報を取得し、Flutterアプリに表示する 今までは、アプリ側のみでOpenWeatherMapのAPIを使用して、指定された緯度と経度を使用して天気情報を取得しアプリ画面に表示していたが、今回はGo言語のEchoフレームワークによるバックエンド経由に変更する。 2023.08.28 2024.05.02 開発・デザイン