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

Create ACS-places-inapp.md #16

Open
wants to merge 14 commits into
base: master
Choose a base branch
from

Conversation

imiron-git
Copy link
Collaborator

No description provided.

Before we begin, this guide assumes that you have a mobile application already configured with the Adobe Experience Platform Mobile SDK, including the Adobe Campaign Standard extension.

### Prerequisites
1. Integration the [Adobe Experience Platform Mobile SDK](https://aep-sdks.gitbook.io/docs/getting-started/get-the-sdk) into your app.
Copy link
Contributor

Choose a reason for hiding this comment

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

Integration of or
Integrate the


### Sending In-App Messages based on Geo-fence entry or exit
1. In your Adobe Campaign Standard instance, click **Create In-App message**.
2. For the message type select **Target all users of a Mobile application**.
Copy link
Contributor

Choose a reason for hiding this comment

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

remove the extra space
2. For


In addition to the data elements for Location Service, ensure that you create Mobile Core data elements for _App ID_ and _Experience Cloud ID_.

## Create a rule to send location data to Adobe Campaign Standard
Copy link
Contributor

Choose a reason for hiding this comment

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

This information is also provided by @sbenedicadb at
https://github.com/jiabingeng/places-service-docs/blob/master/places-solution-integrations/campaign/postbacks.md

we might need to consolidate them in one

fix a few spelling errors.
fix more typos.
| Step | Description | Expected Result |
|------ |-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |-------------------------------------------------------------------------------------------------------------------------------------- |
| 1 | Confirm that the proper manifest keys have been entered for Android to grant access to track location: https://placesdocs.com/places-services-by-adobe-documentation/configure-places-in-the-sdk/places-monitor-extension/using-the-places-monitor-extension#add-permissions-to-the-manifest | Confirmed |
| 1a | Confirm location updates are configured in iOS. Also ensure that you have the appropriate plist keys setup in iOS to request user permission to track location: https://placesdocs.com/places-services-by-adobe-documentation/configure-places-in-the-sdk/places-monitor-extension/using-the-places-monitor-extension#enable-location-updates-in-background | Confirmed |
Copy link
Contributor

Choose a reason for hiding this comment

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

Confirm location updates are configured in iOS
to
Confirm background mode for location updates is enabled for your application.

| 5 | Confirm that the correct environments are configured for testing. Launch environment ID should match your Launch development environment | Confirmed |
| 6 | Create GPX files for each POI that you want to test. GPX files can be used in local development environment to simulate a location entry. See links below for information on creating and using GPX files. <br>https://stackoverflow.com/questions/17292783/gpx-files-for-ios-simulator<br>https://mapstogpx.com/mobiledev.php<br>https://blackpixel.com/writing/2013/05/simulating-locations-with-xcode.html<br>https://qacumtester.wordpress.com/2014/02/27/location-testing-in-mobile-apps/ | GPX files created and loaded into app project |
| 7 | Without doing anything else, you should be able to launch the application from Android Studio or XCode and see the appropriate alert to request access for tracking location. Grant "Always Allow" permission.<br>*Recommend using a real device connected to your computer over using device simulator.* | Location request prompt should display on application loaded through IDE |
| 8 | Once Location permission has been accepted you should see in the application console messages that indicate ```"ACPExtensionEventName" : "requestgetnearbyplaces"```, has been called. Switching between different locations in XCode or Android studio should produce entry events for specific POIs | "ACPExtensionEventName" : "requestgetnearbyplaces" should be displayed as you simulate different locations. |
Copy link
Contributor

Choose a reason for hiding this comment

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

POINT 8

Description
Once Location permission has been accepted. The Places SDK will to retrieve the current location of the device and the Places Monitor extension will start monitoring the 20 closest POIs from the current location

iOS

[AdobeExperienceSDK DEBUG <Places>]: Requesting 20 nearby POIs for device location (<lat>, <longitude>)
[AdobeExperienceSDK DEBUG <Places>]: Response from Places Query Service contained <n> nearby POIs
[AdobeExperienceSDK DEBUG <com.adobe.placesMonitor>]: Received a new list of POIs from Places: (
"<ACPPlacePoi: 0x600002b75a40> Name: <poi name>; ID:<poi id>; Center: (<lat>, <long>); Radius: <radius>”,
..
..)

Android

PlacesMonitor - PlacesMonitorInternal : New location obtained: <latitude> <longitude> Attempting to get the near by pois
PlacesExtension - Dispatching nearby places event with n POIs
PlacesMonitor - Attempting to Monitor POI with id <poi id> name <poi name> latitude <lat> longitude <longitude>
PlacesMonitor - Attempting to Monitor POI with id <poi id> name <poi name> latitude <lat> longitude <longitude>
PlacesMonitor - Attempting to Monitor POI with id <poi id> name <poi name> latitude <lat> longitude <longitude>
….
PlacesMonitor - Successfully added n fences for monitoring

| 6 | Create GPX files for each POI that you want to test. GPX files can be used in local development environment to simulate a location entry. See links below for information on creating and using GPX files. <br>https://stackoverflow.com/questions/17292783/gpx-files-for-ios-simulator<br>https://mapstogpx.com/mobiledev.php<br>https://blackpixel.com/writing/2013/05/simulating-locations-with-xcode.html<br>https://qacumtester.wordpress.com/2014/02/27/location-testing-in-mobile-apps/ | GPX files created and loaded into app project |
| 7 | Without doing anything else, you should be able to launch the application from Android Studio or XCode and see the appropriate alert to request access for tracking location. Grant "Always Allow" permission.<br>*Recommend using a real device connected to your computer over using device simulator.* | Location request prompt should display on application loaded through IDE |
| 8 | Once Location permission has been accepted you should see in the application console messages that indicate ```"ACPExtensionEventName" : "requestgetnearbyplaces"```, has been called. Switching between different locations in XCode or Android studio should produce entry events for specific POIs | "ACPExtensionEventName" : "requestgetnearbyplaces" should be displayed as you simulate different locations. |
| 9 | If the Location you have selected is close to nearby POIs the Monitor extension will start monitoring the 20 closest POIs from the current location. Message in the console will be similar to:```[AdobeExperienceSDK DEBUG <com.adobe.placesMonitor>]: Received a new list of POIs from Places:```| Switching between different locations in XCode or Android studio should produce entry events for specific POIs |
Copy link
Contributor

@PravinPK PravinPK Oct 29, 2019

Choose a reason for hiding this comment

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

POINT 9

Description
Switching between different locations in XCode or Android studio should produce entry events for specific POIs. The below logs are expected on entry to a POI

iOS

[AdobeExperienceSDK TRACE <Places>]: Dispatching Places region entry event for place ID <poiId>

Android

PlacesExtension -  Dispatching Places Region Event for <poi name> with eventType entry

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants