- Removed reading of Facebook advertising identifier which sometimes caused blocking of the main thread.
- Removed methods from Adjust SDK web view bridge which are dealing with
UIWebView
objects to addressITMS-90809
. Please, check web views migration guide to see how to migrate tov4.18.2
and also check our web view example app to see how current Adjust web view SDK should be implemented. - Replaced deprecated API for better iOS 13 compatibility.
- Fixed device token parsing to string, changed in iOS 13.
- Added
trackAdRevenue:payload:
method toAdjust
interface to allow tracking of ad revenue. With this release added support forMoPub
ad revenue tracking. - Added reading of Facebook anonymous ID if available.
- SDK will check for iAd information upon re-enabling.
- Added
modulemap
file to static framework target to make it usable from Swift apps (adjust#361).
- Fixed issue with Adjust pod due to
BITCODE_GENERATION_MODE
option absence (adjust#368).
- Fixed issue with printing of certain skipped deep links to debug console output in sandbox mode (adjust#362).
- Added
sdkVersion
getter toAdjust
interface to obtain current SDK version string.
- Removed posting of
kNetworkReachabilityChangedNotification
notification from forkedADJReachability
class. In case you were using it, please rely only on obtaining it from officialReachability
class.
- Added sending of UUID string with each attribution request.
- Added
setCallbackId
method onADJEvent
object for users to set custom ID on event object which will later be reported in event success/failure callbacks. - Added
callbackId
property toADJEventSuccess
class. - Added
callbackId
property toADJEventFailure
class. - Added support for tracking Facebook Pixel events with iOS web view SDK.
- Aligned feature set of iOS web view SDK with native iOS SDK.
- Added example app which demonstrates how iOS web view SDK can be used to track Facebook Pixel events.
- SDK will now fire attribution request each time upon session tracking finished in case it lacks attribution info.
- Web bridge callbacks can now be called more than once
- Changed deployment target of iMessage dynamic framework target back to 8.0.
- Changed deployment target of web bridge dynamic framework target back to 8.0.
- Removed signing settings from dynamic framework targets (thanks to @Igor-Palaguta).
- Added support for iMessage target.
- Added iMessage framework to releases page.
- Added Web Bridge framework to releases page.
- Updated web view SDK (
v4.14.0
) and way of how it's being added to your iOS apps with web views. Please, make sure to check iOS web views SDK guide for more details.
- Added
setPushToken:
method toAdjust
interface to use push token asNSString
data type. This method is intended only to be used by Adjust non native SDKs and you should not be using it in your native iOS app. Please, continue with usage ofsetDeviceToken:
method as stated inREADME
.
- Added deep link caching in case
appWillOpenUrl
method is called before SDK is initialised.
- Added
gdprForgetMe
method toAdjust
interface to enable possibility for user to be forgotten in accordance with GDPR law.
- Added
AdjustTestLibraryStatic
target to the project.
- Stopped creating session packages in case SDK is initialised in suspended app state.
- Started to send install session package right away in case of delayed SDK initialisation.
- Improved SDK logging to indicate the presence/absence of
iAd.framework
inside of the app.
- Added handling of occasional
nil
file paths when attempting to write to file.
- Fixed compatibility of Adjust SDK with apps that are already using
Reachability
class (adjust#315) (thanks to @fedetrim).
- Added reading of MCC.
- Added reading of MNC.
- Added reading of network type.
- Added reading of connectivity type.
- Added usage of app secret in authorization header.
- Improved push token handling.
- Migrated Adjust internal files from
Documents
toApplication Support
directory. - Deprecated
iAd v2
handling. - Updated
WebViewJavascriptBridge
to6.0.2
. - Updated instructions for iOS SDK web bridge integration.
- Fixed data race in
ADJAttributionHandler
(adjust#303) (thanks to @mindbrix). - Fixed potential deadlock in shared access to
UIPasteboard
with Facebook SDK (adjust#310) (thanks to @sanekgusev).
- Fixed
WKWebViewJavascriptBridge
bug (marcuswestin/WebViewJavascriptBridge#267).
- Improved iOS 11 compatibility.
- Removed connection validity checks.
- Added check if
sdk_click
package response contains attribution information. - Added sending of attributable parameters with every
sdk_click
package.
- Replaced
assert
level logs withwarn
level.
- Performing connection validity checks only on main package queue.
- Changed key name used to save persistent UUID to be unique per app.
- Added sending of the app's install time.
- Added sending of the app's update time.
- Added nullability annotations to public headers for Swift 3.0 compatibility.
- Added
BITCODE_GENERATION_MODE
to iOS framework forCarthage
support. - Added support for iOS 10.3.
- Added connection validity checks.
- Changed some variable types to enable compilation of SDK even if
Sign Comparison
option is turned on in Xcode.
- Fixed not processing of
sdk_info
package type causing logs not to print proper package name once tracked. - Fixed random occurrence of attribution request being fired before session request.
- Added
adid
field to the attribution callback response. - Added accessor
[Adjust adid]
to be able to getadid
value at any time after obtaining it, not only when session/event callbacks have been triggered. - Added accessor
[Adjust attribution]
to be able to get current attribution value at any time after obtaining it, not only when attribution callback has been triggered. - Added
AdjustSdkTv
scheme to shared ones in order to allowCarthage
build fortvOS
.
- Updated Criteo plugin:
- Added new partner parameter
user_segment
to be sent ininjectUserSegmentIntoCriteoEvents
(for all Criteo events). - Moved
customer_id
to be sent ininjectCustomerIdIntoCriteoEvents
(for all Criteo events). - Added new partner parameter
new_customer
to be sent ininjectTransactionConfirmedIntoEvent
.
- Added new partner parameter
- Firing attribution request as soon as install has been tracked, regardless of presence of attribution callback implementation in user's app.
- Saveing iAd/AdSearch details to prevent sending duplicated
sdk_click
packages. - Updated docs.
- Now reading push token value from activity state file when sending package.
- Fixed memory leak by closing network session.
- Fixed
TARGET_OS_TV
pre processer check.
- Added sending of
os_build
parameter. - Added adjust SDK version information to
Adjust.h
header file.
- Replaced
NSLog
inADJSystemProfile
with the adjust logger. - It is no longer necessary to have attribution delegate implemented to get deferred deep links.
- Sending
os_build
or permenent version, not both.
- Added checks if all CPU families are defined.
- Reverted deployment target to
iOS 6.0
.
- Removed
NSURLSessionConfiguration
withbackgroundSessionConfigurationWithIdentifier
.
- SDK updated due to an update to the Apple App Store Review Guidelines (https://developer.apple.com/app-store/review/guidelines/ chapter 5.1.1 iv).
- Removed functionality of
sendAdWordsRequest
method because of the reason mentioned above.
- Added
ADJLogLevelSuppress
to disable all log output messages. - Added possibility to delay the start of the first session.
- Added support for session parameters which are going to be sent with each session/event:
- Callback parameters
- Partner parameters
- Added sending of install receipt.
- Added iOS 10 compatibility.
- Added
AdjustSdkTv.framework
to releases page.
- Deferred deep link info is now delivered as part of the
attribution
answer from the backend. - Removed optional
adjust_redirect
parameter from resulting URL string when usingconvertUniversalLink:scheme
method. - Normalized properties attributes.
- Changed naming of background blocks.
- Using
weakself strongself
pattern for background blocks. - Moving log level to the ADJConfig object.
- Accessing private properties directly when copying.
- Removed static framework build with no Bitcode support from releases page.
- Updated docs.
- Allow foreground/background timer to work in offline mode.
- Use
synchronized
blocks to prevent write deadlock/contention. - Don't create/use background timer if the option is not configured.
- Replace strong references with weak when possible.
- Use background session configuration for
NSURLSession
when the option is set.
- Not using
SFSafariViewController
on iOS devices with iOS version lower than 9.
- Added support for making Google AdWords request in iOS 10.
- Added support to convert shorten universal links.
- Added initialisation of static vars to prevent dealloc.
- Added Safari Framework in the example app.
- Replaced sleeping background thread with delayed execution.
- Added tracking support for native web apps (no SDK version change).
- Updated docs.
- Added
sendAdWordsRequest
method onAdjust
instance to support AdWords Search and Mobile Web tracking.
- Added #define for
CPUFAMILY_INTEL_YONAH
due to its deprecation in iOS 10. - Added #define for
CPUFAMILY_INTEL_MEROM
due to its deprecation in iOS 10.
- Re-enabled SDK auto-start upon initialisation.
- Added
CHANGELOG.md
to repository.
- Re-added support for
iOS 8.0
as minimal deployment target for dynamic framework.
- Added
adjustDeeplinkResponse
method toAdjustDelegate
to get info when deferred deep link info is received. - Added possibility to choose with return value of
adjustDeeplinkResponse
whether deferred deep link should be launched or not. - Added sending of full deep link with
sdk_click
package.
- Updated docs.
- Disabled SDK auto-start upon initialisation.
- Added separate handler for
sdk_click
which is sending those packages immediately after they are created.
- Fixed situation where SDK does not start immediately when is put to enabled/disabled or online/offline mode.
- Added
adjustEventTrackingSucceeded
method toAdjustDelegate
to get info when event is successfully tracked. - Added
adjustEventTrackingFailed
method toAdjustDelegate
to get info when event tracking failed. - Added
adjustSessionTrackingSucceeded
method toAdjustDelegate
to get info when session is successfully tracked. - Added
adjustSessionTrackingFailed
method toAdjustDelegate
to get info when session tracking failed.
- Updated docs.
- Added method for conversion from universal to old style custom URL scheme deep link.
- Updated docs.
- Fixed documentation warning.
- Fixed
-fembed-bitcode
warnings.
- Added Bitcode flag for static library.
- Added
idfa
method onAdjust
instance to get access to device'sIDFA
value.
- Updated docs.
- Added decoding of deep link URL.
- Added support for
Carthage
. - Added dynamic framework SDK target called
AdjustSdk.framework
. - Added option to forget device from example apps in repository.
- Improved iAd logging.
- Changed name of static framework from
Adjust.framework
toAdjustSdk.framework
. - Changed
Adjust
podspec iOS deployment target fromiOS 5.0
toiOS 6.0
. - Updated and redesigned example apps in repository.
- Updated docs.
- Added support for
iAd v3
.
- Updated
Criteo
plugin to send deep link information. - Updated docs.
- Added support for
Trademob
plugin.
- Updated docs.
- Added
Bitcode
support by default.
- Changed minimal target for SDK to
iOS 6
. - Removed reading of
MAC address
.
- Fixed tvOS macro for iAd.
- Replaced deprecated method
stringByAddingPercentEscapesUsingEncoding
inCriteo
plugin due totvOS
platform. - Added missing ADJLogger.h header to public headers in static framework.
- Added support for
tvOS apps
. - Added new example apps to repository.
- Updated docs.
- Removed duplicated ADJLogger.h header in static framework.
- Removed code warnings.
- Fixed errors on
pre iOS 8
due to accessingcalendarWithIdentifier
method.
- Changed deployment target to
iOS 5.0
. - Changed delegate reference to be
weak
. - Replaced
NSURLConnection
withNSURLSession
for iOS 9 compatibility.
- Fixed errors with not default date settings.
- Added sending of short app version field.
- Updating deep linking handling to be comaptible with iOS 9.
- Updated docs.
- Fixed memory leak caused by timer.
- Added
Sociomantic
pluginpartner ID
parameter.
- Updated docs.
- Fixed display of revenue values in logs.
- Refactoring to sync with the Android SDK.
- Renamed conditional compilation flag to ADJUST_NO_IAD
- Lowering number of requests to get attribution info.
- Various stability improvements.
- Added
Sociomantic
plugin parameters encoding. - Added new optional
Criteo
pluginpartner ID
parameter.
- Moving
Criteo
andSociomantic
plugins in different subspecs. - Updated docs.
- Support for Xamarin SDK bindings.
- Added sending of empty receipts.
- Added prefix to
Sociomantic
plugin parameters to avoid possible ambiguities. - Updated
Criteo
plugin. - Updated docs.
- Remove warnings about missing iAd dependencies.
- Added method
setDefaultTracker
to enable setting of default tracker for apps which were not distributed through App Store.
- Updated docs.
- Removed XCode warnings issues (#96).
- Fixed Swift issue (#74).
- Fixed framework and static library builds.
- Preventing possible JSON string parsing exception.
- Added the click label parameter in attribution response object.
- Updated docs.
- Added support for
Sociomantic
. - Added framework target with support for all architectures.
- Updated docs.
- Added server side In-App Purchase verification support.
- Updated docs.
- Updated
Criteo
plugin.
- Updated docs.
- Added support for
Criteo
.
- Updated docs.
- Fixed deep link attribution.
- Fixed iAd attribution.
- Added
categories
to static SDK library.
- Improved iAd handling (check if iAd call is available instead of trying it with exception handling).
- Removed iAd click sending from events.
- Removed warning when delegate methods are not being set.
- Prevent errors once migrating class names.
- Added deep link click time.
- Changed
ADJConfig
fieldsappToken
andenvironment
to bereadonly
. - Removed
CoreTelephony.framework
andSystemConfiguration.framework
. - Updated unit tests.
- Updated docs.
- Fixed problems with reading activity state.
- Fixed problems with adding callback and partner parameters to the events.
- Added config object used for SDK initialisation.
- Added possibility send currency together with revenue in the event.
- Added posibility to track parameters for client callbacks.
- Added posibility to track parameters for partner networks.
- Added
setOfflineMode
method to allow you to put SDK in offline mode.
- Replaced
Response Data delegate
withAttribution changed delegate
. - Updated docs.
- Added support for handling deferred deep links.
- Removed static dependancy on
ADClient
.
- Added support to send push notification token.
- Updated docs.
- Added tracker information to response data.
- Addded support for
Mixpanel
.
- Updated docs.
- Re-added support to
iOS 5.0.1
devices by sendingvendor ID
only if possible.
- Added Javascript bridge for native web apps.
- Updated docs.
- Added
iAd.framework
support. - Added sending of
vendor ID
.
- Updated docs.
- Added handling of
deep link
parameters.
- Updated docs.
- Changed
AdSupport.framework
dependency toweak
.
- Added
setEnabled
method to enable/disable SDK. - Added
isEnabled
method to check if SDK is enabled or disabled.
- Updated docs.
- Added possibility to pass
transactionId
to the event once tracking In-App Purchase revenue.
- Updated docs.
- Added delegate method to support in-app source access.
- Added unit tests.
- Renamed
AdjustIo
toAdjust
. - Refactored code.
- Various stability improvements.
- Updated docs.
- Added reading of
UUID
.
- Updated docs.
- Added method to disable
MAC MD5
tracking.
- Avoid crash on
iOS 5.0.1 and lower
due to lack ofNSURLIsExcludedFromBackupKey
presence.
AILogger
is now static class.
- Removed race condition.
- Added support for Unity and Adobe AIR SDKs.
- Removed local files from backups.
- Removed unused code.
- Added event buffering feature.
- Added
sandbox
environment. - Added sending of
tracking_enabled
parameter.
- Added support for
Cocoapods
.
- Replaced
AFNetworking
withNSMutableUrlRequests
. - Removed
AFNetworking
dependency.
- Re-added support
iOS 4.3
(recent AFNetworking required iOS 5.0).
- Added support for
iOS 7
. - Added offline tracking.
- Added persisted storage.
- Addud multi threading.
- Added sending of
MAC MD5
andMAC SHA1
.
- Added support for
HTTPS
protocol.
- Improved session tracking mechanism.
- Added session IDs and interval to last session event to session starts and ends.
- Added facebook attribution ID to installs for facebook install ads.
- Added tracking of session end.
- Added tracking of
IDFA
. - Added tracking of
device type
anddevice name
. - Added tracking
AELogger
class.
- Improved revenue event tracking logs.
- Updated documentation.
- Added tracking of events with parameters.
- Added tracking of events with revenue.
- Updated documentation.
- Replaced
ASIHTTPRequest
wihAFNetworking
. - Updated documentation.
- Initial release of the adjust SDK for iOS.