forked from mirrors/gecko-dev
243 lines
7.7 KiB
JSON
243 lines
7.7 KiB
JSON
{
|
|
"title": "SendToDeviceSnippet",
|
|
"description": "A snippet template for send to device mobile download",
|
|
"version": "1.2.0",
|
|
"type": "object",
|
|
"definitions": {
|
|
"plainText": {
|
|
"description": "Plain text (no HTML allowed)",
|
|
"type": "string"
|
|
},
|
|
"richText": {
|
|
"description": "Text with HTML subset allowed: i, b, u, strong, em, br",
|
|
"type": "string"
|
|
},
|
|
"link_url": {
|
|
"description": "Target for links or buttons",
|
|
"type": "string",
|
|
"format": "uri"
|
|
}
|
|
},
|
|
"properties": {
|
|
"locale": {
|
|
"type": "string",
|
|
"description": "Two to five character string for the locale code",
|
|
"default": "en-US"
|
|
},
|
|
"country": {
|
|
"type": "string",
|
|
"description": "Two character string for the country code (used for SMS)",
|
|
"default": "us"
|
|
},
|
|
"scene1_title": {
|
|
"allof": [
|
|
{ "$ref": "#/definitions/plainText" },
|
|
{ "description": "snippet title displayed before snippet text" }
|
|
]
|
|
},
|
|
"scene1_text": {
|
|
"allOf": [
|
|
{ "$ref": "#/definitions/richText" },
|
|
{
|
|
"description": "Main body text of snippet. HTML subset allowed: i, b, u, strong, em, br"
|
|
}
|
|
]
|
|
},
|
|
"scene1_section_title_icon": {
|
|
"type": "string",
|
|
"description": "Section title icon for scene 1. 16x16px. SVG or PNG preferred. scene1_section_title_text must also be specified to display."
|
|
},
|
|
"scene1_section_title_icon_dark_theme": {
|
|
"type": "string",
|
|
"description": "Section title icon for scene 1, dark theme variant. 16x16px. SVG or PNG preferred. scene1_section_title_text must also be specified to display."
|
|
},
|
|
"scene1_section_title_text": {
|
|
"type": "string",
|
|
"description": "Section title text for scene 1. scene1_section_title_icon must also be specified to display."
|
|
},
|
|
"scene1_section_title_url": {
|
|
"allOf": [
|
|
{ "$ref": "#/definitions/link_url" },
|
|
{ "description": "A url, scene1_section_title_text links to this" }
|
|
]
|
|
},
|
|
"scene2_title": {
|
|
"allOf": [
|
|
{ "$ref": "#/definitions/plainText" },
|
|
{
|
|
"description": "Title displayed before text in scene 2. Should be plain text."
|
|
}
|
|
]
|
|
},
|
|
"scene2_text": {
|
|
"allOf": [
|
|
{ "$ref": "#/definitions/richText" },
|
|
{
|
|
"description": "Main body text of snippet. HTML subset allowed: i, b, u, strong, em, br"
|
|
}
|
|
]
|
|
},
|
|
"scene1_icon": {
|
|
"type": "string",
|
|
"description": "Snippet icon. 64x64px. SVG or PNG preferred."
|
|
},
|
|
"scene1_icon_dark_theme": {
|
|
"type": "string",
|
|
"description": "Snippet icon. Dark theme variant. 64x64px. SVG or PNG preferred."
|
|
},
|
|
"scene2_icon": {
|
|
"type": "string",
|
|
"description": "(send to device) Image to display above the form. Dark theme variant. 98x98px. SVG or PNG preferred."
|
|
},
|
|
"scene2_icon_dark_theme": {
|
|
"type": "string",
|
|
"description": "(send to device) Image to display above the form. 98x98px. SVG or PNG preferred."
|
|
},
|
|
"scene1_title_icon": {
|
|
"type": "string",
|
|
"description": "Small icon that shows up before the title / text. 16x16px. SVG or PNG preferred. Grayscale."
|
|
},
|
|
"scene1_title_icon_dark_theme": {
|
|
"type": "string",
|
|
"description": "Small icon that shows up before the title / text. Dark theme variant. 16x16px. SVG or PNG preferred. Grayscale."
|
|
},
|
|
"scene2_button_label": {
|
|
"type": "string",
|
|
"description": "Label for form submit button",
|
|
"default": "Send"
|
|
},
|
|
"scene2_input_placeholder": {
|
|
"type": "string",
|
|
"description": "(send to device) Value to show while input is empty.",
|
|
"default": "Your email here"
|
|
},
|
|
"scene2_disclaimer_html": {
|
|
"type": "string",
|
|
"description": "(send to device) Html for disclaimer and link underneath input box."
|
|
},
|
|
"scene2_dismiss_button_text": {
|
|
"type": "string",
|
|
"description": "Label for the dismiss button when the sign-up form is expanded.",
|
|
"default": "Dismiss"
|
|
},
|
|
"hidden_inputs": {
|
|
"type": "object",
|
|
"description": "Each entry represents a hidden input, key is used as value for the name property.",
|
|
"properties": {
|
|
"action": {
|
|
"type": "string",
|
|
"enum": ["email"]
|
|
},
|
|
"context": {
|
|
"type": "string",
|
|
"enum": ["fx_desktop_v3"]
|
|
},
|
|
"entrypoint": {
|
|
"type": "string",
|
|
"enum": ["snippets"]
|
|
},
|
|
"utm_content": {
|
|
"type": "string",
|
|
"description": "Firefox version number"
|
|
},
|
|
"utm_source": {
|
|
"type": "string",
|
|
"enum": ["snippet"]
|
|
},
|
|
"utm_campaign": {
|
|
"type": "string",
|
|
"description": "(fxa) Value to pass through to GA as utm_campaign."
|
|
},
|
|
"utm_term": {
|
|
"type": "string",
|
|
"description": "(fxa) Value to pass through to GA as utm_term."
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"scene1_button_label": {
|
|
"allOf": [
|
|
{ "$ref": "#/definitions/plainText" },
|
|
{
|
|
"description": "Text for a button next to main snippet text that links to button_url. Requires button_url."
|
|
}
|
|
],
|
|
"default": "Learn more"
|
|
},
|
|
"scene1_button_color": {
|
|
"type": "string",
|
|
"description": "The text color of the button. Valid CSS color."
|
|
},
|
|
"scene1_button_background_color": {
|
|
"type": "string",
|
|
"description": "The background color of the button. Valid CSS color."
|
|
},
|
|
"retry_button_label": {
|
|
"allOf": [
|
|
{ "$ref": "#/definitions/plainText" },
|
|
{
|
|
"description": "Text for the button in the event of a submission error/failure."
|
|
}
|
|
],
|
|
"default": "Try again"
|
|
},
|
|
"do_not_autoblock": {
|
|
"type": "boolean",
|
|
"description": "Used to prevent blocking the snippet after the CTA (link or button) has been clicked",
|
|
"default": false
|
|
},
|
|
"success_title": {
|
|
"type": "string",
|
|
"description": "(send to device) Title shown before text on successful registration."
|
|
},
|
|
"success_text": {
|
|
"type": "string",
|
|
"description": "Message shown on successful registration."
|
|
},
|
|
"error_text": {
|
|
"type": "string",
|
|
"description": "Message shown if registration failed."
|
|
},
|
|
"include_sms": {
|
|
"type": "boolean",
|
|
"description": "(send to device) Allow users to send an SMS message with the form?",
|
|
"default": false
|
|
},
|
|
"message_id_sms": {
|
|
"type": "string",
|
|
"description": "(send to device) Newsletter/basket id representing the SMS message to be sent."
|
|
},
|
|
"message_id_email": {
|
|
"type": "string",
|
|
"description": "(send to device) Newsletter/basket id representing the email message to be sent. Must be a value from the 'Slug' column here: https://basket.mozilla.org/news/."
|
|
},
|
|
"utm_campaign": {
|
|
"type": "string",
|
|
"description": "(fxa) Value to pass through to GA as utm_campaign."
|
|
},
|
|
"utm_term": {
|
|
"type": "string",
|
|
"description": "(fxa) Value to pass through to GA as utm_term."
|
|
},
|
|
"links": {
|
|
"additionalProperties": {
|
|
"url": {
|
|
"allOf": [
|
|
{ "$ref": "#/definitions/link_url" },
|
|
{ "description": "The url where the link points to." }
|
|
]
|
|
},
|
|
"metric": {
|
|
"type": "string",
|
|
"description": "Custom event name sent with telemetry event."
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"required": ["scene1_text", "scene2_text", "scene1_button_label"],
|
|
"dependencies": {
|
|
"scene1_button_color": ["scene1_button_label"],
|
|
"scene1_button_background_color": ["scene1_button_label"]
|
|
}
|
|
}
|