Skip to content

Commit

Permalink
Adobe Journey Optimizer documentation restructure
Browse files Browse the repository at this point in the history
  • Loading branch information
Pravin Prakash Kumar authored and Pravin Prakash Kumar committed Oct 9, 2023
1 parent b20adc6 commit 728a36a
Show file tree
Hide file tree
Showing 39 changed files with 1,726 additions and 633 deletions.
104 changes: 85 additions & 19 deletions gatsby-config.js
Original file line number Diff line number Diff line change
Expand Up @@ -548,42 +548,108 @@ module.exports = {
path: "/documentation/adobe-journey-optimizer"
},
{
title: "API reference",
title: "Common API",
path: "documentation/adobe-journey-optimizer/api-reference"
},
{
title: "Release notes",
path: "documentation/adobe-journey-optimizer/release-notes"
},
{
title: "Public classes and enums",
path: "documentation/adobe-journey-optimizer/public-classes"
title: "Push Notification",
path: "documentation/adobe-journey-optimizer/push-notification",
pages: [
{
title: "iOS",
path: "/documentation/adobe-journey-optimizer/push-notification/ios/api-usage",
pages: [
{
title: "API Usage",
path: "/documentation/adobe-journey-optimizer/push-notification/ios/api-usage"
},
{
title: "Display Rich Notifications",
path: "/documentation/adobe-journey-optimizer/push-notification/ios/display-rich-notifications"
}
]
},
{
title: "Android",
path: "/documentation/adobe-journey-optimizer/push-notification/android/automatic-display-and-tracking",
pages: [
{
title: "Automatic display and tracking",
path: "/documentation/adobe-journey-optimizer/push-notification/android/automatic-display-and-tracking"
},
{
title: "Manual display and tracking",
path: "/documentation/adobe-journey-optimizer/push-notification/android/manual-display-and-tracking"
}
]
},
{
title: "Payload Keys",
path: "/documentation/adobe-journey-optimizer/push-notification/push-payload"
}
]
},
{
title: "Tutorials",
path: "documentation/adobe-journey-optimizer/tutorials",
title: "In-App Messaging",
path: "documentation/adobe-journey-optimizer/in-app-message",
pages: [
{
title: "Implement a MessagingDelegate",
path: "/documentation/adobe-journey-optimizer/tutorials/messaging-delegate"
title: "API Usage",
path: "/documentation/adobe-journey-optimizer/in-app-message/api-usage"
},
{
title: "Call native code from the JavaScript of an in-app message",
path: "/documentation/adobe-journey-optimizer/tutorials/native-from-javascript"
title: "Tutorials",
path: "/documentation/adobe-journey-optimizer/in-app-message/tutorials/messaging-delegate",
pages: [
{
title: "Progrmmatically control the display of in-app messages",
path: "/documentation/adobe-journey-optimizer/in-app-message/tutorials/messaging-delegate"
},
{
title: "Call native code from the JavaScript of an in-app message",
path: "/documentation/adobe-journey-optimizer/in-app-message/tutorials/native-from-javascript"
},
{
title: "Execute Javascript methods from native code",
path: "/documentation/adobe-journey-optimizer/in-app-message/tutorials/javascript-from-native"
},
{
title: "Handle URL clicks from an in-app message",
path: "/documentation/adobe-journey-optimizer/in-app-message/tutorials/handle-clicks"
}
]
},
{
title: "Execute Javascript methods from native code",
path: "/documentation/adobe-journey-optimizer/tutorials/javascript-from-native"
title: "Validate using Assurance",
path: "/documentation/adobe-journey-optimizer/in-app-message/validate-messages"
}
]
},
{
title: "Public classes and enums",
path: "documentation/adobe-journey-optimizer/public-classes-and-enum",
pages: [
{
title: "MessagingPushPayload",
path: "/documentation/adobe-journey-optimizer/public-classes-and-enum/messaging-push-payload"
},
{
title: "Handle URL clicks from an in-app message",
path: "/documentation/adobe-journey-optimizer/tutorials/handle-clicks"
title: "PushTrackingStatus",
path: "/documentation/adobe-journey-optimizer/public-classes-and-enum/push-tracking-status"
},
{
title: "Validate in-app messaging using Assurance",
path: "/documentation/adobe-journey-optimizer/tutorials/validate-messages"
title: "Message",
path: "/documentation/adobe-journey-optimizer/public-classes-and-enum/message"
},
{
title: "MessagingEdgeEventType",
path: "/documentation/adobe-journey-optimizer/public-classes-and-enum/messaging-edge-event-type"
}
]
},
{
title: "Release notes",
path: "documentation/adobe-journey-optimizer/release-notes"
}
]
},
Expand Down
98 changes: 0 additions & 98 deletions src/pages/documentation/adobe-journey-optimizer/api-reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,20 +25,6 @@ iOS

<Tabs query="platform=ios&api=extension-version"/>

## handleNotificationResponse

The handleNotificationResponse function transmits the push notification interaction feedback.

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

Android

<Tabs query="platform=android&api=handle-notification-response"/>

iOS

<Tabs query="platform=ios&api=handle-notification-response"/>

## registerExtension

<InlineAlert variant="warning" slots="text"/>
Expand All @@ -50,87 +36,3 @@ Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../mobile
Android

<Tabs query="platform=android&api=register-extension"/>

## refreshInAppMessages

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

By default, the SDK will automatically fetch in-app message definitions from the remote at the time the Messaging extension is registered. This generally happens once per app lifecycle.

Some use cases may require the client to request an update from the remote more frequently. Calling the following API will force the Messaging extension to get an updated definition of messages from the remote:

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

Android

<Tabs query="platform=android&api=refresh"/>

iOS

<Tabs query="platform=ios&api=refresh"/>

## setPushIdentifier

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

Although this API is provided in Mobile Core, the use of this API is required and leveraged by the Adobe Journey Optimizer extension to sync provided push tokens with Adobe Experience Platform services.

The setPushIdentifier API sets the push token, allowing you to sync it with Profile in Adobe Experience Platform.

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

Android

<Tabs query="platform=android&api=set-push-identifier"/>

iOS

<Tabs query="platform=ios&api=set-push-identifier"/>

## addPushTrackingDetails

The addPushTrackingDetails API is used to update a pending intent with important information, such as messageId and Customer Journey information.

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

Calling this API is mandatory, so the pending intent can be used while tracking push notification interactions.

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

Android

<Tabs query="platform=android&api=add-push-tracking-details"/>

## Public classes

### MessagingPushPayload

`MessagePushPayload` is a helper class for extracting the data payload attributes from `RemoteMessage`, which are used while creating the push notification.

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

Android

<Tabs query="platform=android&api=messaging-push-payload"/>

### Public APIs

Public APIs are used to get attributes from the push payload, which are used while creating the push notification.

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

Android

<Tabs query="platform=android&api=public-apis"/>

### Payload keys

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

Android

<Tabs query="platform=android&api=payload-keys"/>

iOS

<Tabs query="platform=ios&api=payload-keys"/>
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
---
title: In-App Message - API Reference
description: This document lists the public APIs available in the Messaging extension for implementing in-app messaging.
keywords:
- Adobe Journey Optimizer
- API reference
- Messaging
- In-App Message
---

# In-App Message - API Reference

This document lists the public APIs available in the Messaging extension for implementing in-app messaging.

## refreshInAppMessages

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

By default, the SDK will automatically fetch in-app message definitions from the remote at the time the Messaging extension is registered. This generally happens once per app lifecycle.

Some use cases may require the client to request an update from the remote more frequently. Calling the following API will force the Messaging extension to get an updated definition of messages from the remote:

<CodeBlock slots="heading, code" repeat="4" languages="Kotlin, Java, Swift, ObjC" />

#### Android

```kotlin
Messaging.refreshInAppMessages()
```

#### Android

```java
Messaging.refreshInAppMessages();
```

#### iOS

```swift
Messaging.refreshInAppMessages()
```

#### iOS

```objc
[AEPMobileMessaging refreshInAppMessages];
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
title: In-app messaging
description: This document guides you to integrating in-app messaging in your application.
keywords:
- Adobe Journey Optimizer
- Guide
- Messaging
- Tutorial
---

# In-App Messaging

This document guides you to integrating in-app messaging in your application.

## API reference
* [In-App Messaging APIs](./api-usage.md)

## Tutorials

* [Programmatically control the display of in-app messages](./messaging-delegate.md)
* [Call native code from the JavaScript of an in-app message](./native-from-javascript.md)
* [Execute JavaScript code in an in-app message from native code](./javascript-from-native.md)
* [Handle URL clicks from an in-app message](./handle-clicks.md)

## Public Classes and Enums
* [Class - Message](../public-classes-and-enum/message.md)
* [Enum - MessagingEdgeEventType](../public-classes-and-enum/messaging-edge-event-type.md)

## Validation

* [Validate in-app messaging using Assurance](./validate-messages.md)
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,6 @@ The test apps in this repository demonstrate using a `MessagingDelegate`:

#### Further reading

* [More information on how to use the Message object](../public-classes.md)
* [More information on how to use the Message object](../../public-classes-and-enum/message.md)
* [Call native code from the JavaScript of an in-app message](./native-from-javascript.md)
* [Execute JavaScript code in an in-app message from native code](./javascript-from-native.md)
31 changes: 3 additions & 28 deletions src/pages/documentation/adobe-journey-optimizer/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,20 +87,6 @@ iOS

<Tabs query="platform=ios&task=register"/>

#### Sync the user push token with Adobe

If your app will be using AJO powered push notifications, you will need to sync the push token with Adobe Experience Platform by using the `MobileCore.setPushIdentifier` API.

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

Android

<Tabs query="platform=android&task=sync"/>

iOS

<Tabs query="platform=ios&task=sync"/>

## Configuration keys

You can update the SDK configuration, including the Messaging configuration values, programmatically by using the following information.
Expand All @@ -110,18 +96,7 @@ You can update the SDK configuration, including the Messaging configuration valu
| messaging.eventDataset | Yes | Experience Event Dataset ID which can be found from Experience Platform | String | Android/iOS |
| messaging.useSandbox | No | A variable that lets the `apnsSandbox` environment be used for receiving push notifications. More details can be found in the [messaging documentation](https://github.com/adobe/aepsdk-messaging-ios/blob/main/Documentation/sources/getting-started.md#using-an-apns-sandbox-push-environment) | Boolean | iOS |

## Guides and How-tos

* [Track Push Interactions](api-reference.md#addpushtrackingdetails)
* [Programmatically control the display of in-app messages](./tutorials/messaging-delegate.md)
* [Call native code from the JavaScript of an in-app message](./tutorials/native-from-javascript.md)
* [Execute JavaScript code in an in-app message from native code](./tutorials/javascript-from-native.md)
* [Handle URL clicks from an in-app message](./tutorials/handle-clicks.md)

### Other public classes, methods, and enums

* [Public classes and enums](./public-classes.md)

### Troubleshooting
## Next Steps

* [Validate in-app messaging using AEPAssurance SDK extension and the Assurance UI](./tutorials/validate-messages.md)
* [Push notification implementation guide](./push-notification/index.md)
* [In-App message implementation guide](./in-app-message/index.md)
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
title: Public Classes and Enums
description: This documents lists all details about the public classes and enums available in Messaging extension.
keywords:
- Adobe Journey Optimizer
- Messaging
- Push Notification
- Public Classes
- Enum
- Enumeration
- In-App Message
---

# Public Classes and Enums

This documents lists all details about the public classes and enums available in Messaging extension.

## Push Notification

* [Class - MessagingPushPayload](./messaging-push-payload.md)
* [Enum - PushTrackingStatus](./push-tracking-status.md)

## In-App Message

* [Class - Message](./message.md)
* [Enum - MessagingEdgeEventType](./messaging-edge-event-type.md)
Loading

0 comments on commit 728a36a

Please sign in to comment.