Latest 0.2.0
Homepage https://github.com/Estimote/iOS-Mirror-SDK
License Apache 2.0
Platforms ios 10.0
Dependencies EstimoteMirrorCore
Authors

Estimote Mirror iOS SDK

CocoaPod Version
Apache License 2.0

This SDK allows you to take control of the big screen from your iOS app with Estimote Mirror.

Main features:

  • Building Mirror experience based on mobile SDKs – you can start prototyping your first Mirror application, using only mobile Display SDK. There is no need to upload any code or resources upfront to the Mirror.

  • Pre-defined views – No need to design your first Mirror app view. iOS Mirror SDK lets you define customized screens based on pre-defined views; All you need to do is to declare basic styling and data.

  • Feedback from Mirror screen to mobile – Whenever any display action is triggered, your mobile app gets notified about it. You can handle successful screen change and perform further actions inside your mobile app.

Please check the rest of README to get further details.

We really appreciate your feedback about our SDKs, thank you!

Table of Contents

Installation

Prerequisities

  • 1 Estimote Mirror w/ 1.0.15+ firmware version.
  • An account in Estimote Cloud.
  • An iOS device with Bluetooth Low Energy support. We suggest using iOS 10.0+ (on iPhone 5s or newer).

Pod

Install via CocoaPods:

  • $ pod init in the project root directory
  • Edit your Podfile to include the following repositories under your project target
    pod 'EstimoteMirror'
    pod 'EstimoteBluetoothScanning'
    pod 'EstimoteProximitySDK'
  • $ pod install

Obtain app credentials from Estimote Cloud

To obtain Estimote Cloud credentials for your mobile application:

  1. Log in to your Estimote Cloud account.
  2. Go to Apps section and click Add new app option.
  3. Select Your own app option.
  4. Save your App Id/App Token credentials.

Quick start

Here is simple example for showing Poster View on the screen, when user appears in Mirror nearby range.

// Declare mirrorClient and proximityObserver as class properties
let mirrorClient = MirrorClient(appID: "", appToken: "")
var proximityObserver: EPXProximityObserver!

// Inside you class implementation
// Prepare your customized Poster View
let sneakersBanner = Poster() { p in

    p.header = "Exceptional tractionnfrom your first to final mile"
    p.body = "Now 20% off!"
    p.image = .preloaded(path: "shoe_big.jpg")

    p.style = PosterStyle() { ps in

        ps.imagePosition = Position(horizontal: .center, vertical: .top(offset: 80))
        ps.textPosition = Position(horizontal: .center, vertical: .bottom(offset: 80))
        ps.textAlign = .center
        ps.headerFontSize = .percent(130)
    }
}

// Initialize your Estimote Cloud credentials
let credentials = CloudCredentials(appID: "", appToken: "")

// Build ProximityObserver with Cloud credentials
self.proximityObserver = ProximityObserver(credentials: credentials, onError: { error in

    print("(error)")
})

// Define near proximity zone
let mirrorZone = ProximityZone(tag: "mirror", range: ProximityRange.near)
mirrorZone.onEnter = { zoneContext in

    print("Enter mirror")
    self.mirrorClient.display(sneakersBanner, onMirror: zoneContext.deviceIdentifier)
}
mirrorZone.onExit = { zoneContext in

    print("Exit mirror")
}

// Start proximity observation
self.proximityObserver.startObserving([mirrorZone])

Zone monitoring is based on Estimote Proximity SDK – the most reliable signal-processing technology.

To get more details, you can check out README for iOS-Proximity-SDK.

Your feedback and questions

At Estimote we believe in open feedback! Here are some common ways to share your thoughts with us:

Changelog

To see what has changed in recent versions of our SDK, please visit our releases page.

License

Apache 2.0

Latest podspec

{
    "name": "EstimoteMirror",
    "version": "0.2.0",
    "summary": "Take control of the TV screen from your iOS app with Estimote Mirror SDK",
    "description": "The Mirror SDK is an addition to the Estimote Mirror Core SDK that enables easy interaction with built-in and custom templates.",
    "homepage": "https://github.com/Estimote/iOS-Mirror-SDK",
    "license": {
        "type": "Apache 2.0",
        "file": "LICENSE.txt"
    },
    "authors": {
        "Estimote": "[email protected]"
    },
    "source": {
        "git": "https://github.com/Estimote/iOS-Mirror-SDK.git",
        "tag": "0.2.0"
    },
    "social_media_url": "https://twitter.com/estimote",
    "platforms": {
        "ios": "10.0"
    },
    "swift_version": "4.1",
    "source_files": "Sources/**/*.{swift,h}",
    "module_name": "MirrorDisplay",
    "dependencies": {
        "EstimoteMirrorCore": []
    }
}

Pin It on Pinterest

Share This