Skip to content

Commit

Permalink
Refactor AJO
Browse files Browse the repository at this point in the history
  • Loading branch information
Pravin Prakash Kumar authored and Pravin Prakash Kumar committed Oct 24, 2023
1 parent 3f5caab commit d5322c2
Show file tree
Hide file tree
Showing 38 changed files with 2,975 additions and 526 deletions.
103 changes: 85 additions & 18 deletions gatsby-config.js
Original file line number Diff line number Diff line change
Expand Up @@ -143,37 +143,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",
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

<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

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

<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 @@
---
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

0 comments on commit d5322c2

Please sign in to comment.