MOCA SDK notes for AppStore review team.

What MOCA is.

  • MOCA Platform allows brands and developers to deliver valuable content to their mobile users by using push notifications, location services (geofences), and micro-location (Bluetooth Beacons). The Proximity Experience.

  • MOCA gathers informations from your customers in order to create targeted campaigns.

  • MOCA notifications can be triggered because a beacon (or collection of beacons), geofence or time. That way you can reach the right customer at the right time and close a sale.

What kind of information is gathered.

  • By default, MOCA SDK tracks the following information for App analytics:
    - Device model.
    - Device country.
    - Device language.
    - iOS version.
    - Device name.
    - Push status {allowed, disallowed}
    - location Status {allowed, disallowed}
    - AppName.
    - AppVersion.
    - Carrier name.
    - Frequent locations: we force a 100 meters error in the Location Manager in order to enforce user's privacy.

  • All the proximity events are also captured in order to analyze its impact in the MOCA Analytics Console.
    - Triggered Experiences.
    - User actions.

  • Developers can also gather custom information depending on their needs. But all developers must follow our privacy policy in order to use MOCA SDK.

  • By default, all the information is stored with a random unique ID, so there is no way to link a person with the tracked information.

  • As stated in our privacy policy, if personal information is gathered such as email, birthday etc. Application should explain what this information will be used for.

About location services

  • MOCA SDK uses device location with a 100 meter error margin in order to get analytical data in your app dashboard.
  • MOCA SDK uses startMonitoringSignificantLocationChanges method from the Location Manager when the app goes to background in order to save battery. MOCA SDK does not use navigation-grade location updates as it is not necessary.
  • Background location is not critical for MOCA SDK.
  • In order to deliver Proximity Experiences, MOCA SDK uses region monitoring (for bluetooth beacons and geofences).
  • startMonitoringForRegion is used for both bluetooth beacons and geofences.
  • startRangingBeaconsInRegion is used for beacon ranging if we are in the range of any beacon.
  • Due to the above reasons there is no need to register the app as a background location App. (Location Updates in Background Modes should be unchecked).

About Background Fetch.

  • MOCA Proximity Experiences are always stored locally in order to show content to the user, even if the device does not have connectivity at the moment a Bluetooth Beacon is spotted. MOCA SDK takes advantage of the iOS Background Fetch feature to keep the content updated even if app is not executed by the user.

User Experience when App detects the presence of a beacon.

  • If a campaign is associated with that particular beacon, user will receive a local notification with a message related with the found content. If the user taps the received notification, app may show more information inside the app, usually by using a web view and rendering custom content.

Demo account

  • There is a demo account available for the Apple Store Review team:
  1. Please go to http://console.mocaplatform.com
  2. Sign in with the following credentials: