Control Center

Dashboard

1.0.0
App Version
Active
Ads Status
2
Active Plans
Off
In-App Notif
Remote Config Overview
Key Value Type
Loading...
Quick Actions
Remote Config Editor
50 Parameters
Showing all parameters
Key Value Type
Ad Controls
Checking...
Show Ads (Master)
Global kill switch — disables ALL ads

Per-Screen Ad Controls

App Open Ad
Interstitial shown on app launch (Dashboard)
Show Ad every Nth open:
Timer Complete Ad
Interstitial after focus session ends
Focus complete interval:
Break screen interval:
Tab Switch Ad
Interstitial when switching to Habits / Forest tab
Forest switch interval:
Habits switch interval:
Stats Unlock Ad
Ad gate dialog before opening Stats screen
Show Ad every Nth unlock:
Habit Action Ad
Ad gate dialog when creating / editing a habit (shares Habits interval)
Coin Vault & Rewards Hub
Dedicated Watch-and-Earn gold coin button & rewards hub modal
Show Ad every Nth tap:

No Fill & Mediation Retry Limits (Release Mode)

Retries:
Exponential backoff (1s, 2s, 4s...) before giving up
Retries:
Exponential backoff (1s, 2s, 4s...) before giving up

Coin Economy & Tree Species Unlock Costs

Coins:
Coins awarded per watched rewarded ad (default: 25)
Map species IDs to coin unlock costs
Coins:
Coins:
Ad Unit IDs (Reference)
These IDs are hardcoded in ad_manager.dart. Debug mode uses Google test IDs automatically.
Placement Ad Unit ID
Break Interstitial …/4430688538
Dashboard Interstitial …/3372548300
Focus Interstitial …/2618913412
Forest Interstitial …/3907944352
Habits Interstitial …/3931995084
Habit Rewarded …/7865826076
Stats Rewarded …/5587143526
Coin Vault Rewarded …/7695551326
Sound Categories
Checking...
Show Sounds
Master toggle — hides sound button on timer screen

JSON Preview
[]
Audio Finder (Freesound.org)
Get your free key at freesound.org/apiv2/apply

Subscription Plan IDs
Checking...
Enter comma-separated product IDs matching your Google Play Console subscriptions. The app loads plan details (title, price, description) dynamically from the billing library.
Plan Preview
How It Works
  1. Create subscriptions in Google Play Console → Monetize → Subscriptions
  2. Copy the Product ID (e.g. monthly_pro)
  3. Add it to the Plan IDs field above
  4. The app fetches title, price, and description directly from the billing library at runtime
  5. Use RemoteConfig to control which plans are visible
Create Notification
Checking...
Create notifications that are shown inside the app. Set a schedule date to activate it later, or save without a date to activate immediately.
Choose how this notification is rendered in the app
Dialog shows only if user opened the app at least this many times
Maximum times the dialog will show to a user (e.g. 3)
If enabled, a close (X) icon will render at the top right of the popup dialog. If disabled or dynamic buttons are configured, it will be hidden.
Dynamic action buttons trigger direct in-app interactive routes or web links with haptic response.
Leave empty to activate immediately
JSON Preview
{}
Notification History
No notifications yet
Mobile Preview
No notification
Set a title and message to preview
FCM Actionable Notifications & Dynamic Island Reference Sheet
Dual Delivery: Shade + Dynamic Island
1-Click Preset Loaders (Auto-Fills Editor Above): Click any preset to load title, message & dynamic action buttons
Key Parameter Type Default Fallback Description Copy Key
title String "Focus Flow" Notification headline for shade tray & Dynamic Island banner.
body / message String "" Primary body description text.
image_url URL null Large hero artwork. Automatically cached for Android BigPicture & Dynamic Island.
type String "timer" Category: 'timer', 'habit', 'mantra', or 'forest'. Selects fallback button icons.
action_1_label String "Start Focus" Primary Action button label (e.g. "Start Focus", "15m Sprint", "Mark Done").
action_1_id String "action_start_focus" The actionable route dispatched on Action Button 1 click.
action_2_label String "Zen Mode" Secondary Action button label (e.g. "Zen Mode", "View Forest").
action_2_id String "action_open_zen" The actionable route dispatched on Action Button 2 click.
display_style String "dialog" Controls in-app display format: "banner" (Dynamic Island), "tray" (Notification Shade Push), or "dialog" (Centered Modal).
action_url / url DeepLink / URL "" Fallback URL or internal route executed when tapping the notification card body.
Action ID Recommended Button Text Direct In-App Behavior Copy ID
action_start_focus ▶ Start Focus Pops all sheets/overlays, switches to Timer Tab (0) and starts the countdown timer immediately.
action_open_zen 🧘 Zen Mode Pops all open sheets, opens fullscreen Zen Mode Overlay with breathwork & mantras.
action_view_forest 🌲 View Forest Dismisses Zen Mode/overlays and navigates directly to Forest Tab (2).
action_complete_habit ✓ Mark Done Pops overlays and navigates directly to Habits Tab (1).
action_open_habit 📋 Open Habits Navigates directly to Habits Tab (1) for habit review.
action_listen_mantra 🎧 Listen Mantra Speaks daily mantra with ElevenLabs AI / Neural TTS and opens Zen Mode.
action_quick_sprint ⚡ 15m Sprint Sets focus timer to 15 minutes and begins countdown immediately.
action_take_break ☕ Take Break Switches timer to Short Break mode and starts break countdown.
action_dismiss ✕ Dismiss Dismisses notification silently without performing any foreground app navigation.
Template 1: Daily Focus Motivation
{
  "message": {
    "topic": "all_users",
    "notification": {
      "title": "Ready for your daily focus?",
      "body": "Step away from distractions. 25 minutes of clarity awaits you."
    },
    "data": {
      "type": "timer",
      "action_1_label": "Start Focus",
      "action_1_id": "action_start_focus",
      "action_2_label": "Zen Mode",
      "action_2_id": "action_open_zen"
    },
    "android": {
      "notification": {
        "channel_id": "high_importance_channel",
        "color": "#10B981"
      }
    }
  }
}
Template 2: Hero Artwork (BigPicture)
{
  "message": {
    "topic": "all_users",
    "notification": {
      "title": "Forest Growth Opportunity 🌲",
      "body": "Grow an ancient Golden Oak today. Plant your seeds now!"
    },
    "data": {
      "type": "timer",
      "image_url": "https://images.unsplash.com/photo-1542273917363-3b1817f69a2d?auto=format&fit=crop&w=1000&q=80",
      "action_1_label": "15m Sprint",
      "action_1_id": "action_quick_sprint",
      "action_2_label": "View Forest",
      "action_2_id": "action_view_forest"
    },
    "android": {
      "notification": {
        "channel_id": "high_importance_channel",
        "image": "https://images.unsplash.com/photo-1542273917363-3b1817f69a2d?auto=format&fit=crop&w=1000&q=80",
        "color": "#10B981"
      }
    }
  }
}
Template 3: Daily Zen Mantra (AI Voice)
{
  "message": {
    "topic": "all_users",
    "notification": {
      "title": "Today's Mindful Mantra 🧘",
      "body": "Breathe deeply. Hold stillness. Let go of outside noise."
    },
    "data": {
      "type": "mantra",
      "action_1_label": "Listen AI Voice",
      "action_1_id": "action_listen_mantra",
      "action_2_label": "Zen Mode",
      "action_2_id": "action_open_zen"
    },
    "android": {
      "notification": {
        "channel_id": "high_importance_channel",
        "color": "#06B6D4"
      }
    }
  }
}
Template 4: Habit Check-In
{
  "message": {
    "topic": "habit_trackers",
    "notification": {
      "title": "Evening Habit Check-in 🌿",
      "body": "Did you drink your water and complete your mindful reading?"
    },
    "data": {
      "type": "habit",
      "action_1_label": "Mark Done",
      "action_1_id": "action_complete_habit",
      "action_2_label": "Open Habits",
      "action_2_id": "action_open_habit"
    },
    "android": {
      "notification": {
        "channel_id": "reminders_channel",
        "color": "#8B5CF6"
      }
    }
  }
}
cURL Test Command (FCM HTTP v1 API)
curl -X POST https://fcm.googleapis.com/v1/projects/YOUR_PROJECT_ID/messages:send \
  -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{
    "message": {
      "token": "DEVICE_FCM_REGISTRATION_TOKEN",
      "data": {
        "title": "Time for Deep Work",
        "body": "Your forest is waiting for you.",
        "action_1_label": "Start Focus",
        "action_1_id": "action_start_focus",
        "action_2_label": "Zen Mode",
        "action_2_id": "action_open_zen",
        "image_url": "https://images.unsplash.com/photo-1542273917363-3b1817f69a2d?auto=format&fit=crop&w=1000&q=80"
      },
      "android": {
        "priority": "HIGH"
      }
    }
  }'
Firebase Console Manual Steps:
  1. Navigate to Firebase Console → Engage → Messaging → New Campaign → Notifications.
  2. Fill in Notification title and Notification text.
  3. Under Additional options (Custom data), enter action_1_label, action_1_id, action_2_label, and action_2_id.
  4. Set Android notification channel to high_importance_channel.
App Version Control
Checking...
Current version available on the Play Store
Users below this version will be forced to update
Allows immediate & flexible Google Play dialogs with fallback
Blocks app open if user is offline to ensure ads, sounds & revenue flow
Display decorative paper-cut calendar ribbon in Habits tab
App URLs
AI Voice & Speech (ElevenLabs)
Checking...
Powers studio-quality neural AI voice in Zen Mode for all custom mantras across 5 languages (en, es, pt, hi, ar). If left empty, the app defaults to free on-device neural TTS.
Global API key deployed to all app instances via Remote Config
Rating System Settings
Checking...
Show a custom in-app rating bottom sheet to users.
Show rating sheet after this many app opens.
Fallback redirect URL if native In-App Review is unavailable.

Placements & Frequencies
Show rating dialog on every Nth completed focus session. e.g., '5' means every 5th complete.
Show rating dialog on every Nth habit added action. e.g., '2' means every 2nd action.

Viral Referral & Deep Link Program
Checking...
Master switch: toggle referral sheet, code redeeming & invite links in app.
Coins awarded to the new friend upon redeeming code.
Coins credited to the referrer for each invited friend.
Maximum invites allowed to earn coins. Enter -1 for infinite (unlimited).
Production Deep Link Endpoint:
https://www.corelumetech.in/focusflow/join?ref={CODE}
Deep links route to Android App Links (assetlinks.json) or fallback to GitHub Pages redirector.
Firebase Configuration
Enter your Firebase project credentials to enable live Remote Config sync. Without this, changes are saved locally only.
Select your service-account.json downloaded from Firebase Console. This will be securely saved locally to auto-generate access tokens for publishing.
No Service Account Publishing will fail without a Service Account.