153 lines
4.8 KiB
JSON
153 lines
4.8 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2019-09/schema",
|
|
"$id": "file:///NewtabPromoMessage.schema.json",
|
|
"title": "PBNewtabPromoMessage",
|
|
"description": "Message shown on the private browsing newtab page.",
|
|
"allOf": [{ "$ref": "file:///FxMSCommon.schema.json#/$defs/Message" }],
|
|
"type": "object",
|
|
"properties": {
|
|
"content": {
|
|
"type": "object",
|
|
"properties": {
|
|
"hideDefault": {
|
|
"type": "boolean",
|
|
"description": "Should we hide the default promo after the experiment promo is dismissed."
|
|
},
|
|
"infoEnabled": {
|
|
"type": "boolean",
|
|
"description": "Should we show the info section."
|
|
},
|
|
"infoIcon": {
|
|
"type": "string",
|
|
"description": "Icon shown in the left side of the info section. Default is the private browsing icon."
|
|
},
|
|
"infoTitle": {
|
|
"type": "string",
|
|
"description": "Is the title in the info section enabled."
|
|
},
|
|
"infoTitleEnabled": {
|
|
"type": "boolean",
|
|
"description": "Is the title in the info section enabled."
|
|
},
|
|
"infoBody": {
|
|
"type": "string",
|
|
"description": "Text content in the info section."
|
|
},
|
|
"infoLinkText": {
|
|
"type": "string",
|
|
"description": "Text for the link in the info section."
|
|
},
|
|
"infoLinkUrl": {
|
|
"type": "string",
|
|
"description": "URL for the info section link.",
|
|
"format": "moz-url-format"
|
|
},
|
|
"promoEnabled": {
|
|
"type": "boolean",
|
|
"description": "Should we show the promo section."
|
|
},
|
|
"promoType": {
|
|
"type": "string",
|
|
"description": "Promo type used to determine if promo should show to a given user",
|
|
"enum": ["FOCUS", "VPN", "PIN", "COOKIE_BANNERS", "OTHER"]
|
|
},
|
|
"promoSectionStyle": {
|
|
"type": "string",
|
|
"description": "Sets the position of the promo section. Possible values are: top, below-search, bottom. Default bottom.",
|
|
"enum": ["top", "below-search", "bottom"]
|
|
},
|
|
"promoTitle": {
|
|
"type": "string",
|
|
"description": "The text content of the promo section."
|
|
},
|
|
"promoTitleEnabled": {
|
|
"type": "boolean",
|
|
"description": "Should we show text content in the promo section."
|
|
},
|
|
"promoLinkText": {
|
|
"type": "string",
|
|
"description": "The text of the link in the promo box."
|
|
},
|
|
"promoHeader": {
|
|
"type": "string",
|
|
"description": "The title of the promo section."
|
|
},
|
|
"promoButton": {
|
|
"type": "object",
|
|
"properties": {
|
|
"action": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"description": "Action dispatched by the button."
|
|
},
|
|
"data": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"required": ["type"],
|
|
"additionalProperties": true
|
|
}
|
|
},
|
|
"required": ["action"]
|
|
},
|
|
"promoLinkType": {
|
|
"type": "string",
|
|
"description": "Type of promo link type. Possible values: link, button. Default is link.",
|
|
"enum": ["link", "button"]
|
|
},
|
|
"promoImageLarge": {
|
|
"type": "string",
|
|
"description": "URL for image used on the left side of the promo box, larger, showcases some feature. Default off.",
|
|
"format": "uri"
|
|
},
|
|
"promoImageSmall": {
|
|
"type": "string",
|
|
"description": "URL for image used on the right side of the promo box, smaller, usually a logo. Default off.",
|
|
"format": "uri"
|
|
}
|
|
},
|
|
"additionalProperties": true,
|
|
"allOf": [
|
|
{
|
|
"if": {
|
|
"properties": {
|
|
"promoEnabled": { "const": true }
|
|
},
|
|
"required": ["promoEnabled"]
|
|
},
|
|
"then": {
|
|
"required": ["promoButton"]
|
|
}
|
|
},
|
|
{
|
|
"if": {
|
|
"properties": {
|
|
"infoEnabled": { "const": true }
|
|
},
|
|
"required": ["infoEnabled"]
|
|
},
|
|
"then": {
|
|
"required": ["infoLinkText"],
|
|
"if": {
|
|
"properties": {
|
|
"infoTitleEnabled": { "const": true }
|
|
},
|
|
"required": ["infoTitleEnabled"]
|
|
},
|
|
"then": {
|
|
"required": ["infoTitle"]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"template": {
|
|
"type": "string",
|
|
"const": "pb_newtab"
|
|
}
|
|
},
|
|
"additionalProperties": true,
|
|
"required": ["targeting"]
|
|
}
|