Skip to content
This repository has been archived by the owner on Apr 2, 2021. It is now read-only.

Commit

Permalink
[MOBFND-365] Update to version 4.26.1 (#6)
Browse files Browse the repository at this point in the history
* Update CHANGELOG.md

* Update README.md

* Update web_views.md

* Start github actions

* Try new push

* Change dir

* Change identation

* Create dirs on the job

* Remove needs

* Change checkout

* All steps

* Change version

* Fix errors + zip framework

* Final action build script

* Add timeout for iAd

* Save and send iAd errors

* Inject self

* Clear iAd errors when receiving package response

* Add break in switch

* Remove NSUserDefaults synchronize

* Move clear iAd errors to sdk click handler

* new version 4.22.2

* update CHANGELOG

* Include AppTrackingTransparency.framework

* Use ATTrackingManager to check status

* Add and handle new iAd error codes

* Add att_status parameter

* Request tracking permission

* Add button

* Add load SKAN product button

* Convert parameter to int

* Remove references to ATT

* Change availability check

* Register for SKAN attribution

* Register for attribution and handle conversion value

* Move update conversion value to activity handler

* Small comment and warning cleanup

* Add inactivation of sk ad network in config

* Extract tracking status management into new class

* Wrap request tracking authorization

* Allo tracking status manager accessible in attribution handler

* Fix type of tracking status

* make adjJoin happy

* add additional parameters to sdk_info and att_status to all packages

* print att status in activity state snapshot

* rename to SKAdNetwork

* rename to deactivateSKAdNetworkHandling

* Update README.md

* link to Apple's docs

* Update README.md

* Update README.md

* Update README.md

* Start reading parameters

* All parameters to bits

* add reading and encoding of new parameters

* use unsigned ints

* fix cast

* remove unused variable

* rename decimalToBinary to decimalToBinaryString

* remove comments

* rename to mParameter

* added SO link for last boot time reading

* Add cpu subtypes

* Add logic to change address

* Add fallback url

* Add https handling of IP address

* Add random IPs

* Add gdpr and subscription fallback urls

* Add icons

* Add url strategy for india and china

* Add url strategy class and file to all projects

* Fix url strategy copy

* Rename ulr strategy

* Add web bridge url strategy

* Inject overridden factory urls

* Check ssl credential when not ip address

* Remove IP addresses

* Remove url session delegate handling

* rename url strategy constants in ad revenue style

* Remove ip address strategy options

* Fix property mispell

* check for tvOs non available api

* new version 4.23.0

* update CHANGELOG

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update README.md

* update README

* Attempt to fix build action

* Update README.md

* Update README.md

* Update README.md

* update readme

* fix storing negative value into unsigned int

* remove duplicated ADJURLStrategy symbols

* new version 4.23.1

* update changelog

* implement spm support

* fix resource warning

* Change version and changelog

* cleanup

* Replaced malloc with secure calloc. Rationale: Security attacks with an uninitialized memory are easier to obtain information from the memory.

* Update README.md

* add new version 4.23.3

* add legacy keychain support

* fix type conversion warnings

* remove unused adjMd5 method

* remove unused adjSha1 method

* reaplce ios version availability macro with available expression

* remove printing of request

* fix directory path log formatting

* Get carrier info from new API

* fix some xcode 12 warnings

* replace version macro with available

* fix typo in readme

* Remove launchSynchronisedWithObject in ADJActivityHandler

* Xcode 12 fix to skip simulator arm64

* remove block comment from example objc app

* fix file i/o api warnings

* add installed_at to all packages

* add check for legacy constant only for non-deprecated ios versions

* add tvos versions to available keyword

* enable position-dependent code generation

* add logs that calls for skadnetwork register and update methods were made

* switch no_pie to no for example obj-c app

* add log info about skadnetwork conversion value

* clean log messages a bit

* fix typo

* add cost data to attribution data and callback

* change version number to 4.24.0

* remove file i/o operations for tvos apps

* fix usage of API for file reading

* fix attribution equality comparison on costAmount member

* remove not needed comments

* revert addition of legacy keychain support

* update project settings

* update project schemes

* update changelog

* update changelog

* fix changelog typo

* Update README.md

Changing path to Korean - /doc/korean/web_views.md

* Update README.md

* Update README.md

* Add AdServices attribution token

* Use error pointer

* Send as a separate sdk_click package

* clean log messages a bit

* Check Ad Services on new session

* Check error and retry

* Send error code

* Add feature toogle

* update example apps

* Extract att details into own sdk_info fields

* add warning log to inform when AdServices reading is switched off

* hook AdServices feature with test server

* update places for AdService info checks & unify method naming with iAd

* rename AdServices related internal methods

* Change to YES

* Create method to retrieve current status

* Create web bridge

* Document status returns

* switch to int type for tracking status

* add authorisation request Info.plist entry to Obj-C example app

* fix web brdige to expect authorization status as integer

* fix broken JavaScript alert method inside of the WKWebView

* rename web bridge att status methods

* update authorisation status getter README chapter

* add synchronisation and distinction between static and instance att_status getter

* Initial tps and mc functionality

* Change third party sharing init

* Add Third party sharing file to projects

* Add command executor

* Add tps and mc web bridge

* Save pre launch mc and tps

* Cache and remove mc tps every time

* rename buildMeasurementConsent: to buildMeasurementConsentPackage:

* fix measurement_consent activity kind in package builder

* add ADJThirdPartySharing files to root Adjust folder

* rename CNIL boolean to isEnabled

* fix trackMeasurementConsent hooking in web bridge

* fix call to trackThirdPartySharing method in web bridge command executor

* version update to 4.25.0

* update CHANGELOG

* add ADJThirdPartySharing.h to list of public headers

* Add missing header file

* update version number to 4.25.1

* update CHANGELOG

* Update README.md

* add missing attribution cost data members to README

* Send as sdk_click

* Revert sdk_info implementation

* Revert method order

* Set ad services package as tracked

* Return token

* Refresh token logic

* clean up code style

* send apple_ads package with sdk_click handler

* add cleaning of missing user defaults keys

* Set as tracked after response

* Rename public constant

* Change condition to OR

* add facebook_audience_network ad revenue source

* Add logging

* Change created_at on new token

* Update version number to 4.25.2

* update CHANGELOG

* fix nullability warnings

* add updateSkAdNetworkConversionValue: method to Adjust API

* rename to updateConversionValue:

* fix updateSkAdNetworkConversionValue: method signature in ADJUtil.m

* add Adjust.updateConversionValue method to web bridge

* update version number to 4.26.0

* update CHANGELOG

* update README

* Update readme.md

* update README

* Change init

* Change version to 4.26.1

* fix subscription callback/partner parameters source

* remove duplicated check

* add tearing down of install session backoff strategy

* update README

* update version number to 4.26.1

* update CHANGELOG

* Update readme.md

Updated the consent measurement text.

* Use literals in third-party sharing README

Co-authored-by: Uglješa Erceg <[email protected]>
Co-authored-by: Marcella Coombs <[email protected]>
Co-authored-by: Huiyan <[email protected]>
Co-authored-by: rabc <[email protected]>
Co-authored-by: nonelse <[email protected]>
Co-authored-by: Anthony McGee <[email protected]>
Co-authored-by: mstfy <[email protected]>
Co-authored-by: Alexander von Below <[email protected]>
Co-authored-by: cafedeichi <[email protected]>
Co-authored-by: Daniel de Medina Satriano <[email protected]>
Co-authored-by: Tomoko Goto <[email protected]>
Co-authored-by: nadinehattom <[email protected]>
  • Loading branch information
13 people committed Feb 18, 2021
1 parent 5b907b9 commit 5f1504f
Show file tree
Hide file tree
Showing 81 changed files with 1,924 additions and 412 deletions.
2 changes: 0 additions & 2 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,6 @@ jobs:
mv AdjustSdkIm.xcscheme Adjust.xcodeproj/xcshareddata/xcschemes
carthage build --no-skip-current
mkdir AdjustSdkImDynamic
mv Carthage/Build/iOS/* AdjustSdkImDynamic
zip -ry AdjustSdkIm.framework.zip AdjustSdkImDynamic/*
Expand Down Expand Up @@ -143,7 +142,6 @@ jobs:
uses: actions/download-artifact@v2
with:
path: frameworks

- name: Upload static framework
uses: actions/upload-release-asset@v1
env:
Expand Down
4 changes: 2 additions & 2 deletions Adjust.podspec
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
Pod::Spec.new do |s|
s.name = "Adjust"
s.version = "4.23.2"
s.version = "4.26.1"
s.summary = "This is the iOS SDK of adjust. You can read more about it at http://adjust.com."
s.homepage = "https://github.com/adjust/ios_sdk"
s.license = { :type => 'MIT', :file => 'MIT-LICENSE' }
s.author = { "Christian Wellenbrock" => "[email protected]" }
s.source = { :git => "https://github.com/adjust/ios_sdk.git", :tag => "v4.23.2" }
s.source = { :git => "https://github.com/adjust/ios_sdk.git", :tag => "v4.26.1" }
s.ios.deployment_target = '6.0'
s.tvos.deployment_target = '9.0'
s.framework = 'SystemConfiguration'
Expand Down
64 changes: 55 additions & 9 deletions Adjust.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion Adjust.xcodeproj/xcshareddata/xcschemes/AdjustSdk.xcscheme
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1150"
LastUpgradeVersion = "1240"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1150"
LastUpgradeVersion = "1240"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1150"
LastUpgradeVersion = "1240"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1150"
LastUpgradeVersion = "1240"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
Expand Down
113 changes: 61 additions & 52 deletions Adjust/ADJActivityHandler.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
#import "ADJActivityState.h"
#import "ADJDeviceInfo.h"
#import "ADJSessionParameters.h"
#import "ADJThirdPartySharing.h"

@interface ADJInternalState : NSObject

Expand All @@ -22,8 +23,6 @@
@property (nonatomic, assign) BOOL firstLaunch;
@property (nonatomic, assign) BOOL sessionResponseProcessed;

- (id)init;

- (BOOL)isEnabled;
- (BOOL)isDisabled;
- (BOOL)isOffline;
Expand All @@ -40,102 +39,111 @@

@interface ADJSavedPreLaunch : NSObject

@property (nonatomic, strong) NSMutableArray *preLaunchActionsArray;
@property (nonatomic, copy) NSData *deviceTokenData;
@property (nonatomic, copy) NSNumber *enabled;
@property (nonatomic, strong) NSMutableArray * _Nullable preLaunchActionsArray;
@property (nonatomic, copy) NSData *_Nullable deviceTokenData;
@property (nonatomic, copy) NSNumber *_Nullable enabled;
@property (nonatomic, assign) BOOL offline;
@property (nonatomic, copy) NSString *extraPath;
@property (nonatomic, copy) NSString *_Nullable extraPath;
@property (nonatomic, strong) NSMutableArray *_Nullable preLaunchAdjustThirdPartySharingArray;
@property (nonatomic, copy) NSNumber *_Nullable lastMeasurementConsentTracked;

- (id)init;
- (nonnull id)init;

@end

@class ADJTrackingStatusManager;

@protocol ADJActivityHandler <NSObject>

@property (nonatomic, copy) ADJAttribution *attribution;
@property (nonatomic, strong) ADJTrackingStatusManager *trackingStatusManager;
@property (nonatomic, copy) ADJAttribution * _Nullable attribution;
@property (nonatomic, strong) ADJTrackingStatusManager * _Nullable trackingStatusManager;

- (NSString *)adid;
- (NSString *_Nullable)adid;

- (id)initWithConfig:(ADJConfig *)adjustConfig
savedPreLaunch:(ADJSavedPreLaunch *)savedPreLaunch;
- (id _Nullable)initWithConfig:(ADJConfig *_Nullable)adjustConfig
savedPreLaunch:(ADJSavedPreLaunch * _Nullable)savedPreLaunch;

- (void)applicationDidBecomeActive;
- (void)applicationWillResignActive;

- (void)trackEvent:(ADJEvent *)event;
- (void)trackEvent:(ADJEvent * _Nullable)event;

- (void)finishedTracking:(ADJResponseData *)responseData;
- (void)launchEventResponseTasks:(ADJEventResponseData *)eventResponseData;
- (void)launchSessionResponseTasks:(ADJSessionResponseData *)sessionResponseData;
- (void)launchSdkClickResponseTasks:(ADJSdkClickResponseData *)sdkClickResponseData;
- (void)launchAttributionResponseTasks:(ADJAttributionResponseData *)attributionResponseData;
- (void)finishedTracking:(ADJResponseData * _Nullable)responseData;
- (void)launchEventResponseTasks:(ADJEventResponseData * _Nullable)eventResponseData;
- (void)launchSessionResponseTasks:(ADJSessionResponseData * _Nullable)sessionResponseData;
- (void)launchSdkClickResponseTasks:(ADJSdkClickResponseData * _Nullable)sdkClickResponseData;
- (void)launchAttributionResponseTasks:(ADJAttributionResponseData * _Nullable)attributionResponseData;
- (void)setEnabled:(BOOL)enabled;
- (BOOL)isEnabled;
- (BOOL)isGdprForgotten;

- (void)appWillOpenUrl:(NSURL*)url withClickTime:(NSDate *)clickTime;
- (void)setDeviceToken:(NSData *)deviceToken;
- (void)setPushToken:(NSString *)deviceToken;
- (void)appWillOpenUrl:(NSURL * _Nullable)url
withClickTime:(NSDate * _Nullable)clickTime;
- (void)setDeviceToken:(NSData * _Nullable)deviceToken;
- (void)setPushToken:(NSString * _Nullable)deviceToken;
- (void)setGdprForgetMe;
- (void)setTrackingStateOptedOut;
- (void)setAskingAttribution:(BOOL)askingAttribution;

- (BOOL)updateAttributionI:(id<ADJActivityHandler>)selfI attribution:(ADJAttribution *)attribution;
- (void)setAttributionDetails:(NSDictionary *)attributionDetails
error:(NSError *)error;
- (BOOL)updateAttributionI:(id<ADJActivityHandler> _Nullable)selfI
attribution:(ADJAttribution * _Nullable)attribution;
- (void)setAttributionDetails:(NSDictionary * _Nullable)attributionDetails
error:(NSError * _Nullable)error;
- (void)setAdServicesAttributionToken:(NSString * _Nullable)token
error:(NSError * _Nullable)error;

- (void)setOfflineMode:(BOOL)offline;
- (void)sendFirstPackages;

- (void)addSessionCallbackParameter:(NSString *)key
value:(NSString *)value;
- (void)addSessionPartnerParameter:(NSString *)key
value:(NSString *)value;
- (void)removeSessionCallbackParameter:(NSString *)key;
- (void)removeSessionPartnerParameter:(NSString *)key;
- (void)addSessionCallbackParameter:(NSString * _Nullable)key
value:(NSString * _Nullable)value;
- (void)addSessionPartnerParameter:(NSString * _Nullable)key
value:(NSString * _Nullable)value;
- (void)removeSessionCallbackParameter:(NSString * _Nullable)key;
- (void)removeSessionPartnerParameter:(NSString * _Nullable)key;
- (void)resetSessionCallbackParameters;
- (void)resetSessionPartnerParameters;
- (void)trackAdRevenue:(NSString *)soruce payload:(NSData *)payload;
- (void)trackAdRevenue:(NSString * _Nullable)soruce
payload:(NSData * _Nullable)payload;
- (void)disableThirdPartySharing;
- (void)trackSubscription:(ADJSubscription *)subscription;
- (void)trackThirdPartySharing:(nonnull ADJThirdPartySharing *)thirdPartySharing;
- (void)trackMeasurementConsent:(BOOL)enabled;
- (void)trackSubscription:(ADJSubscription * _Nullable)subscription;
- (void)updateAttStatusFromUserCallback:(int)newAttStatusFromUser;

- (ADJDeviceInfo *)deviceInfo;
- (ADJActivityState *)activityState;
- (ADJConfig *)adjustConfig;
- (ADJSessionParameters *)sessionParameters;
- (ADJDeviceInfo * _Nullable)deviceInfo;
- (ADJActivityState * _Nullable)activityState;
- (ADJConfig * _Nullable)adjustConfig;
- (ADJSessionParameters * _Nullable)sessionParameters;

- (void)teardown;
+ (void)deleteState;
@end

@interface ADJActivityHandler : NSObject <ADJActivityHandler>

- (id)initWithConfig:(ADJConfig *)adjustConfig
savedPreLaunch:(ADJSavedPreLaunch *)savedPreLaunch;
- (id _Nullable)initWithConfig:(ADJConfig * _Nullable)adjustConfig
savedPreLaunch:(ADJSavedPreLaunch * _Nullable)savedPreLaunch;

- (void)addSessionCallbackParameterI:(ADJActivityHandler *)selfI
key:(NSString *)key
value:(NSString *)value;
- (void)addSessionCallbackParameterI:(ADJActivityHandler * _Nullable)selfI
key:(NSString * _Nullable)key
value:(NSString * _Nullable)value;

- (void)addSessionPartnerParameterI:(ADJActivityHandler *)selfI
key:(NSString *)key
value:(NSString *)value;
- (void)removeSessionCallbackParameterI:(ADJActivityHandler *)selfI
key:(NSString *)key;
- (void)removeSessionPartnerParameterI:(ADJActivityHandler *)selfI
key:(NSString *)key;
- (void)resetSessionCallbackParametersI:(ADJActivityHandler *)selfI;
- (void)resetSessionPartnerParametersI:(ADJActivityHandler *)selfI;
- (void)addSessionPartnerParameterI:(ADJActivityHandler * _Nullable)selfI
key:(NSString * _Nullable)key
value:(NSString * _Nullable)value;
- (void)removeSessionCallbackParameterI:(ADJActivityHandler * _Nullable)selfI
key:(NSString * _Nullable)key;
- (void)removeSessionPartnerParameterI:(ADJActivityHandler * _Nullable)selfI
key:(NSString * _Nullable)key;
- (void)resetSessionCallbackParametersI:(ADJActivityHandler * _Nullable)selfI;
- (void)resetSessionPartnerParametersI:(ADJActivityHandler * _Nullable)selfI;

@end

@interface ADJTrackingStatusManager : NSObject

- (instancetype)initWithActivityHandler:(ADJActivityHandler *)activityHandler;
- (instancetype _Nullable)initWithActivityHandler:(ADJActivityHandler * _Nullable)activityHandler;

- (void)checkForNewAttStatus;
- (void)updateAttStatusFromUserCallback:(int)newAttStatusFromUser;
Expand All @@ -147,4 +155,5 @@

@end

extern NSString * const ADJiAdPackageKey;
extern NSString * _Nullable const ADJiAdPackageKey;
extern NSString * _Nullable const ADJAdServicesPackageKey;
Loading

0 comments on commit 5f1504f

Please sign in to comment.