Swiftpack.co - scmp-contributor/mirror-ios as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by scmp-contributor.
scmp-contributor/mirror-ios 1.0.0
SCMP Mirror real time tracking platform sdk for iOS
⭐️ 0
🕓 6 days ago
iOS
.package(url: "https://github.com/scmp-contributor/mirror-ios.git", from: "1.0.0")

mirror-ios

SCMP Mirror real time tracking platform sdk for iOS

Table of Contents

Requirements

  • iOS 10.0+
  • Swift 5

Installation

CocoaPods

To integrate mirror-ios into your Xcode project using CocoaPods, specify it in your Podfile:

pod 'Mirror'

Swift Package Manager

Project -> Package Dependencies -> Add Package

SPM tutorial

Once you have your Swift package set up, adding mirror-ios as a dependency is as easy as adding it to the dependencies value of your Package.swift.

dependencies: [
    .package(url: "https://github.com/scmp-contributor/mirror-ios", .upToNextMajor(from: "1.0.0"))
]

Usage

Initialize Mirror:

let mirror = Mirror(environment: "YOUR_ENVIRONMENT",
                    organizationID: "YOUR_ORGANIZATION_ID",
                    domain: "YOUR_DOMAIN",
                    visitorType: "YOUR_VISITOR_TYPE", 
                    window: "AppDelegate or SceneDelegate window", 
                    scheduler: "YOUR_SCHEDULER_TYPE")

Send Data:

Send Ping Event:

let trackData = TrackData(path: "CURRENT_PAGE_PATH",
                          section: "ARTICLE_SECTION",
                          authors: "ARTICLE_AUTHOR",
                          pageTitle: "PAGE_TITLE")

mirror.ping(data: trackData)

Send Click Event:

let trackData = TrackData(path: "CURRENT_PAGE_PATH",
                          clickInfo: "FULL_DESTINATION_URL")

mirror.click(data: trackData)

Update Environment:

mirror.updateEnvironment("YOUR_ENVIRONMENT")

Update Domain:

mirror.updateDomain("YOUR_DOMAIN")

Update Visitor Type:

mirror.updateVisitorType("YOUR_VISITOR_TYPE")

Check Result

There will be print logs for variety mirror events. By filtering Mirror to check the print logs to validate the result.

Ping log sample

[Track-Mirror]
mirror -> ping success, response: 200,
mirror -> state: active,
mirror -> ping interval: 15,
mirror -> next ping interval: 15
====== Mirror Request Body Start ======
mirror parameter eg: 0
mirror parameter s: articles only, News, Hong Kong, Health & Environment
mirror parameter pi: uY8tEfsyD5Gp0AJaxPjhP
mirror parameter u: Rs7Cs6zVwZeXOypvj0jF5
mirror parameter k: 2
mirror parameter pt: HK, China, Asia news & opinion from SCMP’s global edition | South China Morning Post
mirror parameter a: Keung To, Anson Lo
mirror parameter nc: false
mirror parameter v: mi-0.3.0
mirror parameter sq: 1
mirror parameter vt: gst
mirror parameter ff: 45
mirror parameter p: /news/asia
mirror parameter et: ping
mirror parameter h: staging-scmp-pwa.product-web.dev-2.scmp.tech
mirror parameter d: staging-scmp-pwa.product-web.dev-2.scmp.tech
====== Mirror Request Body End ======

Click log sample

[Track-Mirror]
mirror -> click success, response: 200
====== Mirror Request Body Start ======
mirror parameter a: Keung To, Anson Lo
mirror parameter h: staging-scmp-pwa.product-web.dev-2.scmp.tech
mirror parameter vt: gst
mirror parameter ci: https://scmp.com/news/hong-kong/health-environment/article/3179276/coronavirus-hong-kong-prepared-rebound-infections
mirror parameter s: articles only, News, Hong Kong, Health & Environment
mirror parameter pi: uY8tEfsyD5Gp0AJaxPjhP
mirror parameter sq: 2
mirror parameter u: Rs7Cs6zVwZeXOypvj0jF5
mirror parameter et: click
mirror parameter k: 2
mirror parameter eg: 4
mirror parameter v: mi-0.3.0
mirror parameter d: staging-scmp-pwa.product-web.dev-2.scmp.tech
mirror parameter p: /news/asia
mirror parameter nc: false
====== Mirror Request Body End ======

GitHub

link
Stars: 0
Last commit: 1 week ago
jonrohan Something's broken? Yell at me @ptrpavlik. Praise and feedback (and money) is also welcome.

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics