01 · Zero-PII QR Family Sync
個人情報ゼロの QR 家族グループ接続 & Firestore リアルタイム同期
Zero-PII QR Group Pairing & Real-Time Firestore Listeners
零隐私收集的二维码家庭组网与 Firestore 实时监听
家庭向けユーティリティで最も離脱率が高い「家族全員のアカウント作成と招待リンク承認」を撤廃するため、匿名認証+QRコード直接ペアリングを採用しました。
Requiring every household member to verify an email creates massive onboarding friction. Gomiman eliminates accounts altogether via anonymous tokens and instant camera QR pairing.
家庭协作工具若强制要求所有家人注册账号与邮箱验证,极易造成劝退。为此我们设计了“匿名令牌 + 面对面扫码”的零门槛组网模型:
- 1スキャン即同期:
AVFoundation / CoreImage(iOS)と CameraX / ZXing(Android)によりグループキーをQRコード化し、1秒で双方向同期に参加できます。
- リアルタイム双方向反映:Firestore スナップショットリスナーと Cloud Functions FCM 通知の併用により、アプリが閉じていても配偶者・家族へ「ゴミ出し完了」が届きます。
- One-Scan Cross-OS Onboarding: Generates encrypted invite QR codes with
CoreImage / ZXing and scans them natively via AVFoundation / CameraX so iOS and Android devices join effortlessly.
- Foreground & Background Propagation: Pairs active Firestore snapshot listeners with Cloud Functions-triggered FCM pushes so even closed apps reflect completed trash pickups immediately.
- 一码跨系统瞬间组网:通过
CoreImage / ZXing 生成组队二维码,配合原生相机 AVFoundation / CameraX 扫描,iOS 与 Android 家人 1 秒同步。
- 前后台联动广播:前台借助 Firestore 实时监听秒级刷新;后台依托 Cloud Functions 触发 FCM 推送通知,即便应用已滑掉也能通知全家人。
02 · Doze-Resistant Scheduling
OS省電力制限に打ち勝つ高精度アラーム & カレンダー連携
Resilient OS Scheduling & Native Calendar Export
穿透系统省电策略的高精度闹钟调度与系统日历集成
日本の資源ごみ収集は「第1・第3水曜日」「隔週木曜」など複雑な周期ルールが多く、さらに近年のモバイルOSはバックグラウンド実行を厳しく制限しています。
Japanese municipal collection schedules frequently mix Nth-weekday and biweekly cadences, while modern iOS and Android impose strict Doze and background throttling limits.
日本各自治体的分类周期常包含“每月第 1/第 3 周三”“隔周四”等复杂规则,同时当代移动 OS 对后台唤醒限制极严:
- 再起動リカバリ付きスケジューラ:Android は
AlarmManager + WorkManager と BOOT_COMPLETED レシーバーを組み合わせ、端末再起動後も通知時刻を維持します。
- ロック画面アクション & カレンダー書き出し:iOS
UNUserNotificationCenter ではアプリを開かずロック画面から「出した!」を記録でき、さらに EventKit / CalendarContract で純正カレンダーへの一括登録も可能です。
- Reboot-Resilient Alarms: Android combines exact
AlarmManager, WorkManager, and a BOOT_COMPLETED receiver; iOS pairs BGTaskScheduler with interactive UNUserNotificationCenter actions.
- First-Class System Calendar Export: Writes recurring pickup events directly into users' device calendars via Apple
EventKit and Android CalendarContract.
- 重启自愈的多层调度:Android 端融合精确
AlarmManager、WorkManager 与 BOOT_COMPLETED 广播监听,手机重启不丢闹钟;iOS 端整合 BGTaskScheduler 与带快捷动作的 UNUserNotificationCenter。
- 系统日历原生导出:直接对接苹果
EventKit 与安卓 CalendarContract,将周期日程写入用户系统日历中。
03 · Home Screen Widgets
App Group & Jetpack Glance による常時視認ウィジェット設計
App Group WidgetKit & Jetpack Glance Home Surfaces
基于 App Group 与 Jetpack Glance 的原生桌面小组件
ゴミ出しの確認に毎回アプリを起動する必要はありません。ホーム画面をチラッと見るだけで「今日・明日のゴミ種と色アイコン・家族の提出状況」が分かる設計を徹底しました。
Checking today's trash rule should take zero taps. Gomiman projects color-coded waste types and family completion status straight onto iOS and Android home screens.
查看今日垃圾无需点开 App——让用户解锁手机瞥一眼桌面,即可秒懂“今天与明天要扔什么、家人是否已处理”:
- iOS App Group 共有スイート:メインアプリ(SwiftUI
@Observable)と WidgetKit(Small / Medium)間で共有コンテナを介して最新状態を低遅延で同期・再描画します。
- AndroidX Glance リアクティブ構成:宣言的 Compose 構文そのままに
2×2 / 4×2 ウィジェットを構築し、収集完了ステータス変更時および日付変更境界で自動リフレッシュします。
- iOS App Group Data Bridge: Main SwiftUI app shares normalized pickup snapshots into
WidgetKit (Small & Medium families) via shared App Group UserDefaults and triggers instant timeline reloads.
- AndroidX Glance Declarative Widgets: Builds responsive
2×2 and 4×2 Compose-based home widgets triggered on midnight rollovers and Firestore sync writes.
- iOS App Group 共享数据桥:主应用通过共享容器将最新日程与已扔出标记同步至
WidgetKit(小号/中号),触发即时 Timeline 刷新。
- AndroidX Glance 声明式小组件:直接复用 Compose 状态模型渲染
2×2 与 4×2 卡片,并在跨午夜及云端写入时自动更新。
04 · Dual-Native Monorepo
Swift 6 × Kotlin 2.1 の同一機能パリティ & 課金アーキテクチャ
Swift 6 & Kotlin 2.1 Feature Parity & Billing Architecture
Swift 6 与 Kotlin 2.1 双端原生对齐与双商店订阅系统
ハイブリッドフレームワークの抽象化によるウィジェット・バックグラウンド通知の制約を回避するため、データモデル・UI思想・523品目分別辞書を単一モノレポで厳格に統一したフルネイティブ構成を採用しました。
Instead of compromising OS widget fidelity or exact alarms in a cross-platform wrapper, Gomiman shares identical domain specifications and the 523-item dictionary inside one dual-native monorepo.
为避免跨平台壳子对桌面小组件与系统级精确后台唤醒的能力受限,我们选择了共用同一套领域模型与 523 项分类辞典的双端纯原生 Monorepo 路线:
- 日英バイリンガル 523品目検索:ひらがな・カタカナ・漢字の正規化検索および英語検索(外国人居住者向け)をローカルメモリ内で高速に実行します。
- ストアネイティブ課金:Apple
StoreKit 2(async/await トランザクション検証)と Google Play Billing Library 7.x を実装し、Proプラン有効化時にはリアルタイムで AdMob 広告バナーを非表示化します。
- Fast Local Search Across 523 Items: Normalizes Hiragana, Katakana, Kanji, and English waste terms locally to deliver instant sorting answers for both Japanese and expat residents.
- First-Party Store Billing: Implements Apple
StoreKit 2 async verification and Google Play Billing 7.x for Monthly / Annual / Lifetime Pro tiers, cleanly gating AdMob views.
- 日英双语 523 项本地极速检索:支持平/片假名与汉字模糊匹配,同时原生覆盖英语检索,方便在日外籍居民日常查验。
- 原生商店内购总线:iOS 对接
StoreKit 2 并发校验,Android 对接 Play Billing 7.x,实时同步月费/年费/买断 Pro 权益并自动屏蔽 AdMob 广告。