方言を話すおしゃべり猫型ロボット『ミーア』をリリースしました(こちらをクリック)

2024-02

SEO

【GA4】Googleアナリティクスを活用したトラフィック獲得とDirectの分析・対策

サイトのユーザー獲得チャネルやエンゲージメント、会員獲得に至るコンバージョンを分析したい時の備忘録をまとめる。特にゴミ貯めみたいになってしまうDirectの分析と対策について。予想されるDirectの流入経路にキャンペーン追跡パラメータ(UTMパラメータ)をリンクに追加する
デザイン(Figma)

【デザイン】キャラクターデザインは丸による単純化が大事。洋ナシ型・ピーナツ型・マッシュルーム型

いきもののキャラクターデザインをするときは、引き算する描き方が大事。すっきりと削ぎ落としたシンプルな形から、かわいらしさが生まれる。写真などの資料は見過ぎないようにする。囚われ過ぎてしまい、本来のいきものの特徴を捉えにくくなるから。頭身比率は、基本は1:1.5くらい。
データ解析(BiqQuery)

【GA4 × BigQuery】GA4のBigqueryでのイベント集計:user_pseudo_idとga_session_idの違い

今回は、ユーザーの新規会員登録(イベント名:signup_complete)の流入経路を分析する例を記載する。GA4のデータをBigQueryでクエリする場合、event_name に基づいて特定のイベントをフィルタリングし、event_params 内の個々のパラメータを抽出して分析することができる。
アプリ(Flutter)

【Flutter × Riverpod】外部サイト遷移処理中のローディング状態処理とボタン非活性化

Flutterアプリから外部サイトへ遷移させたい場合で、遷移まで時間がかかる(APIリクエストしてresponseの情報を元に遷移するなど)際の処理として、ローディングアイコンを表示して、遷移まではボタンを非活性化、 遷移までの間にユーザーが画面を移動しないようにするなどの制御ニーズが発生する。
サーバー(Go)

【Flutter × ESP32】AWS Device Shadow・MQTT経由でおやすみモードの時間設定を同期

FlutterアプリとESP32デバイスを連携させ、AWS Device ShadowとMQTTを利用しておやすみモードの時間設定を同期する方法について解説。デバイスシャドウのdesiredセクションが更新されると、その情報はMQTTメッセージとしてESP32デバイスに通知される。
Web(Python)

【Rails7 + React + TypeScript】によるフロントエンド開発

Rails 7、React、およびTypeScriptを使用してフロントエンド開発を行う方法について、jsbundling-railsを使ったTypeScriptのセットアップ方法、Reactコンポーネントの作成と組み込み方法、RailsのERBファイルでのコンポーネントの呼び出し方法について記載。
組み込み(C++ / ESP32)

【ESP32】gaddr2lineを活用したバックトレース分析

ESP32を使ってネコ型おしゃべりロボットを開発中だが、デバイスを初回起動した時に下記エラーが発生するようになった。ESP32のクラッシュ問題を解決するために、gaddr2lineツール(Linuxではaddr2line)を使用したバックトレース分析の手順を記載
アプリ(Flutter)

【Flutter】AppleのHealthKit APIからユーザーの行動ログを取得する方法:環境設定編

HealthKitを使用する前に、アプリの HealthKit 機能を有効にする必要がある。Xcode でプロジェクトを選択し、HealthKit 機能を追加する。flutterのhealthパッケージを使ってHealthKitへのデータアクセス許可を実装。
サーバー(Go)

【Docker】コンテナ間通信を理解する。external設定とアクセス方法

Dockerでのコンテナ間通信は、まず手動で既存のDockerネットワークを作成する必要がある。その後、docker-compose.ymlでexternal: trueを設定する。コンテナ間通信ではホストのポートマッピングは関係なく、内部ポートを直接使用する。
サーバー(Go)

【Rails7】動的なカスタムエラー画面を作成し、共通デザインを適用(400/401/403/404/429/500/503)

Railsのエラーページはデフォルトでは、静的ファイルでpublicディレクトリに配置されているが、今回は動的なカスタムエラー画面を作成し、共通のデザインを適用する。これにより、ユーザーがアクセスした際に発生するエラーに応じて、適切なエラーページを表示することができる。