Nike Run Club のようなフィットネストラッキングアプリを構築することは、数ヶ月のコーディング期間を持つ十分な資金を持つ開発チームのために予約されたプロジェクトのように思われます。リアルタイム GPS トラッキング、ワークアウトログ、達成システム、ソーシャルチャレンジなどの機能には、複雑なデータベースアーキテクチャとネイティブデバイス統合が必要です。従来、複数のプログラミング言語とプラットフォームの専門知識が必要です。ビジョンはあるがコーディングの背景がない起業家やフィットネス愛好家にとって、この技術的障壁は長い間、アイデアと実行の間に立ちはだかっています。
ここで Adalo が方程式を完全に変えます。Adalo はデータベース駆動型ウェブアプリとネイティブ iOS および Android アプリ用のノーコードアプリビルダーです。3 つのプラットフォーム全体で 1 つのバージョンです。AI 支援ビルドと効率化された公開により、Apple App Store と Google Play への起動が数ヶ月ではなく数日で実現します。これらの機能により、GPS 統合、ソーシャル機能、達成バッジを備えた完全に機能するラントラッキングアプリの作成は、ビジョンを持つ誰もがアクセスできるようになります。コーディングは必要ありません。
Nike Run Club のようなラントラッキングアプリを構築する場合に Adalo が機能する理由
Adalo はデータベース駆動型ウェブアプリとネイティブ iOS および Android アプリ用のノーコードアプリビルダーです。3 つのプラットフォーム全体で 1 つのバージョンで、Apple App Store と Google Play に公開されます。これにより、ラン、ユーザー統計、ソーシャル機能の管理を追跡するための堅牢なデータベースアーキテクチャが必要な Nike Run Club スタイルのフィットネスアプリを作成するための完璧な基盤になります。これらすべては、ランナーが期待するネイティブモバイルエクスペリエンスを提供しながら行われます。
フィットネストラッキングアプリの場合、アプリストア配布はオプションではなく、必須です。ユーザーはランニング目標を思い出させるためのプッシュ通知、屋外ワークアウト中に確実に機能する GPS トラッキング、そしてすべてのマイルをキャプチャするリアルタイム同期が必要です。Adalo はウェブラッパーではなく、真のネイティブコンパイルを通じてすべてを提供し、ユーザーが短いジョギングをログインしたり、友人との月間チャレンジに参加したりしているかどうかにかかわらず、アプリがスムーズに動作することを保証します。
Nike Run Club のようなフィットネストラッキングアプリを構築することは、数ヶ月のコーディング期間を持つ十分な資金を持つ開発チームのために予約されたプロジェクトのように思われます。リアルタイム GPS トラッキング、ワークアウトログ、達成システム、ソーシャルチャレンジなどの機能には、複雑なデータベースアーキテクチャとネイティブデバイス統合が必要です。従来、複数のプログラミング言語とプラットフォームの専門知識が必要です。ビジョンはあるがコーディングの背景がない起業家やフィットネス愛好家にとって、この技術的障壁は長い間、アイデアと実行の間に立ちはだかっています。
Adalo は AI 搭載アプリビルダーで、その方程式を完全に変えます。単一のコードベースからデータベース駆動型ウェブアプリとネイティブ iOS および Android アプリを作成します。3 つのプラットフォーム全体で 1 つのバージョンです。AI 支援ビルドと効率化された公開により、Apple App Store と Google Play への起動が数ヶ月ではなく数日で実現します。このチュートリアルでは、これらの機能を活用して、GPS 統合、ソーシャル機能、達成バッジを備えた完全に機能するラントラッキングアプリを作成する方法を示します。コーディングは一切必要ありません。
フィットネストラッキングアプリを構築する場合に Adalo が機能する理由
フィットネストラッキングアプリの場合、ネイティブアプリストア配布は譲歩の余地がありません。ユーザーは、ランニング目標を思い出させ、チャレンジ中にやる気を出させ、達成を祝うためのプッシュ通知を期待しています。屋外ワークアウト中に確実に機能する GPS トラッキングと、すべてのマイルをキャプチャするリアルタイムデータ同期が必要です。
Adalo は重大な利点を備えた洗練されたネイティブエクスペリエンスを提供します: 1つのビルドは、ウェブ、iOSアプリストア、およびAndroid Play Storeに同時に公開されますウェブアプリをモバイルシェルでラップするプラットフォーム(負荷がかかると遅延とパフォーマンスの問題が発生する)とは異なり、Adalo は真のネイティブコードにコンパイルされます。プラットフォームのモジュラーインフラストラクチャは、月間アクティブユーザーが数百万のアプリにスケーリングでき、上限がなく、有料プランには以下が含まれます 無制限のデータベースレコードこれにより、ユーザーベースが増加しても、アプリはストレージの壁に当たりません。
AdaloのビルダーであるAdaは、あなたが何を望んでいるかを説明してアプリを生成することができます。Magic Startは説明からアプリの基盤全体を作成し、Magic Addは自然言語を通じて機能を追加します。
Magic Start は簡単な説明からアプリの基礎を生成できます。GPS ログ、ソーシャル機能、達成バッジを備えたフィットネストラッキングアプリが必要であると伝えると、データベース構造、スクリーン、ユーザーフローが自動的に作成されます。計画に数日かかったことが数分で実現します。フィットネスアプリを一から構築してみましょう。
前提条件と初期設定
ステップ1:Adaloアカウントとアプリを作成する
- 訪問 Adalo.com 無料アカウントにサインアップします
- ダッシュボードから「新しいアプリを作成」をクリックします
- 「モバイルアプリ」を選択します(オンザゴーのフィットネストラッキング用に最適化)
- アプリに名前を付けます(例: 「RunTracker」または「FitPulse」)
- カスタム機能を構築するには「ゼロから開始」を選択するか、Magic Start を使用して説明から基礎を生成します
ステップ 2:アプリテーマを構成する
- プライマリブランドカラーを選択します(大胆でエネルギッシュなトーンはフィットネスアプリに適しています)
- コールトゥアクションボタンのセカンダリカラーを選択します
- ワークアウト中の読みやすさのためにクリーンでモダンなサンセリフフォントを選択します
- ナイトランニング用のダークモードオプションを有効にします
- 「続行」をクリックしてアプリビルダーに進む
ステップ 3: プラットフォーム設定を設定する
- に移動 設定 左側のサイドバー内
- 以下で設定します 1024×1024 PNG設定します:
- アプリ名とアイコン
- スプラッシュスクリーン(モチベーション画像)
- ステータスバースタイル
- 有効にする ロケーションサービス (GPS トラッキングに不可欠)
- 初期スクリーンを「ウェルカム」に設定します
データベース構造の構築
データベースはフィットネスアプリのバックボーンです。Adalo の以下を使用すると、数年のランニング履歴、数千のルート、無制限のソーシャルインタラクションを保存でき、ストレージキャップに当たることを心配する必要がありません。 有料プランでのレコード制限なし(テキスト - ユニーク)
ステップ 4:ユーザーコレクションを強化する
- 「追加またはインポート」をクリックします データベース 左サイドバーのアイコン
- 既存の「ユーザー」コレクションを選択する
- これらのプロパティを追加します(それぞれに「+ プロパティを追加」をクリック):
- 姓名 (テキスト)
- プロフィール写真 (画像)
- ユーザー名 (テキスト - 複数行)
- プロフィール (数値 - カロリー計算用)
- 体重 優先単位
- 身長 (数値)
- (テキスト - 値: 「マイル」、「キロメートル」) 合計距離
- (数値 - 実行合計) 合計ラン数
- 合計期間 (数値)
- (数値 - 分単位) (日付 - サインアップ時に自動)
- メンバー登録日 (数値 - 連続日数)
- 現在のストリーク 最長ストリーク
- (テキスト - 値: 「公開」、「フレンズのみ」、「プライベート」) (数値)
- プライバシー設定 ステップ 5: ラン コレクションを作成する
「ラン」と名前を付けます
- 「 「+ コレクションを追加」
- ラン ID
- これらのプロパティを追加:
- (テキスト - 自動生成) (数値 - ユーザーの優先単位)
- 距離 (数字 – ユーザーの優先単位)
- 期間 (秒単位の数値)
- 開始時刻 (日時)
- 終了時刻 (日時)
- 平均ペース (1マイル/km当たりの分数)
- 消費カロリー (単位対応の計算式で算出された数値)
- 獲得標高 (数値)
- ルートデータ (座標のJSONテキスト文字列)
- 開始地点 (位置)
- 終了地点 (位置)
- 天気条件 (テキスト)
- (華氏単位)、単位に関する混乱を避けるため明確にラベル付けしてください。また、MM/DD/YYYY形式で自動的に表示される (数値)
- ランのタイプ (テキスト – 値: 「イージーラン」、「ロングラン」、「スピードワーク」、「リカバリー」、「レース」)
- メモ (数値 - カロリー計算用)
- 気分 (テキスト – 値: 「最高」、「良好」、「普通」、「疲れた」、「つらい」)
- 公開/非公開 (真偽値)
ステップ6: ルートコレクションの作成
- 「 「+ コレクションを追加」
- 「Routes」という名前を付けます
- プロパティを追加:
- ルート名 (テキスト)
- 説明 (数値 - カロリー計算用)
- 距離 (数値)
- 座標 (緯度経度ポイントのJSON配列テキスト)
- 開始ポイント (位置)
- 終了ポイント (位置)
- 難易度 (テキスト – 値: 「イージー」、「モデレート」、「ハード」)
- 路面タイプ (テキスト – 値: 「ロード」、「トレイル」、「トラック」、「ミックス」)
- ルート写真 (画像)
- 実行回数 (数値)
- 平均評価 (数値)
- お気に入り (真偽値)
ステップ7: アチーブメントコレクションの作成
- 「 「+ コレクションを追加」
- 「Achievements」と名付ける
- プロパティを追加:
- アチーブメント名 (テキスト)
- 説明 (テキスト)
- バッジアイコン (画像)
- 条件タイプ (テキスト – 値: 「距離」、「ラン数」、「ストリーク」、「スピード」、「スペシャル」)
- 条件値 (数値)
- ポイント (数値)
- 獲得日 (日時)
- ロック解除済み (真偽値)
ステップ8: チャレンジコレクションの作成
- 「 「+ コレクションを追加」
- 「Challenges」という名前を付けます
- プロパティを追加:
- チャレンジ名 (テキスト)
- 説明 (数値 - カロリー計算用)
- チャレンジタイプ (テキスト – 値: 「距離」、「期間」、「頻度」)
- 目標値 (数値)
- 開始日 (日付)
- 終了日 (日付)
- 現在の進捗 (数値)
- アクティブ (真偽値)
- 完了済み (真偽値)
- リワードバッジ (画像)
ステップ9: ソーシャルフィードコレクションの作成
- 「 「+ コレクションを追加」
- 「Posts」という名前を付けます
- プロパティを追加:
- 投稿タイプ (テキスト – 値: 「ラン完了」、「アチーブメント」、「写真」、「テキスト」)
- キャプション (数値 - カロリー計算用)
- 画像 (画像)
- いいね数 (数値)
- コメント数 (数値)
- 作成日 (日付と時刻 – 自動)
- ピン留めされているか (真偽値)
ステップ10: コメントコレクションの作成
- 「 「+ コレクションを追加」
- 「コメント」という名前を付けます
- プロパティを追加:
- コメントテキスト (数値 - カロリー計算用)
- 作成日 (日付と時刻 – 自動)
- いいね (数値)
ステップ11:フレンドシップコレクションを作成する
- 「 「+ コレクションを追加」
- 「友情」と名前を付けます
- プロパティを追加:
- ステータス (テキスト – 値:「保留中」、「承認済み」、「ブロック済み」)
- 作成日 (日付と時刻 – 自動)
- 承認日 (日時)
ステップ12:データベースリレーションシップを設定する
- で、Barrettaはまた「刺激が私たちの探求システムを活性化すると、前頭新皮質を活性化し、革新的な戦略とソリューションを考案するよう促します。論理はそれを私たちにさせません。感情がします。刺激的な新しい旅に乗り出すチームは、成功への強い動機付けを感じるだけでなく、より賢く働きます。」 ラン コレクション:
- ユーザーへのリレーションシップを追加:「ランナー」(1人のユーザーは複数のランを持つことができます)
- ルートへのリレーションシップを追加:多対1(オプション:保存されたルート)
- 投稿へのリレーションシップを追加:1対1(自動共有ラン)
- で、Barrettaはまた「刺激が私たちの探求システムを活性化すると、前頭新皮質を活性化し、革新的な戦略とソリューションを考案するよう促します。論理はそれを私たちにさせません。感情がします。刺激的な新しい旅に乗り出すチームは、成功への強い動機付けを感じるだけでなく、より賢く働きます。」 ルート コレクション:
- ユーザーへのリレーションシップを追加:「クリエーター」(多対1)
- ランへのリレーションシップを追加:1対多
- で、Barrettaはまた「刺激が私たちの探求システムを活性化すると、前頭新皮質を活性化し、革新的な戦略とソリューションを考案するよう促します。論理はそれを私たちにさせません。感情がします。刺激的な新しい旅に乗り出すチームは、成功への強い動機付けを感じるだけでなく、より賢く働きます。」 アチーブメント コレクション:
- ユーザーへのリレーションシップを追加:多対多(ユーザーは複数のアチーブメントを持つことができます)
- で、Barrettaはまた「刺激が私たちの探求システムを活性化すると、前頭新皮質を活性化し、革新的な戦略とソリューションを考案するよう促します。論理はそれを私たちにさせません。感情がします。刺激的な新しい旅に乗り出すチームは、成功への強い動機付けを感じるだけでなく、より賢く働きます。」 課題 コレクション:
- ユーザーへのリレーションシップを追加:多対多(参加者)
- で、Barrettaはまた「刺激が私たちの探求システムを活性化すると、前頭新皮質を活性化し、革新的な戦略とソリューションを考案するよう促します。論理はそれを私たちにさせません。感情がします。刺激的な新しい旅に乗り出すチームは、成功への強い動機付けを感じるだけでなく、より賢く働きます。」 投稿 コレクション:
- ユーザーへの関係を追加: 「作成者」(多対1)
- ランへのリレーションシップを追加:1対1(ラン投稿の場合)
- ユーザーへのリレーションシップを追加:「いいねしたユーザー」(多対多)
- コメントとのリレーションシップを追加: 一対多
- で、Barrettaはまた「刺激が私たちの探求システムを活性化すると、前頭新皮質を活性化し、革新的な戦略とソリューションを考案するよう促します。論理はそれを私たちにさせません。感情がします。刺激的な新しい旅に乗り出すチームは、成功への強い動機付けを感じるだけでなく、より賢く働きます。」 コメント コレクション:
- 投稿へのリレーションシップを追加:多対1
- ユーザーへのリレーションシップを追加:「コメンター」(多対1)
- で、Barrettaはまた「刺激が私たちの探求システムを活性化すると、前頭新皮質を活性化し、革新的な戦略とソリューションを考案するよう促します。論理はそれを私たちにさせません。感情がします。刺激的な新しい旅に乗り出すチームは、成功への強い動機付けを感じるだけでなく、より賢く働きます。」 フレンドシップ コレクション:
- ユーザーへのリレーションシップを追加:「リクエスター」(多対1)
- ユーザーへのリレーションシップを追加:「受取人」(多対1)
必要なコンポーネントのインストール
ステップ13:マップとロケーションコンポーネントをインストールする
- にアクセスします。 Adaloマーケットプレイス
- インストール:
- マップコンポーネント (ルート可視化用)
- Timer (ランの時間計測と定期的な位置情報保存をトリガーするため)
- ウェブマップ用のGoogle Maps APIキー:
- Google Cloud ConsoleにアクセスしてAPIキーを作成します
- 最小限:を統合し、 Maps JavaScript API ウェブマップ用
- 有効にする ジオコーディング 住所/場所の検索が必要な場合のみ、および Distance Matrix 移動距離/時間の推定が必要な場合のみ
- Google Maps Platformには 月額$250の無料クレジットが含まれており、多くの小規模アプリは無料枠内に収まります
- Adaloで:APIキーを 設定 → インテグレーション
ステップ14:追加コンポーネントをインストールする
- に戻ります マーケットプレイス
- インストール:
- チャート/グラフ (統計可視化用)
- オーディオプレイヤー (コーチングキュー用)
- 共有 (ソーシャル共有)
ユーザー認証とオンボーディングの作成
ステップ15: ウェルカムスクリーンを構築
- デフォルトスクリーンを「Welcome」に名前変更
- デザイン要素を追加:背景画像、ロゴ、見出し/サブ見出し
- ナビゲーションボタンを追加:
- サインアップ → 「サインアップ」画面
- 画面では → 「ログイン」画面
- ゲストとして続行 → 「ホーム」(ビューのみモード)
ステップ16: サインアップスクリーンを作成
- 「サインアップ」スクリーンを追加
- フォーム (ユーザー):メールアドレス、パスワード、確認、フルネーム
- 画像ピッカー プロフィール写真用(オプション)
- アカウント作成 → サインアップ、その後「ウェルカムサーベイ」に移動
- 画面では 既存ユーザー向けテキストリンク
ステップ17:ウェルカムサーベイスクリーンを構築
- 新しい画面を追加 → 名前を付ける 「ウェルカムサーベイ」
- (オプション)静的テキスト「ステップ1/3」を追加
- フォーム (更新 → 最後に、メッセージとユーザー間に一対多の関連付けを確立します。これにより、1人のユーザーが複数のメッセージを作成できる一方で、各メッセージは1人の作成者にリンクされます。ユーザーがフォーム経由で新しいメッセージを送信する際に、次のように設定できます):
- 目標(ドロップダウン): ランニングを始める、速くなる、距離を伸ばす、活動的に過ごす、イベント向けトレーニング → 目標(テキスト)に保存
- 頻度(ドロップダウン): ランニング初心者、週1~2回、週3~4回、週5回以上 → 頻度(テキスト)に保存
- 体重(数値) → 体重(数値)に保存
- 身長(数値) → 身長(数値)に保存
- 次へ → 以下にリンク ユニット設定 (移動前にフォームがログイン中のユーザーを更新することを確認)
ステップ18:ユニット設定スクリーンを作成
- 新しい画面を追加 → 「ユニット設定」
- (オプション)テキスト「ステップ2/3」
- フォーム (更新 → 最後に、メッセージとユーザー間に一対多の関連付けを確立します。これにより、1人のユーザーが複数のメッセージを作成できる一方で、各メッセージは1人の作成者にリンクされます。ユーザーがフォーム経由で新しいメッセージを送信する際に、次のように設定できます):
- 優先単位(セグメント化されたコントロール): マイル/キロメートル → 優先単位
- デフォルト実行プライバシー(ドロップダウン): 公開/友人のみ/プライベート → プライバシー設定
- 次へ → 以下にリンク 位置情報を有効化; 戻る → ウェルカムサーベイ
ステップ19:位置情報許可スクリーンを構築
- 新しい画面を追加 → 「位置情報を有効化」 (ステップ3/3)
- 位置情報が必要な理由を説明(GPS追跡)
- 位置情報を有効化 → 許可をリクエスト → 成功時、以下にリンク ホーム.
- スキップ → 以下にリンク ホーム.
ホームダッシュボードの構築
ステップ20:メインホームスクリーンを作成
- 新しい画面を追加 → 「ホーム」
- ヘッダー行:
- ユーザーアバター(ログイン中のユーザー → プロフィール写真)→ リンク先 プロフィール
- 「こんにちは、{名}」(数式を使用)
- 現在の日付(マジックテキスト → フォーマット済み)
- 統計カード:
- 今週の距離: ランナー=ログイン中のユーザーで日付が今週のランの距離の合計 今週
- 合計ラン数: ランナー=ログイン中のユーザーのランの数
- 現在のストリーク: ログイン中のユーザー → 現在のストリーク
- クイックスタート:
- ランを開始 (primary) → ラン追跡
- ルートを選択 (secondary) → 保存されたルート
- アクティブなチャレンジカード(条件付き):
- カスタムリスト: ログイン中のユーザーが参加者に含まれ、かつ「アクティブ = true」でフィルタリングされたチャレンジ
- 名前、進捗バー(現在の進捗/目標値)、残り日数を表示
- クリック → チャレンジ詳細
- 最近のアクティビティフィード:
- カスタムリスト: プライバシー/友人ロジックでフィルタリングされた投稿。最新順でソート(5~10件に制限)
- 作成者、概要、「~前」を表示 → クリック → 投稿詳細
ステップ21: ボトムナビゲーションを構築
- 追加 タブバー 5つのタブ:
- ホーム → ホーム
- アクティビティ → マイラン
- スタート → ラン追跡
- 課題 → チャレンジ
- プロフィール → プロフィール
- アクティブ/非アクティブの色をテーマに合わせて設定します。
ラン追跡体験を作成する
ステップ22: ラン前スクリーンを構築
ラン追跡 スクリーン → 現在地を中心としたフルスクリーンマップ。ラン種別/ルート選択機能。オーディオコーチトグル。 ランを開始.
ステップ23: アクティブランスクリーンを作成
マップ + 統計パネル。使用 現在のデバイスの場所 (マジックテキスト) + Timer 座標を定期的に保存(例: 5~10秒ごと) アプリが開いている間。コントロール: 一時停止, 終了.
ステップ24: 一時停止中のランスクリーンを構築
複製 アクティブラン → 一時停止状態を表示 レジュメ, 終了, 破棄.
ステップ25: ラン概要スクリーンを作成
余裕を作成して 実行 そして入力: 距離、時間、開始/終了時刻、ルート、ペース、標高。
消費カロリー(単位対応):
- もし キロメートルとキログラム: Distance_km × Weight_kg × 1.0
- もし マイルとポンド: Distance_mi × Weight_lb × 0.63
概要カード、編集可能なフィールド(ラン種別、感覚、メモ、写真、プライバシー)を追加します。 ランを保存 ユーザーの合計を更新し、アチーブメントをチェックし、公開の場合は投稿します。
ステップ26:ランの保存確認画面を構築
新しいアチーブメント(ある場合)とクイックアクション(完全なサマリーを表示/ホームに戻る)を表示する成功画面。
ラン履歴と分析を構築
ステップ27:「マイラン」画面を作成
- 新しい画面 → 「マイラン」
- フィルタ: セグメント化されたコントロール(すべて/今週/今月/今年)→ FilterPeriodに保存;ソート用ドロップダウン(日付、距離、時間、ペース)→ SortBy。
- サマリー行: 選択した期間の合計距離、合計ラン数、平均ペース。
- カスタムリスト: ランナー=ログイン中のユーザー + FilterPeriodでフィルタリングされたラン;SortByでソート。マップサムネイル、日付/時間、距離、時間、ペース、ラン種別、フィーリングを表示 → タップして ラン詳細.
ステップ28:ラン詳細画面を構築
日付/時間のヘッダー、 編集, 削除;大きなマップ;統計グリッド(距離/時間/平均ペース/カロリー/標高/天気/気温/フィーリング/ラン種別);ペースチャート(オプション);メモ;ソーシャル統計;シェア。
ステップ29:統計画面を作成
タブ:週/月/年/すべての時間 → StatsPeriod。メトリックカード(合計距離、合計ラン数、合計時間、最長ラン、最速ペース、ストリーク)。距離チャート(棒)、ペーストレンド(折れ線)、アクティビティヒートマップ(オプション)。
アチーブメントとゲーミフィケーションの実装
ステップ30:達成画面を構築
進捗概要(バッジ、ポイント、次のマイルストーン);タブ(すべて、距離、頻度、ストリーク、スピード、スペシャル);カード構成(ロック/アンロック状態と進捗/日付)。
ステップ31:アチーブメントロジックを作成
追加 カスタムアクション ラン保存時に「アチーブメントをチェック」:
- 距離マイルストーン(5K、10K、ハーフ、マラソンの合計)
- ラン数(10/50/100/500)
- ストリーク(7/30/100日)
- スピード(1マイル未満6分/1km未満5分)
- スペシャル(夜間ラン、早起きランナー、週末戦士)
アンロック時:アチーブメント記録を作成、ポイントを更新、投稿を作成、セレブレーションを表示。
ステップ32:チャレンジ画面を構築
- 新しい画面を追加 → 「チャレンジ」
- タブ: 進行中/利用可能/完了 → ChallengeTabに保存。
- カスタムリスト: 課題
- フィルタ:
- 進行中: 開始日 ≤ 現在 かつ 終了日 ≥ 現在 かつ 参加者にログイン中のユーザーを含む
- 利用可能: 参加者 に ログイン中のユーザーを含まない(およびオプションで開始日 ≥ 現在)
- 完了: (終了日 < 現在 または ユーザーが目標を達成)かつ 参加者にログイン中のユーザーを含む
- ソート: 進行中は終了日昇順;利用可能は開始日昇順;完了は終了日降順
- フィルタ:
- カードレイアウト: 名前、短い説明、種別+目標、 プログレスバー (開始日/終了日の間のランから計算されるユーザーごと)、「{日付}に終了」
- アクション:
- チャレンジに参加 (利用可能):ログイン中のユーザーを参加者に追加 → トースト → 更新 → タブを「アクティブ」に切り替え
- 詳細を表示 (アクティブ/完了):リンク先 チャレンジ詳細 (レコード送信)
- 空の状態: 各タブの親切なメッセージ。
ステップ33:チャレンジ詳細画面を作成
- 新しい画面 → 「チャレンジ詳細」。 (チャレンジを想定)
- ヘッダー: リワードバッジ画像、名前、説明、タイプ/ゴール、日付範囲。
- 進捗(ユーザーごと):
- 距離:チャレンジ期間内のRuns.Distanceの合計
- 期間:日付内のRuns.Duration(秒)の合計
- 頻度:日付内のRunsの数
- 表示 進捗リング + 「{現在} / {ゴール}」
- リーダーボード(オプション): 計算されたスコアを持つ参加者をリストアップ;降順でソート;ランク/アバター/名前/スコアを表示。
- ボタン(条件付き):
- に参加 (参加者でなく、開始前の場合)→ 参加者に追加
- 進捗を共有 → 共有シート
- チャレンジを離脱 (オプション)→ 参加者から削除
- ヒントブロック: チャレンジ期間内のランのみがカウントされることを明確にします。
ソーシャル機能の作成
ステップ34:アクティビティフィード画面を作成
- 新しい画面 → 「アクティビティフィード」。
- タブ: フォロー中 / フレンド / 全員 → FeedScope。
- カスタムリスト: 投稿
- スコープ&プライバシーでフィルタリング (例:フォロー中 = フォロー中の作成者;フレンド = 承認されたフレンドシップ;全員 = 公開投稿)
- ソート: 最新順
- アイテムレイアウト:
- ランの投稿:マップサムネイル + 統計
- アチーブメント:バッジ + テキスト
- 写真:画像 + キャプション
- テキスト:本文
- アクション: いいね(いいねした人に切り替え + いいね数を更新)、コメント( 投稿詳細)、共有。
ステップ35:投稿詳細画面を作成
- 想定される あなたの物件と近くのアメニティの視覚的に魅力的な写真.
- ヘッダー: 作成者(写真/名前)、前の時間。
- 本文: タイプ別にレンダリング(マップ + 統計 / バッジ / 画像 / テキスト)。
- いいね: いいねした人を切り替え + カウントを更新。
- コメント: この投稿のコメントのリスト(古い→新しい)。
- コンポーザー: テキスト入力 + 送信 → コメント作成(コメント者と投稿を設定)+ カウント増加。
ステップ 36: ユーザープロフィール画面を構築
ヘッダー(写真、フルネーム、ユーザー名、自己紹介、プロフィール編集)。統計情報(総ラン数、総距離、フォロワー/フォロー中(実装している場合))。アチーブメント showcase(横スクロールリスト → すべて表示)。アクティビティグリッド/リスト切り替え(すべて vs. 公開)。アクション: 設定, 統計.
ステップ 37: 他のユーザープロフィール画面を作成
公開のみ表示。友人ステータス(追加 / 保留中 / 友人)、公開ラン/投稿、メッセージボタン(オプション)。プライバシー設定を尊重。
ステップ 38: 友人画面を構築
友人 / リクエスト / 友人を探すのタブ。
- 友人: 承認済みの友人関係をリスト表示。検索。タップでプロフィール表示。
- リクエスト: 保留中をリスト表示。承認/却下。
- 友人を探す: ユーザー名/名前で検索。推奨ユーザー。友人追加ボタン。
ルートとナビゲーションの構築
ステップ 39: 保存済みルート画面を作成
フィルター(マイルート / コミュニティルート / 近くのルート)。ルートのカスタムリスト(地図プレビュー、名前、距離、難易度、路面、ラン回数、平均評価)。お気に入り切り替え。 ルート作成 ボタンのようなクリック可能なオプションを使用します。
ステップ 40: ルート詳細画面を構築
大型地図でフルルート表示。情報(距離/予想時間、難易度/路面、標高差(利用可能な場合)、作成者)。統計情報(あなたのラン回数、ベストタイム、コミュニティ統計)。アクション(このルートを開始、お気に入りに保存、共有、問題を報告)。
ステップ 41: ルート作成者画面を作成
目標: ユーザーが現在の GPS をサンプリングするか、ポイントを手動で追加してルートを構築し、座標の JSON 配列を含むルートレコードを保存できるようにする。
A.(オプション)ドラフトポイント収集
ルートポイント(ドラフト)を作成( 緯度(数値), 経度(数値), 順序(数値), 所有者 → ユーザー, 作成日時.
B. 画面と地図
新しい画面 「ルートを作成」。 追加 マップ 現在位置を中心に表示。ルートポイント(ドラフト)にバインドされたマーカー(所有者 = ログインユーザーでフィルタリング、順序でソート)。(対応している場合、ポリラインを描画。)
C. コントロール
- 現在地を追加: 現在の緯度/経度と順序 = 最大値 + 1 でルートポイント(ドラフト)を作成。
- 元に戻す: 最新のドラフトポイントを削除。
- クリア: このオーナーのすべてのドラフトポイントを削除。
D. ルート詳細フォーム
名前(必須)、説明、難易度、路面タイプ、写真。
E. 距離と座標 JSON
- ユーザーに距離を尋ねる または カスタムアクション(ハバーサイン/サードパーティ)で計算。
- 順序付きドラフトポイントから座標 JSON を構築: [{"lat": <Lat1>, "lng": <Lng1>}, {"lat": <Lat2>, "lng": <Lng2>}, ...](カスタムアクションまたは連結パターン経由)。
F. ルートを保存(ボタン)
≥ 2 ポイントと名前が存在することを検証 → ルートを作成:
- ルート名、説明、難易度、路面タイプ、ルート写真、作成者 = ログインユーザー
- 距離 = 計算値または手動入力
- 座標 = JSON 文字列
- 開始ポイント = 最初のポイント。終了ポイント = 最後のポイント
その後 削除 このオーナーのすべてのドラフトポイントを削除し、 リンク に ルート詳細 (記録を送信)。
オーディオコーチングとガイダンスの追加
ステップ42:オーディオキューの実装
Adaloには ファーストパーティ TTSコンポーネントは含まれていません。サードパーティのマーケットプレイスコンポーネント、外部サービス、またはWeb Speech API(ウェブ)経由でTTSを追加してください。または、マイルストーン/ペース/フィニッシュ用のオーディオキューを事前に録音し、距離/時間/ペース変化に基づいてトリガーしてください。 オーディオ設定 (有効化、頻度、音量)を提供してください。
プライバシーおよび安全機能の実装
ステップ43:プライバシー設定を作成
デフォルトの投稿プライバシー、プロフィール表示、アクティビティ共有トグル(自動的にランを共有、友人にリアルタイム位置を表示、ルート保存を許可)、 位置情報プライバシー (開始/終了をぼかす)、ブロックしたユーザーリスト。
ステップ44:安全機能を作成
緊急連絡先、オプション Beacon トグル(アプリが開いている間のランの間に位置を共有)、「他のユーザーと一緒に実行」(許可された位置情報を持つバーチャルグループラン)。
設定と環境設定の構築
ステップ45:設定画面を作成
セクション アカウント, アプリの環境設定 (単位、オーディオコーチ、テーマ)、 プライバシーと安全性, データとストレージ (ランをエクスポート)、 サポート, アカウントアクション.
ステップ46:通知設定を作成
アクティビティ、チャレンジ、アチーブメント、ソーシャル、モチベーション通知のトグル。
アプリをテストする
ステップ47:テストデータを作成
複数のユーザー、様々なラン/ルート、友人関係、チャレンジをシード。
ステップ48:コアユーザーフローをテスト
オンボーディング→ラン記録(開始/一時停止/再開/終了)→ソーシャルインタラクション→アチーブメント→プライバシーコントロール。
ステップ49:デバイス全体でテスト
iOS/AndroidでAdaloプレビューアプリを使用、GPS動作をテスト アプリが開いている状態で、通知、オフライン、ウェブレスポンシブネス。バックグラウンド/継続的な追跡はカスタムネイティブビルドと比較して制限されています。
ステップ50:パフォーマンステスト
より大きなデータセット(100以上のラン、50以上の友人)、読み込み時間、マップレンダリング、リストフィルタリング、長いラン、GPS不良、ネットワーク障害。リスト、画像、クエリを最適化してください。 X-Ray を使用してパフォーマンスの問題がユーザーに影響する前に特定してください。データベースクエリとコンポーネント構成のボトルネックを強調します。
ローンチの準備
ステップ51:本番統合をセットアップ
Google Maps API: 本番キーに切り替え、クォータ/アラートを設定、使用するAPIのみを有効化(ウェブではGoogle Maps JSが必須、ジオコーディング/距離マトリックスはオプション)。
分析: サインアップ、ラン、アチーブメント、ソーシャルインタラクションを追跡。
プッシュ: iOS/Androidを構成してテスト配信。
ステップ52: App Storeアセットを作成
iOS App Store:
- 必須項目を提供 6.7インチ(例:1290 × 2796) さらに 5.5インチ(1242 × 2208) スクリーンショット、該当する場合はiPadを追加
- アプリアイコン(1024 × 1024)、オプションのプレビュービデオ、説明/キーワード、プライバシーポリシーURL、サポートURL
- 送信前に必ずAppleの最新仕様を確認してください
Google Play:
- PNGまたはJPG、サイズは 320ピクセル~3840ピクセル、アスペクト比 1:2~2:1
- 提供 最低3枚のスマートフォンスクリーンショット、最適化されている場合はタブレットスクリーンショットを追加
- フィーチャーグラフィック(1024 × 500)、アプリアイコン(512 × 512)、プロモーションビデオ(オプション)、説明、コンテンツレーティング
ステップ53: 法的要件を準備
プライバシーポリシー(データ使用、GPS、第三者)、利用規約、設定/サインアップ/ウェブフッターのリンク
ステップ54: App Storesへの公開
- iOS: Apple Developer(年間$99)。Adaloで 公開 → iOS、完全な情報を入力し、証明書をアップロードして、App Store Connectで構築および送信します
- Android: Google Play Developer($25一度のみ)。Adaloで 公開 → Android、AABを構築してPlay Consoleにアップロード
- ウェブ: に移動し、カスタムドメイン(Starterプランに含まれる)を接続して、アプリを公開します。Adaloはまた自動SSL認証を提供し、ウェブアプリが安全で、すべてのデバイスで即座にアクセス可能であることを確認します。、ドメインまたはカスタムドメイン(有料プラン)を選択、DNS + SSL
レビュー時間は異なります、数日と潜在的な反復を計画してください
ローンチ後の最適化
ステップ55: 主要指標を監視
獲得(サインアップ、オンボーディング完了)、エンゲージメント(DAU/MAU、週単位の実行回数)、リテンション(D1/D7/D30)、ソーシャル(接続、投稿、エンゲージメント)、技術(クラッシュ、GPS問題、読み込み時間、API使用量)
ステップ56: ユーザーフィードバックを収集
アプリ内フォーム、ストアレビュー、分析レビュー、ユーザーインタビュー
ステップ57: 反復と改善
パフォーマンス(クエリ、画像、ページネーション)、機能(トレーニングプラン、HR、音楽、天気、インターバル)、ソーシャル(グループチャレンジ、バーチャルレース、クラブ、メッセージング)、パーソナライゼーション(ダッシュボード、目標、コーチングのヒント)。Magic Addを使用して必要な新機能を説明すると、データベースの変更、画面、ロジックが自動的に生成されます
プラットフォームの制限と回避策
GPS & バックグラウンド制限
- Adaloは 現在のデバイスの位置情報 をキャプチャし、アプリが開いている間、タイマーでポイントを保存できます
- アプリが閉じている、またはスクリーンがロックされている場合の継続的/バックグラウンドGPSは 制限されています、それに応じて期待値を設定し、ユーザーに常に情報を提供してください
マップ & ルーティング
- を使用してください マップ コンポーネントで保存された座標からのルートを可視化
- ターンバイターンナビゲーション、オフラインマップ、または自動ルーティングには 外部サービス が必要です カスタムアクション.
を介して呼び出されます
- リアルタイムソーシャル & ライブプレゼンス ライブフィードのネイティブソケットはありません。「今実行中」のプレゼンスまたはライブリーダーボードの場合は、 タイマーベースのポーリング カスタムアクション/外部コレクション.
スケール時のパフォーマンス
- を使用するか、外部のリアルタイムバックエンドを接続してください
- 大規模なデータセット(多数のラン、投稿、友人)の場合、データを移動してください 外部コレクション 購入を受け入れ始めるために、 パフォーマンスの最適化 ガイダンス。
- Adalo 3.0のモジュラーインフラストラクチャ(2025年後半にリリース)は 3~4倍高速 以前のバージョンより優れており、アプリのニーズに応じてスケーリングします。有料プランでは任意のレコード制限がありません。
通知
- プッシュは、インストールされ、ログインしており、権限を付与したユーザーに対して機能します。
- 新しいラン、コメント、チャレンジ、およびストリークリマインダーのトリガーを作成します。
コスト内訳とリソース
年
- プランの開始価格は 月額36ドル 無制限の使用とアプリストア公開を備えています。使用量ベースの料金や予期しない請求はありません。
- ライブページで現在のプラン機能/制限を確認してください 料金 ページ。
アプリストア
- Apple Developer: 年間99ドル.
- Google Playデベロッパー: 1回限り25ドル.
Maps使用量
- Google Maps Platformには 月額$250の無料クレジット;多くの小規模アプリは無料ティア内に留まります。実際のコストは使用量によって異なります。
オプションの収益化(支払い/サブスクリプション)
- Adaloの Stripe コンポーネントで支払いまたはサブスクリプションを追加します。価格は国と支払い方法によって異なります(Stripeウェブフック/オートメーションで状態を管理)。
継続的なメンテナンス
- 多くのチームは 年間約15~25% メンテナンス、更新、サポートの初期作業予算を立てます。
追加リソース
- Adaloデータベース ―コレクション、プロパティ、リレーションシップ
- 外部コレクション ―外部APIを接続
- カスタムアクション ―サードパーティエンドポイントを呼び出す
- パフォーマンスの最適化 ―リスト、画像、データ戦略
- Maps設定 — コンポーネント&APIキー
- プッシュ通知 — トリガー&要件
- コンポーネントマーケットプレイス — チャート、オーディオ、共有など
- 公開概要 — iOS/Android/Web
- 価格設定 — プラン詳細
注: このNike Run Clubスタイルのビルドは GPSランログ (アプリが開いている間)、 ワークアウト履歴, 達成/チャレンジおよび ソーシャルシェアリング AdaloのネイティブコンポーネントとライトAPIインテグレーションを備えています。以下のような本番グレード機能の場合 バックグラウンドトラッキング, ターンバイターン案内または ライブプレゼンス、外部サービスを接続してください カスタムアクション/外部コレクション、リストを簡潔に保ち、公開前に実際のデバイスでパフォーマンステストを実施してください。
Adaloを他のアプリ構築ソリューションより選ぶ理由は何ですか?
Adaloは、単一のコードベースから真のネイティブiOSおよびAndroidアプリを作成するAI搭載アプリビルダーです。Webラッパーと異なり、ネイティブコードにコンパイルされ、Apple App StoreおよびGoogle Play Storeに直接公開されます。有料プランで無制限のデータベースレコードがあり、使用量ベースの料金がないため、予測可能な価格設定で請求ショックを回避できます——アプリの起動で最も難しい部分が自動的に処理されます。
Adaloに無料で登録してください。
AdaloのドラッグアンドドロップインターフェイスとAIアシスト構築により、数ヶ月ではなく数日でアイデアから公開アプリまでたどり着くことができます。Magic Startはシンプルな説明から完全なアプリ基盤を生成し、プラットフォームは複雑なApp Store送信プロセスを処理するため、証明書とプロビジョニングプロファイルではなく、機能とユーザーエクスペリエンスに集中できます。
AdaloのドラッグアンドドロップインターフェイスとAI支援の構築により、数ヶ月ではなく数日でアイデアから公開されたアプリまで進めることができます。Magic Startは説明から完全なアプリ基盤を生成し、Adaloは複雑なApp Store提出プロセスを処理するため、あなたは機能とユーザーエクスペリエンスに焦点を当てることができます。
コーディングなしでGPSとソーシャル機能を備えたフィットネストラッキングアプリを構築できますか?
はい。Adaloには、マップ、タイマー、チャート用のマーケットプレイスコンポーネント、およびアプリが開いている間にGPSデータをキャプチャするネイティブロケーションサービスが含まれています。ワークアウトログ、達成バッジ、ソーシャルフィード、コミュニティチャレンジをすべてビジュアルビルダーで構築できます。
Adaloはフィットネスアプリ機能のプッシュ通知をサポートしていますか?
はい、AdaloはネイティブiOSおよびAndroidアプリのプッシュ通知を完全にサポートしています。ラン完了、チャレンジ更新、ストリークリマインダー、達成アンロック、ソーシャルインタラクションのトリガーを作成して、ユーザーを常に関与させることができます。
Adaloでのグローバルポジショニングシステムトラッキングの制限事項は何ですか?
Adaloは現在のデバイスの位置をキャプチャし、アプリが開いている間、タイマー上のグローバルポジショニングシステムポイントを保存します。これはランを追跡するのに適しています。アプリが閉じられているか画面がロックされている場合の継続的なバックグラウンドグローバルポジショニングシステムトラッキングは、カスタムネイティブビルドと比べて制限されています。本番グレードのバックグラウンドトラッキングの場合は、カスタムアクションを介して外部サービスを接続してください。
Adaloでフィットネスアプリを構築および公開するのにはいくらかかりますか?
Adaloプランは月額36ドルから始まり、無制限の使用とアプリストア公開が可能です。Apple Developer Program(年間99ドル)とGoogle Play Developer(一度だけ25ドル)を追加してください。Google Maps Platformには月間250ドルの無料クレジットが含まれており、多くの小規模アプリをカバーしています。予期しない使用量ベースの料金はありません。
達成やチャレンジなどのゲーミフィケーション機能を追加できますか?
はい。達成とチャレンジのデータベースコレクション、ランが保存されるときマイルストーンをチェックするカスタムアクション、達成を共有するためのソーシャル機能を作成してください。距離マイルストーン、ストリーク報酬、スピード達成、リーダーボード付きのコミュニティチャレンジをコードなしですべて構築できます。
フィットネストラッキングアプリの構築にはどのくらい時間がかかりますか?
Magic Startがアプリの基盤を生成し、ビジュアルビルダーが画面とロジックを処理すると、数日以内に動作するプロトタイプを用意できます。グローバルポジショニングシステムトラッキング、ソーシャル機能、達成を備えた本格的なアプリは、複雑さとテストに応じて通常2~4週間かかります。
このアプリを構築するためにコーディング経験が必要ですか?
コーディングは不要です。Adaloのビジュアルビルダーはドラッグアンドドロップコンポーネントを使用し、Magic Addを使用すると、自然言語で機能を説明して、データベースの変更と画面を自動的に生成できます。プラットフォームは技術的な複雑さを処理します。
フィットネスアプリは数千人のユーザーに拡張できますか?
はい。Adalo 3.0のモジュール型インフラストラクチャ(2025年後半にリリース)は以前のバージョンより3~4倍高速で、月間アクティブユーザーが数百万のアプリにも対応できます。有料プランはデータベースレコード数に制限がないため、ユーザーベースが増えてもアプリがストレージの制限に達することはありません。