Code Monkey home page Code Monkey logo

places-monitor-ios's Introduction

Notice of deprecation

On August 31, 2021, the Places Monitor extension for the Adobe Experience Platform Mobile SDKs will be deprecated. The Places Monitor extension will not receive further updates or support beyond August 31st.

Customers that currently use the Places Monitor extension can continue usage of this extension with the understanding that no additional updates or support will be available through Adobe.

The deprecation of the Places Monitor extension has no bearing or negative impact on the Places Service extension which will continue to be supported with enhancements and updates.

Customers that are looking to transition away from the Places Monitor extension to their own monitoring solution should review the documentation for: Use Places Service with your own monitoring solution. This document explains how to interact with the Places Service by implementing Core Location services on iOS or Location Services from Google Play.

Getting started with ACPPlacesMonitor for iOS

Table of Contents

  1. About this project
  2. Current version
  3. Contributing to the project
  4. Environment setup

About this project

The ACPPlacesMonitor for iOS is used to manage the integration between iOS's CLLocationManager and the ACPPlaces extension for the Adobe Experience Platform SDK.

Current version

Cocoapods CircleCI Code Coverage

Contributing to the project

Looking to contribute to this project? Please review our Contributing guidelines prior to opening a pull request.

We look forward to working with you!

Environment setup

The first time you clone or download the project, you should run the following from the root directory to setup the environment:

make setup

Subsequently, you can make sure your environment is updated by running the following:

make update

Open the Xcode workspace

Open the workspace in Xcode by running the following command from the root directory of the repository:

open ACPPlacesMonitor.xcworkspace

Command line integration

From command line you can build the project by running the following command:

make build

You can also run the unit test suite from command line:

make test

To create an XCFramework, run the following:

make xcframeworks

The resulting XCFramework can be found at bin/iOS/ACPPlacesMonitor.xcframework

Licensing

This project is licensed under the Apache V2 License. See LICENSE for more information.

places-monitor-ios's People

Contributors

emdobrin avatar filmaj avatar pravinadobe avatar pravinpk avatar sbenedicadb avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

places-monitor-ios's Issues

Found a problem when we install nested dependency by Cocoapods

Dear all,
We found a problem we can't build your lib when we use it on nested dependency.
It showed ACPCore.h, ACPExtensionEvent.h etc. not found.
And that we solved this issue by using import lib with namespace syntax.
So, we try to change your code on Cocoapods and it works!.
Actually, I would like to open a pull request but your rule makes me create an issue first. ๐Ÿค”

Please review this issue because we are blocked.

Ref: https://github.com/chawatvish/places-monitor-ios/commit/ed7e4fae1b8be5865cdd22828ca0d71302098b72

need improvment in README file

Expected Behaviour

Actual Behaviour

Reproduce Scenario (including but not limited to)

Steps to Reproduce

Platform and Version

Sample Code that illustrates the problem

Logs taken while reproducing problem

Test Jira integration

Expected Behaviour

Actual Behaviour

Reproduce Scenario (including but not limited to)

Steps to Reproduce

Platform and Version

Sample Code that illustrates the problem

Logs taken while reproducing problem

Investigate use of CLVisit APIs

Primarily looking to handle use cases where dwell time plays a factor, either in:

  • Triggering the initial entry event, or
  • Triggering some other rule after a determined amount of time has passed

Report CLAuthorizationStatus to Places

A new API is being developed to collect the authorization status of the device WRT access to location.

This issue is to properly update the Places Extension when the Auth Status of the device changes.

Monitor cannot differentiate between network error or no POIs around the user

Expected Behaviour

Monitor extension should not deregister previously registered geofences if we failed to fetch new list of POIs due to network error

Actual Behaviour

The current POI fetch API does not return any error code. If it returns no POIs, monitor automatically deregistered all monitored geofences.

Reproduce Scenario (including but not limited to)

Have the monitor running and tracking POIs. turn off network, move a significant distance. All tracked POIs will now be deregistered.

Steps to Reproduce

Platform and Version

Sample Code that illustrates the problem

Logs taken while reproducing problem

should not continue monitoring regions when server-side configuration is inactive

Expected Behaviour

When the Places extension gets a configuration related error from a getNearbyPointsOfInterest:limit:callback:errorCallback, the Places Monitor should stop monitoring any regions it was currently monitoring.

Actual Behaviour

The Places Monitor continues to do region monitoring for regions it was previously monitoring even if the Places extension has been removed from Launch configuration.

Reproduce Scenario (including but not limited to)

Steps to Reproduce

Platform and Version

Sample Code that illustrates the problem

Logs taken while reproducing problem

Update logs to be more meaningful

Expected Behaviour

Places Monitor should provide more helpful logs when:

  • locationManager:didFailWithError: is called
  • The listener hears an event
  • Processing a new list of POIs results in a non-entry due to the monitor already knowing that the device is within a region

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.