Skip to content
This repository has been archived by the owner on Jul 5, 2021. It is now read-only.

Remote Config

Evan Lin edited this page Jul 22, 2020 · 69 revisions

Purpose

You will get insight on Firebase remote config to configure Firefox Lite features. Before starting, please check FxLite Firebase Remote Config Strategy to have knowledge on how to request, modify and verify remote config. And if you need more deep dive step-by-step configuration , please refer Firefox Lite - Remote Config Deep-Dive Usage.

Parameters

Key Value Type
rate_app_dialog_threshold Long
rate_app_notification_threshold Long
share_app_dialog_threshold Long
enable_my_shot_unread Boolean
banner_manifest String
screenshot_category_manifest URL
feature_survey Long
vpn_recommender_url URL
vpn_recommender_package String
first_launch_timer_minutes Long
first_launch_notification JSON
enable_life_feed Boolean
life_feed_providers JSON
str_e_commerce_shoppinglinks JSON
str_e_commerce_coupons JSON
str_coupon_banner_manifest URL
rate_app_dialog_text_positive String
rate_app_dialog_text_negative String
pref_s_news String
str_share_app_dialog_title String
str_share_app_dialog_content String
str_share_app_dialog_msg String
str_menu_items JSON
str_bottom_bar_items_v2 JSON
str_menu_bottom_bar_items_v2_5 JSON
str_private_bottom_bar_items JSON
str_content_hub_items JSON
str_content_hub_items_v2_5 JSON
bool_content_hub_item_text_enabled Boolean
str_top_sites_fixed_items JSON
str_top_sites_fixed_items_v2_5 JSON
str_top_sites_default_items JSON
str_top_sites_default_items_v2_5 JSON
str_logo_man_notification JSON
bool_msrp_enabled Boolean
str_apk_download_link URL
str_set_default_browser_tutorial_images JSON
str_recommended_sites JSON
enable_shopping_search Boolean
enable_shopping_search_v2_5 JSON

JSON Format

str_menu_items

Sample Json:

[
    { "type":0 },
    { "type":1 },
    { "type":2 },
    { "type":3 },
    { "type":4 },
    { "type":5 },
    { "type":6 },
    { "type":7 },
    { "type":8 },
    { "type":9 },
    { "type":10 },
    { "type":11 }
]

Item size needs to be 12

variable value options
type Bookmarks: 0
Downloads: 1
History: 2
Screenshots: 3
Turbo Mode: 4
Private Browsing: 5
Night Mode: 6
Block Image: 7
Find In Page: 8
Clear Cache: 9
Perferences: 10
Exit App: 11

str_bottom_bar_items_v2, str_menu_bottom_bar_items_v2_5 and str_private_bottom_bar_items

Sample Json:

[
    { "type":0 },
    { "type":1 },
    { "type":2 },
    { "type":3 },
    { "type":4 }
]

Item size needs to be 5

variable value options
type Tab Counter: 0
Menu: 1
New Tab: 2
Search: 3
Capture: 4
Pin Shortcut: 5
Bookmark: 6
Refresh: 7
Share: 8
Forward: 9
Private Home: 10
Delete Tab: 11
Tracker: 12
Back: 13 (str_menu_bottom_bar_items_v2_5 only)

Notes:

  • Can not contain duplicate items
  • str_bottom_bar_items_v2 and str_menu_bottom_bar_items_v2_5 has not supported Private Home, Delete Tab and Tracker
  • str_private_bottom_bar_items has not supported Tab Counter, Menu, New Tab, Capture and Bookmark

life_feed_providers

Sample Json:

[
   {
      "name":"News Source A",
      "type":"news",
      "url":"https://sample-url-1",
      "enable":true
   },
   {
      "name":"News Source B",
      "type":"news",
      "url":"https://sample-url-2",
      "enable":true
   }
]
variable value options
name String(Newspoint)
type String
url URL
enable Boolean

str_e_commerce_shoppinglinks

Sample Json:

[
   {
      "source":"bukalapak",
      "name":"Name 1",
      "img":"image_1",
      "url":"https://sample-url-1"
   },
   {
      "source":"tokopedia",
      "name":"Name 2",
      "img":"image_2",
      "url":"https://sample-url-2"
   }
]
variable value options
source String(bukalapak,tokopedia)
name String
img String
url URL

str_e_commerce_coupons

Sample Json:

[
   {
      "id":"2019042901",
      "category":"coupons",
      "subcategory":"limited-time",
      "source":"bukalapak",
      "feed":"banner",
      "name":"Name 1",
      "img":"https://image-url-1",
      "url":"https://sample-url-1",
      "end":1577707200000,
      "active":true
   },
   {
      "id":"2019042901",
      "category":"product",
      "subcategory":"smartphones",
      "source":"tokopedia",
      "feed":"list",
      "name":"Name 2",
      "img":"https://image-url-2",
      "url":"https://sample-url-2",
      "end":1577900000000,
      "active":true
   }
]
variable value options
id String
category String(product,coupons)
subcategory String(smartphones,computer,limited-time,credit-card)
source String(bukalapak,tokopedia)
feed String(banner,list)
name String
img URL
url URL
end String
active String

str_content_hub_items

Sample Json:

[
    { "type":1 },
    { "type":2 },
    { "type":3 },
    { "type":4 }
]

Item size can be [0-4]

variable value options
type Travel: 1
Shopping: 2
News: 3
Games: 4

str_content_hub_items_v2_5

Sample Json:

[
  {
    "id": 0,
    "items": [
      {
        "type": 1
      },
      {
        "type": 2
      },
      {
        "type": 3
      },
      {
        "type": 4
      }
    ]
  },
  {
    "id": 1,
    "items": [
      {
        "type": 2
      }
    ]
  },
  {
    "id": 2,
    "items": [
      {
        "type": 4
      }
    ]
  },
  {
    "id": 3,
    "items": [
      {
        "type": 3
      }
    ]
  }
]
variable value options
id (interest id) default: 0
deals: 1
entertainment: 2
news: 3
type Travel: 1
Shopping: 2
News: 3
Games: 4

str_top_sites_fixed_items, str_top_sites_fixed_items_v2_5

Sample Json:

[
  {
    "id": -100,
    "url": "https://www.google.com/?q\u003dFixed%201",
    "title": "Remote1",
    "favicon": "ic_amazon.png",
    "viewCount": 0
  },
  {
    "id": -101,
    "url": "https://www.google.com/?q\u003dFixed%202",
    "title": "Remote2",
    "favicon": "ic_amazon.png",
    "viewCount": 0
  },
  {
    "id": -102,
    "url": "https://www.google.com/?q\u003dFixed%203",
    "title": "Remote3",
    "favicon": "ic_amazon.png",
    "viewCount": 0
  },
  {
    "id": -103,
    "url": "https://www.google.com/?q\u003dFixed%204",
    "title": "Remote4",
    "favicon": "ic_amazon.png",
    "viewCount": 0
  }
]

Item size needs to be 4

variable value options note
id Integer(-100,-101,-102,-103) no need to change
url URL
title String
favicon String(ic_amazon.png,ic_kkday.webp, etc..., or empty string)
viewCount Integer(0) no need to change

str_top_sites_default_items

Sample Json:

[
  {
    "id": -1,
    "url": "https://m.youtube.com/",
    "title": "RemoteDefault",
    "favicon": "",
    "viewCount": 1000
  },
  {
    "id": -2,
    "url": "https://m.facebook.com/",
    "title": "RemoteDefault",
    "favicon": "",
    "viewCount": 995
  },
  {
    "id": -3,
    "url": "https://www.wikipedia.org/",
    "title": "RemoteDefault",
    "favicon": "ic_wikipedia.png",
    "viewCount": 990
  },
  {
    "id": -4,
    "url": "https://mobile.twitter.com",
    "title": "RemoteDefault",
    "favicon": "ic_twitter.png",
    "viewCount": 985
  },
  {
    "id": -5,
    "url": "https://www.instagram.com/",
    "title": "RemoteDefault",
    "favicon": "ic_instagram.png",
    "viewCount": 28
  },
  {
    "id": -6,
    "url": "https://www.reddit.com/",
    "title": "RemoteDefault",
    "favicon": "ic_reddit.png",
    "viewCount": 26
  },
  {
    "id": -7,
    "url": "https://www.linkedin.com/",
    "title": "RemoteDefault",
    "favicon": "ic_linkedin.png",
    "viewCount": 24  },
  {
    "id": -8,
    "url": "https://www.ebay.com",
    "title": "RemoteDefault",
    "favicon": "ic_ebay.png",
    "viewCount": 22
  }
]
variable value options note
id Integer(-1,-2,-3,-4,-5,-6,-7,-8) no need to change
url URL
title String
favicon String(ic_amazon.png,ic_kkday.webp, etc...) optional
viewCount Integer(1000,995,990,985,28,26,24,22...) no need to change

str_top_sites_default_items_v2_5

Sample Json:

[
  {
    "id": 0,
    "sites": [
      {
        "id": -1,
        "url": "https://m.youtube.com/",
        "title": "RemoteDefault0",
        "favicon": "",
        "viewCount": 1000
      },
      {
        "id": -2,
        "url": "https://m.facebook.com/",
        "title": "RemoteDefault0",
        "favicon": "",
        "viewCount": 995
      },
      {
        "id": -3,
        "url": "https://www.wikipedia.org/",
        "title": "RemoteDefault0",
        "favicon": "ic_wikipedia.png",
        "viewCount": 990
      },
      {
        "id": -4,
        "url": "https://mobile.twitter.com",
        "title": "RemoteDefault0",
        "favicon": "ic_twitter.png",
        "viewCount": 985
      },
      {
        "id": -5,
        "url": "https://www.instagram.com/",
        "title": "RemoteDefault0",
        "favicon": "ic_instagram.png",
        "viewCount": 28
      },
      {
        "id": -6,
        "url": "https://www.reddit.com/",
        "title": "RemoteDefault0",
        "favicon": "ic_reddit.png",
        "viewCount": 26
      },
      {
        "id": -7,
        "url": "https://www.linkedin.com/",
        "title": "RemoteDefault0",
        "favicon": "ic_linkedin.png",
        "viewCount": 24  },
      {
        "id": -8,
        "url": "https://www.ebay.com",
        "title": "RemoteDefault0",
        "favicon": "ic_ebay.png",
        "viewCount": 22
      }
    ]
  },
  {
    "id": 1,
    "sites": [
      {
        "id": -1,
        "url": "https://m.youtube.com/",
        "title": "RemoteDefault1",
        "favicon": "",
        "viewCount": 1000
      },
      {
        "id": -2,
        "url": "https://m.facebook.com/",
        "title": "RemoteDefault1",
        "favicon": "",
        "viewCount": 995
      },
      {
        "id": -3,
        "url": "https://www.wikipedia.org/",
        "title": "RemoteDefault1",
        "favicon": "ic_wikipedia.png",
        "viewCount": 990
      },
      {
        "id": -4,
        "url": "https://mobile.twitter.com",
        "title": "RemoteDefault1",
        "favicon": "ic_twitter.png",
        "viewCount": 985
      },
      {
        "id": -5,
        "url": "https://www.instagram.com/",
        "title": "RemoteDefault1",
        "favicon": "ic_instagram.png",
        "viewCount": 28
      },
      {
        "id": -6,
        "url": "https://www.reddit.com/",
        "title": "RemoteDefault1",
        "favicon": "ic_reddit.png",
        "viewCount": 26
      },
      {
        "id": -7,
        "url": "https://www.linkedin.com/",
        "title": "RemoteDefault1",
        "favicon": "ic_linkedin.png",
        "viewCount": 24  },
      {
        "id": -8,
        "url": "https://www.ebay.com",
        "title": "RemoteDefault1",
        "favicon": "ic_ebay.png",
        "viewCount": 22
      }
    ]
  }
]
variable value options note
id (interest id) default: 0
deals: 1
entertainment: 2
news: 3
id Sequential Integer last used ID: 271
url URL
title String
favicon String(ic_amazon.png,ic_kkday.webp, etc...) optional
viewCount Integer(1000,995,990,985,28,26,24,22...) no need to change

str_logo_man_notification

Sample Json:

{
  "messageId": "testMessageId",
  "title": "test title 2",
  "subtitle": "test subtitle 2",
  "imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/6/67/Firefox_Logo%2C_2017.svg/512px-Firefox_Logo%2C_2017.svg.png",
  "action": "rocket://content/travel",
  "type": "travel"
}
variable value options note
messageId String
title String length maximum 24 Character
subtitle String optional ; length maximum 54 Character
imageUrl URL optional ; size: 120x120
action String An URL or a Deep Link
type String Telemetry usage

first_launch_notification

Sample Json:

{
  "messageId": "ID0001",
  "title": "I'm title",
  "message": "I'm Message",
  "push_deep_link": "rocket://content/reward"
}
variable value options note
message_id String
title String optional
message String
push_deep_link String optional
push_open_url String optional
push_command String optional

str_set_default_browser_tutorial_images

Sample Json:

{
  "flow_1_step_1_image_url": "https://rocketnightly.firebaseapp.com/SD_goto_system_step1_ID.png",
  "flow_1_step_2_image_url": "https://rocketnightly.firebaseapp.com/SD_goto_system_step2_ID.png",
  "flow_2_step_2_image_url": "https://rocketnightly.firebaseapp.com/SD_open_external_ID.png"
}
variable value options note
flow_1_step_1_image_url URL
flow_1_step_2_image_url URL
flow_2_step_2_image_url URL

str_recommended_sites

Sample Json:

[
  {
    "categoryId": "1",
    "categoryName": "Popular Websites",
    "sites": [
      {
        "id": -1001,
        "url": "https://m.youtube.com",
        "title": "YouTube",
        "favicon": "ic_youtube.png",
        "viewCount": 0
      },
      {
        "id": -1002,
        "url": "https://m.facebook.com",
        "title": "Facebook",
        "favicon": "ic_facebook.png",
        "viewCount": 0
      },
      {
        "id": -1003,
        "url": "https://mobile.twitter.com",
        "title": "Twitter",
        "favicon": "ic_twitter.png",
        "viewCount": 0
      }
    ]
  },
  {
    "categoryId": "2",
    "categoryName": "News",
    "sites": [
      {
        "id": -2001,
        "url": "https://www.nytimes.com/section/world",
        "title": "NYTimes",
        "favicon": "ic_nytimes.webp",
        "viewCount": 0
      },
      {
        "id": -2002,
        "url": "https://www.yahoo.com/news/world/",
        "title": "Yahoo News",
        "favicon": "ic_yahoo.webp",
        "viewCount": 0
      }
    ]
  }
]
variable value options note
categoryId Integer(1,2,3,4,5) no need to change
categoryName String
sites JsonArray
id Sequential Integer last used ID: 271
url URL
title String
favicon String(ic_amazon.png,ic_kkday.webp, etc...) optional
viewCount Integer(0) no need to change

enable_shopping_search_v2_5

Sample Json:

[
  {
    "id": 0,
    "is_enabled": false 
  },
  {
    "id": 1,
    "is_enabled": true 
  },
  {
    "id": 2,
    "is_enabled": false 
  },
  {
    "id": 3,
    "is_enabled": false 
  }
]
variable value options note
id (interest id) default: 0
deals: 1
entertainment: 2
news: 3
is_enabled true false