Offline-Mode
For Android and iOS version, spring-lib has a feature the so-called "offlineMode". This mode can be switched on and off by using public API: setOfflineMode (boolean offlineMode)
If the lib is configured to offlineMode, spring library will hold all requests in a local buffer and send them when the device goes back online.
The spring-lib checks the Internet connection regularly by using the Android/iOS Timer and sends the data as soon as possible.
Please notice:
- Old requests will be dropped if too many requests pump into local buffer for the limitation in buffer size.
- The default buffer size is 500.
- The data will be stored in a local file, so the lib will not lose the requests even if the application terminates
- the spring-lib tries to send the requests in a fixed rate, 10 seconds by default, and sends them if device is online again
iOS
Identifiers on iOS
Device ID (did) | Advertising ID (ai) | Mac ID (mid) | ID_For_Vendor (ifv) | |
---|---|---|---|---|
iOS4 | --- | --- | --- | |
iOS5 | --- | --- | --- | |
iOS6 | --- | |||
iOS7 | --- | --- | ||
iOS8 | --- | --- | ||
iOS9 | — | — |
Considering that the Apple private policy is changing all the time, Spring libs have to adapt different UDIDs for identifying the end user's devices.
- Since iOS7 the Mac ID is not available anymore,
- Since iOS7 introducing of Advertising ID and ID_For_Vendor
Please attention:
Apple will reject all the applications which retrieve Advertising ID (ai) but with no advertising content provided.
So Advertising-Framework is linked as optional in Spring lib,
If the Advertising ID should be used as udid, please import Advertising-Framework into your projects.
Migration to iOS9
URL Scheme
<key>LSApplicationQueriesSchemes</key> <array> <string>no.tns.ipm</string> <string>tnscsPanelApp</string> </array>
App Transport Security (ATS)
<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <false/> <key>NSExceptionDomains</key> <dict> <key>tns-cs.net</key> <dict> <key>NSIncludesSubdomains</key> <true/> <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key> <true/> <key>NSExceptionRequiresForwardSecrecy</key> <false/> </dict> </dict> </dict>
BitCode
Android
Google Advertising ID
Beginning with Spring lib 1.6.0, GoogleAdvertisingID is adapted to identify the android devices. In order to achieve this, please import google-play-services_lib to your application. Follow the tutorial detailed info: http://developer.android.com/google/play-services/setup.html
- Install the Google Play Services SDK.
- Import the project into your application.
- Don't forget to add following items into your project AndroidManifest.xml file:
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />