Skip to content

Commit

Permalink
Merge pull request #669 from calebk1/journey-optimizer
Browse files Browse the repository at this point in the history
Journey Optimizer cleanup
  • Loading branch information
calebk1 authored Nov 30, 2021
2 parents 0d9d490 + bdc5c98 commit e2f6ea7
Show file tree
Hide file tree
Showing 9 changed files with 167 additions and 129 deletions.
4 changes: 2 additions & 2 deletions foundation-extensions/mobile-core/rules-engine/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ The Rules Engine is provided by the Adobe Experience Platform Mobile SDKs as par

In the Experience Platform Mobile SDKs, the Rules Engine enables you to integrate the data and functionality of marketing and ad tech to help disparate products communicate. The Rules Engine looks for the user interaction and associated data, and when the criteria that you defined in the rules are met, the actions that you specified are triggered.

The Rules Engine, with [Experience Platform Launch](https://launch.adobe.com/)'s tag management system, allows for complex if/then/else workflows that can combine multiple solution and extension related behaviors. You can define and capture the necessary user data and orchestrate how each solution contributes to the user's experience.
The Rules Engine, with [Experience Platform Launch](https://experience.adobe.com/#/data-collection/)'s tag management system, allows for complex if/then/else workflows that can combine multiple solution and extension related behaviors. You can define and capture the necessary user data and orchestrate how each solution contributes to the user's experience.

### **Data elements**

Expand All @@ -14,7 +14,7 @@ A data element is a variable where the value can be mapped to a Visitor ID, a Ca

### **Rules**

You can define a set of rules in the [Experience Platform Launch](https://launch.adobe.com/) interface to find specific events or conditions and specify what actions should be triggered when those conditions are met.
You can define a set of rules in the [Experience Platform Launch](https://experience.adobe.com/#/data-collection/) interface to find specific events or conditions and specify what actions should be triggered when those conditions are met.

![](../../../.gitbook/assets/rule_example.png)

Expand Down
2 changes: 1 addition & 1 deletion getting-started/create-a-mobile-property.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Set up a mobile property

A property is a container that you fill with extensions, rules, data elements, and libraries. To use these resources, you need to create and configure a mobile property in [Adobe Experience Platform Launch](https://launch.adobe.com). You will typically create a mobile property for each mobile application you want to manage.
A property is a container that you fill with extensions, rules, data elements, and libraries. To use these resources, you need to create and configure a mobile property in [Adobe Experience Platform Launch](https://experience.adobe.com/#/data-collection/). You will typically create a mobile property for each mobile application you want to manage.

## Before you start

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ If you are unable to resolve your concerns through resources provided here, plea

As Tencent requires ICP on all the domains requested by WeChat Mini Programs, Adobe Analytics tracking servers have a wildcard ICP \(`*.adobedc.cn`\), which means that your tracking server \(typically of the format `yourcompany.adobedc.cn`\) has an ICP. You do not need to separately apply for an ICP for subdomain of `yourcompany.adobedc.cn`.

## Can I use [Adobe Experience Platform Launch](https://launch.adobe.com) to configure and deploy this SDK?
## Can I use [Adobe Experience Platform Launch](https://experience.adobe.com/#/data-collection/) to configure and deploy this SDK?

Deployment through Adobe Experience Platform Launch for this SDK is not yet supported.

Expand Down
2 changes: 1 addition & 1 deletion resources/frequently-asked-questions/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ There are several new features and benefits of using the Experience Platform Mob
| :--- | :--- | :--- |
| Server-side, dynamic configuration | ✔️ | |
| Programmatic configuration | ✔️ | ✔️ |
| Configuration UI | [Launch](https://launch.adobe.com) | [Mobile Services](https://mobilemarketing.adobe.com) |
| Configuration UI | [Launch](https://experience.adobe.com/#/data-collection/) | [Mobile Services](https://mobilemarketing.adobe.com) |
| Partner SDK extensions | ✔️ | |
| Lifecycle metrics | ✔️ | ✔️ |
| GET/POST postbacks | ✔️ | ✔️ |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Configuration

The AEP Analytics extension uses [Launch](https://launch.adobe.com/) to configure the AEP SDK's. This replaces the ADBMobileConfig.json which the Mobile Services SDK used for configuration. To get started with the AEP SDK's:
The AEP Analytics extension uses [Launch](https://experience.adobe.com/#/data-collection/) to configure the AEP SDK's. This replaces the ADBMobileConfig.json which the Mobile Services SDK used for configuration. To get started with the AEP SDK's:

1. Create a mobile property on Launch. See [Set up a mobile property](../../getting-started/create-a-mobile-property.md) for more information.
2. Configure your mobile app with the create mobile property. The AEP Mobile Core extension provides general functionality required by all the Adobe AEP extensions. The Configuration extension is built into the Mobile Core and contains the `configureWithAppId` API. This API is used to link the Launch mobile property with your mobile app. The documentation for this API can be seen at the [Configuration API Reference](../../foundation-extensions/mobile-core/configuration/configuration-api-reference.md#configurewithappid) page. A code sample showing the usage of this API is provided below.
Expand Down
2 changes: 1 addition & 1 deletion tutorials/end2end/launch-create-a-property.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ You should now see the `Properties` screen (if no properties have ever been crea

![Properties Screen](images/web-launch-propertiesScreen.png)

If you use Launch frequently, you can also bookmark the following URL and log in directly [https://launch.adobe.com](https://launch.adobe.com)
If you use Launch frequently, you can also bookmark the following URL and log in directly [https://experience.adobe.com/#/data-collection/](https://experience.adobe.com/#/data-collection/)

## Create a Property

Expand Down
75 changes: 40 additions & 35 deletions using-mobile-extensions/adobe-journey-optimizer/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,38 +2,38 @@

The [Adobe Journey Optimizer](https://business.adobe.com/products/journey-optimizer/adobe-journey-optimizer.html) extension for Adobe Experience Platform Mobile SDKs powers push notifications for your mobile apps. This extension helps you collects user push tokens and manages interaction measurement with Adobe Experience Platform services.

The following documentation details how to use the extension as well as the required configuration across Adobe Experience Platform services, app stores, and your apps to get started with push notifications for Adobe Journey Optimizer.
The following documentation details how to use the extension and required configurations to get started with push notifications for Adobe Journey Optimizer for Adobe Experience Platform services, app stores, and your apps.

## Before starting

1. Follow the steps in [this page](https://experienceleague.adobe.com/docs/journey-optimizer/using/get-started/configuration/push-config/push-gs.html?lang=en) to configure push channel in Adobe Journey Optimizer.
2. [Update your app's Datastream](./#update-datastream-with-profile-dataset) in [Adobe Experience Platform Data Collection](https://launch.adobe.com)
1. Read the tutorial on [getting started with push configuration](https://experienceleague.adobe.com/docs/journey-optimizer/using/get-started/configuration/push-config/push-gs.html?lang=en) to learn how to configure push channels in Adobe Journey Optimizer.
2. [Update your app's Datastream](#update-datastream-with-profile-dataset) in [Adobe Experience Platform Data Collection](https://experience.adobe.com/#/data-collection/)
3. Integrate with following extensions:
* [Mobile Core](../../foundation-extensions/mobile-core/)
* [Adobe Experience Platform Edge Network](../../foundation-extensions/experience-platform-extension/)
* [Identity for Edge Network](../../foundation-extensions/identity-for-edge-network/)

### Update Datastream with Profile Dataset
### Update Datastream with a Profile dataset

Navigate to a previously configured Datastream by following [Configure datastreams](../../getting-started/configure-datastreams.md) in [Adobe Experience Platform Data Collection](https://launch.adobe.com), then:
Navigate to a previously configured Datastream by following the instructions in the [configure datastreams tutorial](../../getting-started/configure-datastreams.md) in [Adobe Experience Platform Data Collection](https://experience.adobe.com/#/data-collection/).

Select the pre-created **CJM Push Profile Dataset** in **Profile Dataset** dropdown \(under _Adobe Experience Platform_ section\) and select **Save**.
Select the pre-created **CJM Push Profile Dataset** in **Profile Dataset** dropdown (under the **Adobe Experience Platform** section) and select **Save**.

![](../../.gitbook/assets/screen-shot-2021-05-12-at-9.19.31-am.png)

## Setup Adobe Journey Optimizer extension

### Configure extension in Launch
### Configure extension in the Data Collection UI

Navigate to [Experience Platform Data Collection](https://launch.adobe.com) - select mobile property and navigate to **Extensions** from the left navigation panel**:**
Go to the [Experience Platform Data Collection UI](https://experience.adobe.com/#/data-collection/), select mobile property and navigate to **Extensions** from the left navigation panel:

1. Navigate to the **Catalog** tab, locate the **Adobe Journey Optimizer** extension, and select **Install**
2. Select the pre-created **CJM Push Tracking Event Dataset** from the **Event Dataset** dropdown.
3. Click **Save**.
3. Select **Save**.
4. Follow the publishing process to update SDK configuration.

{% hint style="info" %}
The datasets selected should use a schema that uses the Push Notification Tracking XDM field group. The pre-created CJM Push Tracking Dataset contains this XDM field group in its schema definition. For more information, see [Set up schemas and datasets](../../getting-started/setup-schemas-and-datasets.md).
The datasets selected should use a schema that uses the "Push Notification Tracking" XDM field group. The pre-created CJM Push Tracking Dataset contains this XDM field group in its schema definition. For more information, please read the tutorial on [setting up schemas and datasets](../../getting-started/setup-schemas-and-datasets.md).
{% endhint %}

![](../../.gitbook/assets/aoj-launch-configuration.png)
Expand All @@ -48,7 +48,7 @@ Follow these steps to integrate the Adobe Journey Optimizer extension.
{% tab title="Android" %}
### Java

1. Add the Mobile Core, Edge, EdgeIdentity and Messaging extensions to your project using the app's Gradle file.
1. Add the Mobile Core, Edge, Edge Identity, and Messaging extensions to your project using the app's Gradle file.

```java
implementation 'com.adobe.marketing.mobile:core:1.+'
Expand All @@ -57,7 +57,7 @@ Follow these steps to integrate the Adobe Journey Optimizer extension.
implementation 'com.adobe.marketing.mobile:messaging:1.+'
```

2. Import the Mobile Core, Edge, EdgeIdentity and Messaging extensions in your application class.
2. Import the Mobile Core, Edge, Edge Identity, and Messaging extensions in your application class.

```java
import com.adobe.marketing.mobile.*;
Expand All @@ -66,7 +66,7 @@ Follow these steps to integrate the Adobe Journey Optimizer extension.
{% endtab %}

{% tab title="iOS" %}
1. Add the Mobile Core, Edge, EdgeIdentity and Messaging extensions to your project using Cocoapods. Add following pods in your `Podfile`:
1. Add the Mobile Core, Edge, Edge Identity, and Messaging extensions to your project using Cocoapods. Add the following pods to your `Podfile`:

```swift
use_frameworks!
Expand All @@ -78,7 +78,7 @@ Follow these steps to integrate the Adobe Journey Optimizer extension.
end
```

2. Import the Mobile Core, Edge, EdgeIdentity and Messaging libraries:
2. Import the Mobile Core, Edge, Edge Identity, and Messaging libraries:

### Swift

Expand All @@ -92,7 +92,7 @@ import AEPMessaging

### Objective-C

```text
```objc
// AppDelegate.h
@import AEPCore;
@import AEPEdge;
Expand All @@ -102,7 +102,7 @@ import AEPMessaging
{% endtab %}
{% endtabs %}

#### Register extension with Mobile Core
#### Register the extension with Mobile Core

{% tabs %}
{% tab title="Android" %}
Expand Down Expand Up @@ -147,7 +147,7 @@ func application(_ application: UIApplication, didFinishLaunchingWithOptions lau

### Objective-C

```text
```objc
// AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[AEPMobileCore registerExtensions:@[AEPMobileEdgeIdentity.class, AEPMobileEdge.class, AEPMobileMessaging.class] completion:^{
Expand All @@ -159,13 +159,13 @@ func application(_ application: UIApplication, didFinishLaunchingWithOptions lau
{% endtab %}
{% endtabs %}

#### Synch user push token with Adobe
#### Sync the user push token with Adobe

Use the setPushIdentifier API to sync user push token from the device with Adobe Experience Platform services.
After importing and registering the extensions with your application, you need to sync the push token with Adobe Experience Platform, by using the setPushIdentifier API.

{% tabs %}
{% tab title="Android" %}
To retrieve the push token from Firebase Messaging Service follow this [Firebase documentation](https://firebase.google.com/docs/cloud-messaging/android/client#retrieve-the-current-registration-token). After retrieving the push token use the below core API to sync it with profile in platform.
To retrieve the push token from Firebase Messaging Service, please read the tutorial on [retrieving the registration token](https://firebase.google.com/docs/cloud-messaging/android/client#retrieve-the-current-registration-token) within the Firebase documentation. After retrieving the push token, you can use the following API to sync it with Profile in Platform.

### Java

Expand All @@ -175,9 +175,11 @@ To retrieve the push token from Firebase Messaging Service follow this [Firebase
public static void setPushIdentifier(final String pushIdentifier);
```

* _pushIdentifier_ - A `String` value denoting the push token.
| **Variable** | **Type** | **Description** |
| :----------- | :------- | :-------------- |
| `pushIdentifier` | String | The push token value. |

#### Examples
#### Example

```java
FirebaseMessaging.getInstance().getToken()
Expand All @@ -196,18 +198,19 @@ FirebaseMessaging.getInstance().getToken()
{% tab title="iOS" %}
### Swift

To retrieve the push token in iOS, checkout the apple documentation [Apple's documentation](https://developer.apple.com/documentation/usernotifications/registering_your_app_with_apns).
After retrieving the push token use the below core API to sync it with profile in platform.
To retrieve the push token in iOS, please read the tutorial on [registering your application](https://developer.apple.com/documentation/usernotifications/registering_your_app_with_apns) within Apple's documentation. After retrieving the push token, you can use the following API to sync it with Profile in Platform.

#### Syntax

```swift
public static func setPushIdentifier(_ deviceToken: Data?)
```

* _deviceToken_ - A `Data` value denoting the push token.
| **Variable** | **Type** | **Description** |
| :----------- | :------- | :-------------- |
| `deviceToken` | Data | The push token value. |

#### Examples
#### Example

```swift
func application(_: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
Expand All @@ -219,32 +222,34 @@ func application(_: UIApplication, didRegisterForRemoteNotificationsWithDeviceTo

#### Syntax

```text
```objc
public static func setPushIdentifier(_ deviceToken: Data?)
```
* _deviceToken_ - A `Data` value denoting the push token.
| **Variable** | **Type** | **Description** |
| :----------- | :------- | :-------------- |
| `deviceToken` | Data | The push token value. |
#### Examples
#### Example
```text
```objc
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
[AEPMobileCore setPushIdentifier:deviceToken];
}
```
{% endtab %}
{% endtabs %}

## Next Steps
## Next steps

* [Track Push Interactions](api-reference.md#addpushtrackingdetails)

## Configuration keys

To update the SDK configuration programmatically, use the following information to change the Messaging configuration values.
You can update the SDK configuration, including the Messaging configuration values, programatically by using the following information.

| Key | Required | Description | Data Type | Platform |
| Key | Required | Description | Data Type | Operating System |
| :--- | :--- | :--- | :--- | :--- |
| messaging.eventDataset | Yes | Experience Event Dataset Id which can be found from experience platform | String | Android/iOS |
| messaging.useSandbox | No | See more details in the [Messaging documentation](https://github.com/adobe/aepsdk-messaging-ios/blob/dev/Documentation/SetupSDK.md#using-apnssandbox-environment-for-push-notification) | Boolean | iOS |
| 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/dev/Documentation/SetupSDK.md#using-apnssandbox-environment-for-push-notification) | Boolean | iOS |

Loading

0 comments on commit e2f6ea7

Please sign in to comment.