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

Restructure AJO #437

Merged
merged 8 commits into from
Jan 19, 2024
Merged
Show file tree
Hide file tree
Changes from 4 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
103 changes: 85 additions & 18 deletions gatsby-config.js
Original file line number Diff line number Diff line change
Expand Up @@ -157,37 +157,104 @@ module.exports = {
path: "/edge/adobe-journey-optimizer/api-reference"
},
{
title: "Release notes",
path: "/edge/adobe-journey-optimizer/release-notes"
title: "Push Notification",
path: "/edge/adobe-journey-optimizer/push-notification",
pages: [
{
title: "iOS",
path: "/edge/adobe-journey-optimizer/push-notification/ios/api-reference",
pages: [
{
title: "API reference",
path: "/edge/adobe-journey-optimizer/push-notification/ios/api-reference"
},
{
title: "Display rich notifications",
path: "/edge/adobe-journey-optimizer/push-notification/ios/display-rich-notifications"
}
]
},
{
title: "Android",
path: "/edge/adobe-journey-optimizer/push-notification/android/automatic-display-and-tracking",
pages: [
{
title: "Automatic display and tracking",
path: "/edge/adobe-journey-optimizer/push-notification/android/automatic-display-and-tracking"
},
{
title: "Manual display and tracking",
path: "/edge/adobe-journey-optimizer/push-notification/android/manual-display-and-tracking"
}
]
},
{
title: "Payload keys",
path: "/edge/adobe-journey-optimizer/push-notification/push-payload"
}
]
},
{
title: "Public classes and enums",
path: "/edge/adobe-journey-optimizer/public-classes"
title: "In-App Messaging",
path: "/edge/adobe-journey-optimizer/in-app-message",
pages: [
{
title: "API reference",
path: "/edge/adobe-journey-optimizer/in-app-message/api-reference"
},
{
title: "Tutorials",
path: "/edge/adobe-journey-optimizer/in-app-message/tutorials/messaging-delegate",
pages: [
{
title: "Progrmmatically control the display of in-app messages",
path: "/edge/adobe-journey-optimizer/in-app-message/tutorials/messaging-delegate"
},
{
title: "Call native code from the JavaScript of an in-app message",
path: "/edge/adobe-journey-optimizer/in-app-message/tutorials/native-from-javascript"
},
{
title: "Execute Javascript methods from native code",
path: "/edge/adobe-journey-optimizer/in-app-message/tutorials/javascript-from-native"
},
{
title: "Handle URL clicks from an in-app message",
path: "/edge/adobe-journey-optimizer/in-app-message/tutorials/handle-clicks"
}
]
},
{
title: "Validate using Assurance",
path: "/edge/adobe-journey-optimizer/in-app-message/validate-messages"
}
]
},
{
title: "Tutorials",
path: "/edge/adobe-journey-optimizer/tutorials",
pages: [{
title: "Implement a MessagingDelegate",
path: "/edge/adobe-journey-optimizer/tutorials/messaging-delegate"
},
title: "Public classes and enums",
path: "/edge/adobe-journey-optimizer/public-classes-and-enum",
Copy link
Contributor

Choose a reason for hiding this comment

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

Minor - can we keep this as just "/public-classes" for the sake of not breaking links?

Not a huge deal if we do want to change the URLs, but it just means a few more redirects need to be created.

pages: [
{
title: "Call native code from the JavaScript of an in-app message",
path: "/edge/adobe-journey-optimizer/tutorials/native-from-javascript"
title: "MessagingPushPayload",
path: "/edge/adobe-journey-optimizer/public-classes-and-enum/messaging-push-payload"
},
{
title: "Execute Javascript methods from native code",
path: "/edge/adobe-journey-optimizer/tutorials/javascript-from-native"
title: "PushTrackingStatus",
path: "/edge/adobe-journey-optimizer/public-classes-and-enum/push-tracking-status"
},
{
title: "Handle URL clicks from an in-app message",
path: "/edge/adobe-journey-optimizer/tutorials/handle-clicks"
title: "Message",
path: "/edge/adobe-journey-optimizer/public-classes-and-enum/message"
},
{
title: "Validate in-app messaging using Assurance",
path: "/edge/adobe-journey-optimizer/tutorials/validate-messages"
title: "MessagingEdgeEventType",
path: "/edge/adobe-journey-optimizer/public-classes-and-enum/messaging-edge-event-type"
}
]
},
{
title: "Release notes",
path: "/edge/adobe-journey-optimizer/release-notes"
}
]
},
Expand Down
88 changes: 26 additions & 62 deletions src/pages/edge/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 @@ -51,41 +37,19 @@ Android

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

## refreshInAppMessages
Copy link
Contributor Author

Choose a reason for hiding this comment

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

altered to use instead of tab for refreshInAppMessages API


<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.
## handleNotificationResponse

The setPushIdentifier API sets the push token, allowing you to sync it with Profile in Adobe Experience Platform.
The handleNotificationResponse function transmits the push notification interaction feedback.

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

Android

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

iOS

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

## addPushTrackingDetails

Expand All @@ -95,42 +59,42 @@ The addPushTrackingDetails API is used to update a pending intent with important

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"/>
<TabsBlock orientation="horizontal" slots="heading, content" repeat="2"/>

Android

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

## Public classes
calebk1 marked this conversation as resolved.
Show resolved Hide resolved

### 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
iOS

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

### Public APIs
## refreshInAppMessages

Public APIs are used to get attributes from the push payload, which are used while creating the push notification.
Calling refreshInAppMessages API will force the Messaging extension to get an updated definition of messages from the remote.
PravinPK marked this conversation as resolved.
Show resolved Hide resolved

<TabsBlock orientation="horizontal" slots="heading, content" repeat="1"/>
<CodeBlock slots="heading, code" repeat="4" languages="Kotlin, Java, Swift, ObjC" />

Android
#### Android

<Tabs query="platform=android&api=public-apis"/>
```kotlin
Messaging.refreshInAppMessages()
```

### Payload keys
#### Android

<TabsBlock orientation="horizontal" slots="heading, content" repeat="2"/>
```java
Messaging.refreshInAppMessages();
```

Android
#### iOS

<Tabs query="platform=android&api=payload-keys"/>
```swift
Messaging.refreshInAppMessages()
```

iOS
#### iOS

<Tabs query="platform=ios&api=payload-keys"/>
```objc
[AEPMobileMessaging refreshInAppMessages];
```
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 Messaging - 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];
```
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.
33 changes: 33 additions & 0 deletions src/pages/edge/adobe-journey-optimizer/in-app-message/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Newly created page. should review

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-reference.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)
Loading