SHInstall Class Reference
Inherits from | SHObject : NSObject |
---|---|
Declared in | SHInstall.h |
Overview
An installed device in the StreetHawk system. @discuss Apple has made announcements in 2012 that device IDs (UDIDs) are a not to be used for privacy reasons. However what all StreetHawk powered applications/clients need a way to identify installations. So the client side will be responsible for “requesting” a new device GUID when it first starts and then will store it over time. This ID is recorded here. Unfortunately every app deletion and re-install will request/create a new install ID.
General properties
appKey
Customer developer register app_key in streethawk server. It’s same as StreetHawk.appKey
.
@property (nonatomic, strong) NSString *appKey
Declared In
SHInstall.h
sh_cuid
Your unique identifier for this Client. Tagged by API [StreetHawk tagString:<unique_value> forKey:@"sh_cuid"];
@property (nonatomic, strong) NSString *sh_cuid
Declared In
SHInstall.h
clientVersion
The version of the client application.
@property (nonatomic, strong) NSString *clientVersion
Declared In
SHInstall.h
shVersion
The version of StreetHawkCore framework SDK.
@property (nonatomic, strong) NSString *shVersion
Declared In
SHInstall.h
operatingSystem
Operating system in lower case. Examples: “android”, “ios”, “windows”. Because this is iOS SDK, it’s hard coded as “ios”.
@property (nonatomic, strong) NSString *operatingSystem
Declared In
SHInstall.h
osVersion
The version of the operating system. Example: “7.0”.
@property (nonatomic, strong) NSString *osVersion
Declared In
SHInstall.h
live
If this App is AppStore or Enterprise provisioning profile, it’s true; otherwise it’s false.
@property (nonatomic) BOOL live
Declared In
SHInstall.h
developmentPlatform
Development platform, hardcoded in StreetHawk SDK.
@property (nonatomic, strong) NSString *developmentPlatform
Declared In
SHInstall.h
created
The UTC time this install was created in year-month-day hour:minute:second format.
@property (nonatomic, strong) NSDate *created
Declared In
SHInstall.h
modified
The UTC time this install was modified in year-month-day hour:minute:second format.
@property (nonatomic, strong) NSDate *modified
Declared In
SHInstall.h
replaced
If current App deleted and re-install again, install id changes. This property is the Install this Install has been replaced by.
@property (nonatomic, strong) NSString *replaced
Declared In
SHInstall.h
uninstalled
An estimated timestamp (UTC) when the Install has been uninstalled, nil otherwise.
@property (nonatomic, strong) NSDate *uninstalled
Declared In
SHInstall.h
Capability properties
featureLocation
Customer developer uses location related SDK functions, technically when his pod include streethawk/Locations
or streethawk/Geofence
or streethawk/Beacons
and set StreetHawk.isLocationServiceEnabled = YES
this is true; otherwise this is false.
@property (nonatomic) BOOL featureLocation
Declared In
SHInstall.h
featurePush
Customer developer uses notification related SDK functions, technically when his pod include streethawk/Push
and set StreetHawk.isNotificationEnabled = YES
this is true; otherwise this is false.
@property (nonatomic) BOOL featurePush
Declared In
SHInstall.h
featureiBeacons
Customer developer uses iBeacon related SDK functions, technically when his pod include streethawk/Beacons
this is true; otherwise this is false.
@property (nonatomic) BOOL featureiBeacons
Declared In
SHInstall.h
supportiBeacons
When featureiBeacons
== YES
and end user’s device supports iBeacon (iOS version >= 7.0, location service enabled and bluetooth enabled), it’s true.
@property (nonatomic) BOOL supportiBeacons
Declared In
SHInstall.h
Notification properties
mode
If iOS App use development provisioning, it’s dev
; if use simulator, it’s simulator
; if use ad-hoc or AppStore or Enterprise distribution provisioning, it’s prod
.
@property (nonatomic, strong) NSString *mode
Declared In
SHInstall.h
pushNotificationToken
The access data for remote notification.
@property (nonatomic, strong) NSString *pushNotificationToken
Declared In
SHInstall.h
negativeFeedback
It set to time stamp once get error from Apple’s push notification server. If empty means Apple not reply error.
@property (nonatomic, strong) NSString *negativeFeedback
Declared In
SHInstall.h
revoked
Timestamp when end user refuse to receive notification. If notification is approved it’s empty.
@property (nonatomic, strong) NSString *revoked
Declared In
SHInstall.h
feed
Timestamp for feed. If not nil and local fetch time is older than this, SDK will fetch feed.
@property (nonatomic, strong) NSString *feed
Declared In
SHInstall.h
Device properties
latitude
Device’s latitude. It’s nil if not get latitude. StreetHawk server try to guess location by ip even when device disable location, thus it may not be nil even device disable location.
@property (nonatomic, strong) NSNumber *latitude
Declared In
SHInstall.h
longitude
Device’s longitude. It’s nil if not get longitude. StreetHawk server try to guess location by ip even when device disable location, thus it may not be nil even device disable location.
@property (nonatomic, strong) NSNumber *longitude
Declared In
SHInstall.h
model
Descriptive text for the device model, e.g. iPhone 6
. You should get this from either the android or iphone libraries so a consistent description is logged. i.e if the client is an android the model string must start with android.
@property (nonatomic, strong) NSString *model
Declared In
SHInstall.h
ipAddress
Ip address of current device. It’s known by server, not sent from client.
@property (nonatomic, strong) NSString *ipAddress
Declared In
SHInstall.h
macAddress
Mac address sent to server by client. It’s not available since iOS 7 device, which always returns 02:00:00:00:00:00.
@property (nonatomic, strong) NSString *macAddress
Declared In
SHInstall.h
identifierForVendor
Since iOS 7.0 mac address in unavailable, it always returns 02:00:00:00:00:00. Add identifierForVendor as another way to identifier vendor.
@property (nonatomic, strong) NSString *identifierForVendor
Declared In
SHInstall.h
advertisingIdentifier
If customer developer pass in advertise identifier, submit to StreetHawk server. It requires App to approve IDFA when submitting to AppStore, thus StreetHawk SDK cannot positively read this property. Set up by StreetHawk.advertisingIdentifier = ...
.
@property (nonatomic, strong) NSString *advertisingIdentifier
Declared In
SHInstall.h
carrierName
Carrier of current device. It’s sent from client to server.
@property (nonatomic, strong) NSString *carrierName
Declared In
SHInstall.h
resolution
Screen resolution of current device. It’s sent from client to server.
@property (nonatomic, strong) NSString *resolution
Declared In
SHInstall.h