Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add phase 2 push template documentation, add push template image recommendations #621

Merged
merged 18 commits into from
Jun 24, 2024
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions gatsby-config.js
Original file line number Diff line number Diff line change
Expand Up @@ -962,9 +962,29 @@ module.exports = {
title: "Carousel",
path: "/resources/reference/push-notifications/templates/carousel"
},
{
title: "Input Box",
path: "/resources/reference/push-notifications/templates/input_box"
},
{
title: "Multi Icon",
path: "/resources/reference/push-notifications/templates/multi_icon"
},
{
title: "Product Catalog",
path: "/resources/reference/push-notifications/templates/catalog"
},
{
title: "Rating",
path: "/resources/reference/push-notifications/templates/rating"
},
{
title: "Timer",
path: "/resources/reference/push-notifications/templates/timer"
},
{
title: "Zero Bezel",
path: "/resources/reference/push-notifications/templates/zero_bezel"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor nit - can we use dashes instead of _ when using "spaces" for file names? It's just easier for typing/replacing content.

Additionally, all the rest of our docs use - rather than _, so it'd be consistent with them as well.

}
]
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ This document outlines the steps required to configure your app to use default p

<InlineAlert variant="info" slots="text"/>

Default push template functionality is available for use with the **Adobe Campaign Classic** extension. <br /><br />Supported versions are **Android SDK version >= 2.1.0 && < 3.0.0** and **iOS SDK version 5.0.0+**.
Default push template functionality is available for use with the **Adobe Campaign Classic** extension. <br /><br />Supported version is **Android SDK version 3.1.0+**.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure how I caught this earlier, but this sounds a little odd phrased like this. I'd go with "This is supported by Android SDK version 3.1.0+.".


## Setup

Expand Down
27 changes: 26 additions & 1 deletion src/pages/resources/reference/push-notifications/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ keywords:

<InlineAlert variant="info" slots="text"/>

Default push template functionality is available for use with the **Adobe Campaign Classic** extension. <br /><br />Supported versions are **Android SDK version >= 2.1.0 && < 3.0.0** and **iOS SDK version 5.0.0+**.
Default push template functionality is available for use with the **Adobe Campaign Classic** extension. <br /><br />Supported versions are **Android SDK version 3.1.0+** and **iOS SDK version 5.0.0+**.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same comment as above - I'd rephrase it to "This is supported by Android SDK version 3.1.0+ and iOS SDK version 5.0.0+."


## Setup

Expand All @@ -22,3 +22,28 @@ Default push template functionality is available for use with the **Adobe Campai
## Templates

View the [list of supported templates](./templates/).

## Image specifications

The tables below contain guidelines for your push notification content. **These recommendations help your images display reliably across multiple devices.** These values are guidelines only - it is still recommended to test a notification prior to sending it.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't like the phrasing of "It is recommended that...".

I'd go with: "... guidelines only - you should still test a notification..."


**Android**

| **Android Image type in notification payload** | **ASPECT RATIOS** | **IMAGE SIZE RANGE** | **SUPPORTED FILE TYPES** | FILE SOURCE |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any reason for these header names to be in all caps? I'd just make them "Aspect ratios", "Image size range", "Supported file types", and "File source" respectively.

Additionally, it should be matching for formatting - if they're all bold, make them all bold - don't make it so it's like some are bolded and others aren't.

| :----------------------------------------------------------: | :---------------------------: | :------------------: | :----------------------: | ------------------------------------ |
| adb_image (used as the main image in basic, input box, remind later, timer, and zero bezel notifications) | 1:1, 3:2, 5:4, 4:3, 2:1, 16:9 | < 1 MB | PNG, JPG, WebP | Remote URI |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of having descriptions of the fields here, I'd make another table that describes it below, or a list that describes it below.

| adb_small_icon | 1:1 | < 1 MB | PNG, JPG, WebP | Bundled Drawable Asset |
| adb_large_icon | 1:1 | < 1 MB | PNG, JPG, WebP | Remote URI or Bundled Drawable Asset |
| multi icon images | 1:1 | < 1 MB | PNG, JPG, WebP | Remote URI or Bundled Drawable Asset |
| rating icon images | 1:1 | < 1 MB | PNG, JPG, WebP | Remote URI or Bundled Drawable Asset |
| carousel images | 1:1, 3:2, 5:4, 4:3, 2:1, 16:9 | < 1 MB | PNG, JPG, WebP | Remote URI |
| filmstrip carousel images | 1:1, 3:2, 5:4, 4:3 | < 1 MB | PNG, JPG, WebP | Remote URI |
| horizontal product catalog images | 2:1, 16:9 | < 1 MB | PNG, JPG, WebP | Remote URI |
| vertical product catalog images | 1:1, 3:2, 5:4, 4:3 | < 1 MB | PNG, JPG, WebP | Remote URI |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a reason that the prior ones are words_written_like_this while these are all lowercase words separated by spaces?

Copy link
Contributor Author

@rymorale rymorale Jun 7, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the ones with underscores (for example adb_image) is how the key appears in the push payload delivered. the ones without underscores are a description of a key in the push payload. The entry "multi icon images" appears in the push payload as \"img\":\"walk\" which isn't too descriptive as the same key value pair is used for filmstrip carousel images as well.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, then should be just make it "Multi-icon images" (etc) instead so we look better grammatically speaking?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

makes sense, i'll update this section


**iOS**

| **iOS Image type in notification payload** | **ASPECT RATIOS** | **IMAGE SIZE RANGE** | **SUPPORTED FILE TYPES** | FILE SOURCE |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same comment about the table header here.

| :-----------------------------------------------: | :---------------: | :------------------: | :----------------------: | ----------- |
| adb_media (used in basic and timer notifications) | 2:1 | 50 KB to 1 MB | PNG, JPG, WebP | Remote URI |
| carousel images | 2:1 | 50 KB to 1 MB | PNG, JPG, WebP | Remote URI |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import Tabs from './tabs/carousel.md'

# Push template - carousel

A notification that shows a series of three to five images that scroll on/off the sides of the notification. <br />If operating in `automatic` mode, images will rotate every five (5) seconds. If operating in manual mode, the user is required to push a button to advance forwards or backwards through the carousel.
A notification that shows a series of three to five images that scroll on/off the sides of the notification. <br />If operating in automatic mode, images will rotate every five (5) seconds. If operating in manual mode, the user is required to push a button to advance forwards or backwards through the carousel.

Templates below show all available properties in their respective payloads for FCM (Android) and APNS (iOS).
<br />
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
title: Adobe Experience Platform SDK basic push template
description: Basic push template supported by Adobe Campaign Classic mobile extension.
keywords:
- Adobe Campaign Classic
- Push
- Push Template
- Product Catalog
---

import Tabs from './tabs/catalog.md'

# Push template - product catalog

A notification containing a central image which can show one of three products.<br />
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't need all these <br/> tags here. When there are two newlines, it'll automatically create a newline between the sentences.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@calebk1 using a <br /> tag allows us to make a line break while continuing to add to the "section". in this case, the first "sentence" under the page title is formatted as a "sub-heading". two newlines breaks that section, whereas using a <br /> does not.

in the end it's a style consideration i suppose. i don't really care which way we choose, as long as we are consistent.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, I see. If we're making this just one header thing, I'd just prefer it to be on one line, since I don't think making these as separate lines necessarily adds very much?


The user can select a product thumbnail to highlight it in the main image, causing the title, body, image, and product price to update in the notification.<br />

A call-to-action is provided to specify an action to take when the user interacts with a product.<br />

The table below shows all available properties in the respective payload for FCM (Android).

<br />

<TabsBlock orientation="horizontal" slots="heading, content" repeat="1"/>

FCM

<Tabs query="platform=fcm&template=catalog"/>
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,15 @@ This document outlines the push templates that are supported by default.

<InlineAlert variant="info" slots="text"/>

Default push template functionality is available for use with the **Adobe Campaign Classic** extension. <br /><br />Supported versions are **Android SDK version >= 2.1.0 && < 3.0.0** and **iOS SDK version 5.0.0+**.
Default push template functionality is available for use with the **Adobe Campaign Classic** extension. <br /><br />Supported versions are **Android SDK version 3.1.0+** and **iOS SDK version 5.0.0+**.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same comment as above - I'd rephrase it to "This is supported by Android SDK version 3.1.0+ and iOS SDK version 5.0.0+."


| Template Name | Compatibility | Description | Sample |
| :------------ | :------------ | :---------- | :----- |
| [Basic](./basic) | **Android**<br />**> Product**<br /> *Adobe Campaign Classic*<br /> **> SDK Extension**<br /> *CampaignClassic >= 2.1.0 && < 3.0.0* <br /><br />**iOS**<br /> **> Product**<br />*Adobe Campaign Classic*<br /> **> SDK Extension**<br /> *AEPNotificationContent 5.0.0+* | A basic push notification template. <br />Allows setting a title, message body, and optional image, action buttons, and click-through URL. <br /><br />For **Android only**, it also supports a "remind me later" functionality which will schedule the notification to be re-delivered at a later time. | ![gif of sample basic notification](./../templates/assets/basic.gif) |
| [Carousel](./carousel) | **Android**<br />**> Product**<br /> *Adobe Campaign Classic*<br /> **> SDK Extension**<br /> *CampaignClassic >= 2.1.0 && < 3.0.0* <br /><br />**iOS**<br /> **> Product**<br />*Adobe Campaign Classic*<br /> **> SDK Extension**<br /> *AEPNotificationContent 5.0.0+* | Shows a series of three (3) to five (5) images that scroll on and off the side of the notification. <br /><br />Available in `manual` mode (user must click a button to scroll carousel items) and `auto` mode (carousel items scroll every five seconds). | ![gif of sample carousel notification](./../templates/assets/carousel.gif) |
| [Timer](./timerl) | **Android** - coming soon<br /><br />**iOS**<br /> **> Product**<br />*Adobe Campaign Classic*<br /> **> SDK Extension**<br /> *AEPNotificationContent 5.0.0+* | Notification containing title, body, and image. Configure a countdown timer which upon expiry can cause a new title, body, and image to be shown. | ![gif of sample timer notification](./../templates/assets/timer.gif) |
| [Basic](./basic) | **Android**<br />**> Product**<br /> *Adobe Campaign Classic*<br /> **> SDK Extension**<br /> *CampaignClassic 3.1.0+* <br /><br />**iOS**<br /> **> Product**<br />*Adobe Campaign Classic*<br /> **> SDK Extension**<br /> *AEPNotificationContent 5.0.0+* | A basic push notification template. <br />Allows setting a title, message body, and optional image, action buttons, and click-through URL. <br /><br />For **Android only**, it also supports a "remind me later" functionality which will schedule the notification to be re-delivered at a later time. | ![gif of sample android basic notification](./../templates/assets/android_basic.gif)<br />![gif of sample basic notification](./../templates/assets/basic.gif) |
calebk1 marked this conversation as resolved.
Show resolved Hide resolved
| [Carousel](./carousel) | **Android**<br />**> Product**<br /> *Adobe Campaign Classic*<br /> **> SDK Extension**<br /> *CampaignClassic 3.1.0+* <br /><br />**iOS**<br /> **> Product**<br />*Adobe Campaign Classic*<br /> **> SDK Extension**<br /> *AEPNotificationContent 5.0.0+* | Shows a series of three (3) to five (5) images that scroll on and off the side of the notification. <br /><br />Available in `manual` mode (user must click a button to scroll carousel items) and `auto` mode (carousel items scroll every five seconds). | ![gif of sample android manual carousel notification](./../templates/assets/android_manual_carousel.gif)<br />![gif of sample carousel notification](./../templates/assets/carousel.gif) |
| [Timer](./timerl) | **Android**<br />**> Product**<br /> *Adobe Campaign Classic*<br /> **> SDK Extension**<br /> *CampaignClassic 3.1.0+* <br />**iOS**<br /> **> Product**<br />*Adobe Campaign Classic*<br /> **> SDK Extension**<br /> *AEPNotificationContent 5.0.0+* | Notification containing title, body, and image. Configure a countdown timer which upon expiry can cause a new title, body, and image to be shown. | ![gif of sample android timer notification](./../templates/assets/android_timer.gif)<br />![gif of sample timer notification](./../templates/assets/timer.gif) |
| [Input Box](./input_box) | **Android**<br />**> Product**<br /> *Adobe Campaign Classic*<br /> **> SDK Extension**<br /> *CampaignClassic 3.1.0+* <br /> | Notification containing title, body, and image. The notification contains a user input field which can receive user text input to be sent to the app via intent. After input is received the notification can be updated with a feedback image and/or feedback message. | ![gif of sample input box notification](./../templates/assets/input_box.gif) |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor nit - but a double space between "... and image." and "The notification contains..."

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"After the input is received, the notification..."

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"The notification contains a user input field which can receive a user text input that is sent back to the app via intent."

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will get these cleaned up

| [Zero Bezel](./zero_bezel) | **Android**<br />**> Product**<br /> *Adobe Campaign Classic*<br /> **> SDK Extension**<br /> *CampaignClassic 3.1.0+* <br /> | Notification containing title, body, and an edge to edge background image which fills the notification area. | ![gif of sample zero bezel notification](./../templates/assets/zero_bezel.gif) |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"... and an edge-to-edge background image..."

| [Product Catalog](./catalog) | **Android**<br />**> Product**<br /> *Adobe Campaign Classic*<br /> **> SDK Extension**<br /> *CampaignClassic 3.1.0+* <br /> | Notification containing a main product image which can be changed by pressing one of the three product thumbnails present on the notification. The notification also contains a CTA button to redirect the app user to a specified uri. <br />Product catalog notifications have two layout styles: vertical and horizontal. The vertical layout should be used with 4:3 aspect ratio images and the horizontal layout should be used with wide screen aspect ratio images. | ![gif of sample product catalog notification](./../templates/assets/vertical_catalog.gif) |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"... contains a call-to-action (CTA) button to..."

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"The vertical layout should be used with fullscreen (4:3) aspect ratio images and the horizontal layout should be used with widescreen (16:9) aspect ratio images."

| [Rating](./rating) | **Android**<br />**> Product**<br /> *Adobe Campaign Classic*<br /> **> SDK Extension**<br /> *CampaignClassic 3.1.0+* <br /> | Notification containing title, body, and image. The notification contains three to five customizable rating icons which can be pressed to provide a rating to the app via an intent. | ![gif of sample rating notification](./../templates/assets/rating.gif) |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

for this template it might be good to also specify the cta for each rating can be different

| [Multi icon](./multi_icon) | **Android**<br />**> Product**<br /> *Adobe Campaign Classic*<br /> **> SDK Extension**<br /> *CampaignClassic 3.1.0+* <br /> | Notification containing three to five icons. Each icon can be pressed to be redirected to a specified uri. The notification is persistent and will remain in the notification tray when it is interacted with. | ![gif of sample multi-icon notification](./../templates/assets/multi_icon.gif) |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"... a specified URI."

Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
title: Adobe Experience Platform SDK basic push template
description: Basic push template supported by Adobe Campaign Classic mobile extension.
keywords:
- Adobe Campaign Classic
- Push
- Push Template
- Input Box
---

import Tabs from './tabs/input_box.md'

# Push template - input box

A notification including a title, message body, optional image, and a user input text field<br />After receiving text input, an intent containing the input is dispatched to the app and a feedback received notification can be displayed if a feedback message or image is provided in the push payload.<br />
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing a period at the end of the sentence. "... a user input text field."


The table below shows all available properties in the respective payload for FCM (Android).

<br />
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same comment here, we don't need all these <br/> tags.


<TabsBlock orientation="horizontal" slots="heading, content" repeat="1"/>

FCM

<Tabs query="platform=fcm&template=input_box"/>
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
title: Adobe Experience Platform SDK timer push template
description: Timer push template supported by Adobe Campaign Classic mobile extension.
keywords:
- Adobe Campaign Classic
- Push
- Push Template
- Multi Icon
---

import Tabs from './tabs/multi_icon.md'

# Push template - multi icon

Notification that displays three to five (3-5) image buttons with no text. Each button contains a URI to follow if the user interacts with it.<br />

The table below shows all available properties in the respective payload for FCM (Android).
<br />
<TabsBlock orientation="horizontal" slots="heading, content" repeat="1"/>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same comment that we don't need the <br/> tags here.


FCM

<Tabs query="platform=fcm&template=multi_icon"/>
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
title: Adobe Experience Platform SDK timer push template
description: Timer push template supported by Adobe Campaign Classic mobile extension.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please update

keywords:
- Adobe Campaign Classic
- Push
- Push Template
- Rating
---

import Tabs from './tabs/rating.md'

# Push template - rating

A notification that allows displaying a title, text, and image, along with 3-5 image buttons that allow the user to provide "rating" feedback.<br />

After a rating is selected in the notification, an intent containing the rating is dispatched to the app.
Copy link
Contributor

@sbenedicadb sbenedicadb Jun 11, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we capitalize and monospace Intent, given it's a class name?

if yes, make sure we update other references as well.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes i think this is a good idea. i'll update here and throughout.


The table below shows all available properties in the respective payload for FCM (Android).
<br />
<TabsBlock orientation="horizontal" slots="heading, content" repeat="1"/>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same comment that we don't need the <br/> tags here.


FCM

<Tabs query="platform=fcm&template=rating"/>
Loading
Loading