Skip to content

Commit

Permalink
Merge pull request #163 from tenjin/release-1.14.1
Browse files Browse the repository at this point in the history
Release 1.14.1
  • Loading branch information
giraldogdiego authored Mar 12, 2024
2 parents 05a47b4 + 7afcc86 commit 5ad827a
Show file tree
Hide file tree
Showing 18 changed files with 71 additions and 31 deletions.
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -506,6 +506,12 @@ If you want to override your CMP, or simply want to build your own consent mecha
```objectivec
[[TeninSDK sharedInstance] setGoogleDMAParametersWithAdPersonalization:adPersonalization adUserData:adUserData];
```
To explicitly manage the collection of Google DMA parameters, you have the flexibility to opt in or opt out at any time. While the default setting is to opt in, you can easily adjust your preferences using the optInGoogleDMA or optOutGoogleDMA methods, ensuring full control over your data privacy settings:

```objectivec
[TeninSDK optInGoogleDMA];
[TeninSDK optOutGoogleDMA];
```

# <a id="retry-cache"></a>Retry/cache of events/IAP
You can enable/disable retrying and caching events and IAP when requests fail or users don't have internet connection. These events will be sent after a new event has been added to the queue and user has recovered connection.
Expand Down
4 changes: 4 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -328,3 +328,7 @@ v1.14.0
----
- Capture and send Google DMA parameters `ad_personalization` and `ad_user_data`
- Add `deferred_deeplink_url` and `click_id` to `getAttributionInfo` method

v1.14.1
----
- Add opt out (`optOutGoogleDMA`) and opt in (`optInGoogleDMA`) methods for Google DMA
8 changes: 7 additions & 1 deletion TenjinSDK.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
//
// Created by Tenjin on 2016-05-20.
// Version 1.14.0
// Version 1.14.1

// Copyright (c) 2016 Tenjin. All rights reserved.
//
Expand Down Expand Up @@ -145,6 +145,12 @@ andDeferredDeeplink:(NSURL *)url
// GDPR opt-in/opt-out through CMP consents
+ (bool)optInOutUsingCMP;

// Opt out from Google DMA parameters (opted in by default)
+ (void)optOutGoogleDMA;

// Opt out from Google DMA parameters
+ (void)optInGoogleDMA;

// Appends app subversion to app version
+ (void)appendAppSubversion:(NSNumber *)subversion;

Expand Down
2 changes: 1 addition & 1 deletion TenjinSDK.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "TenjinSDK"
s.version = "1.14.0"
s.version = "1.14.1"
s.summary = "TenjinSDK"
s.description = <<-DESC
Tenjin is a unique growth infrastructure platform that helps you streamline your mobile marketing.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,7 @@ SWIFT_CLASS("_TtC9TenjinSDK10GDPRHelper")
- (BOOL)optIn SWIFT_WARN_UNUSED_RESULT;
- (enum PurposeConsentStatus)getGoogleAdPersonalization SWIFT_WARN_UNUSED_RESULT;
- (enum PurposeConsentStatus)getGoogleAdUserData SWIFT_WARN_UNUSED_RESULT;
- (BOOL)isGoogleDMADisabled SWIFT_WARN_UNUSED_RESULT;
@end


Expand Down Expand Up @@ -546,6 +547,7 @@ SWIFT_CLASS("_TtC9TenjinSDK10GDPRHelper")
- (BOOL)optIn SWIFT_WARN_UNUSED_RESULT;
- (enum PurposeConsentStatus)getGoogleAdPersonalization SWIFT_WARN_UNUSED_RESULT;
- (enum PurposeConsentStatus)getGoogleAdUserData SWIFT_WARN_UNUSED_RESULT;
- (BOOL)isGoogleDMADisabled SWIFT_WARN_UNUSED_RESULT;
@end


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,12 @@ andDeferredDeeplink:(NSURL *)url
// GDPR opt-in/opt-out through CMP consents
+ (bool)optInOutUsingCMP;

// Opt out from Google DMA parameters (opted in by default)
+ (void)optOutGoogleDMA;

// Opt out from Google DMA parameters
+ (void)optInGoogleDMA;

// Appends app subversion to app version
+ (void)appendAppSubversion:(NSNumber *)subversion;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ import _Concurrency
@objc public func optIn() -> Swift.Bool
@objc public func getGoogleAdPersonalization() -> PurposeConsentStatus
@objc public func getGoogleAdUserData() -> PurposeConsentStatus
@objc public func isGoogleDMADisabled() -> Swift.Bool
@objc deinit
}
@_hasMissingDesignatedInitializers @objc public class RequestHelper : ObjectiveC.NSObject {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ import _Concurrency
@objc public func optIn() -> Swift.Bool
@objc public func getGoogleAdPersonalization() -> PurposeConsentStatus
@objc public func getGoogleAdUserData() -> PurposeConsentStatus
@objc public func isGoogleDMADisabled() -> Swift.Bool
@objc deinit
}
@_hasMissingDesignatedInitializers @objc public class RequestHelper : ObjectiveC.NSObject {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
#define kTenjinConversionEndpoint @"conversion-values"

//this line replaced by build script
#define kTenjinTenjinSDKVersion @"1.14.0"
#define kTenjinTenjinSDKVersion @"1.14.1"


#define kTenjinPlatformIos @"ios"
Expand Down Expand Up @@ -56,6 +56,7 @@
#define kTenjinIABTCF @"iab_tcf"
#define kTenjinGoogleAdPersonalizationKey @"TENJIN_GOOGLE_AD_PERSONALIZATION"
#define kTenjinGoogleAdUserDataKey @"TENJIN_GOOGLE_AD_USER_DATA"
#define kTenjinGoogleDMADisabled @"TENJIN_GOOGLE_DMA_DISABLED"

//one hour in seconds
#define kTenjinMaxWait 3600
Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,7 @@ SWIFT_CLASS("_TtC9TenjinSDK10GDPRHelper")
- (BOOL)optIn SWIFT_WARN_UNUSED_RESULT;
- (enum PurposeConsentStatus)getGoogleAdPersonalization SWIFT_WARN_UNUSED_RESULT;
- (enum PurposeConsentStatus)getGoogleAdUserData SWIFT_WARN_UNUSED_RESULT;
- (BOOL)isGoogleDMADisabled SWIFT_WARN_UNUSED_RESULT;
@end


Expand Down Expand Up @@ -546,6 +547,7 @@ SWIFT_CLASS("_TtC9TenjinSDK10GDPRHelper")
- (BOOL)optIn SWIFT_WARN_UNUSED_RESULT;
- (enum PurposeConsentStatus)getGoogleAdPersonalization SWIFT_WARN_UNUSED_RESULT;
- (enum PurposeConsentStatus)getGoogleAdUserData SWIFT_WARN_UNUSED_RESULT;
- (BOOL)isGoogleDMADisabled SWIFT_WARN_UNUSED_RESULT;
@end


Expand Down Expand Up @@ -864,6 +866,7 @@ SWIFT_CLASS("_TtC9TenjinSDK10GDPRHelper")
- (BOOL)optIn SWIFT_WARN_UNUSED_RESULT;
- (enum PurposeConsentStatus)getGoogleAdPersonalization SWIFT_WARN_UNUSED_RESULT;
- (enum PurposeConsentStatus)getGoogleAdUserData SWIFT_WARN_UNUSED_RESULT;
- (BOOL)isGoogleDMADisabled SWIFT_WARN_UNUSED_RESULT;
@end


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,12 @@ andDeferredDeeplink:(NSURL *)url
// GDPR opt-in/opt-out through CMP consents
+ (bool)optInOutUsingCMP;

// Opt out from Google DMA parameters (opted in by default)
+ (void)optOutGoogleDMA;

// Opt out from Google DMA parameters
+ (void)optInGoogleDMA;

// Appends app subversion to app version
+ (void)appendAppSubversion:(NSNumber *)subversion;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ import _Concurrency
@objc public func optIn() -> Swift.Bool
@objc public func getGoogleAdPersonalization() -> PurposeConsentStatus
@objc public func getGoogleAdUserData() -> PurposeConsentStatus
@objc public func isGoogleDMADisabled() -> Swift.Bool
@objc deinit
}
@_hasMissingDesignatedInitializers @objc public class RequestHelper : ObjectiveC.NSObject {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ import _Concurrency
@objc public func optIn() -> Swift.Bool
@objc public func getGoogleAdPersonalization() -> PurposeConsentStatus
@objc public func getGoogleAdUserData() -> PurposeConsentStatus
@objc public func isGoogleDMADisabled() -> Swift.Bool
@objc deinit
}
@_hasMissingDesignatedInitializers @objc public class RequestHelper : ObjectiveC.NSObject {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ import _Concurrency
@objc public func optIn() -> Swift.Bool
@objc public func getGoogleAdPersonalization() -> PurposeConsentStatus
@objc public func getGoogleAdUserData() -> PurposeConsentStatus
@objc public func isGoogleDMADisabled() -> Swift.Bool
@objc deinit
}
@_hasMissingDesignatedInitializers @objc public class RequestHelper : ObjectiveC.NSObject {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
#define kTenjinConversionEndpoint @"conversion-values"

//this line replaced by build script
#define kTenjinTenjinSDKVersion @"1.14.0"
#define kTenjinTenjinSDKVersion @"1.14.1"


#define kTenjinPlatformIos @"ios"
Expand Down Expand Up @@ -56,6 +56,7 @@
#define kTenjinIABTCF @"iab_tcf"
#define kTenjinGoogleAdPersonalizationKey @"TENJIN_GOOGLE_AD_PERSONALIZATION"
#define kTenjinGoogleAdUserDataKey @"TENJIN_GOOGLE_AD_USER_DATA"
#define kTenjinGoogleDMADisabled @"TENJIN_GOOGLE_DMA_DISABLED"

//one hour in seconds
#define kTenjinMaxWait 3600
Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,11 @@
</data>
<key>Headers/TenjinSDK-Swift.h</key>
<data>
YrAmXjJlEG85w3fHHaUBjk67kX4=
mHru7a1GWUku5uunS31wfiZ9o2E=
</data>
<key>Headers/TenjinSDK.h</key>
<data>
Lg8UmLv6LlAOe4mxXore2CqIP2w=
zAIRKoiTPRF2vym+QHsNcrHfaI8=
</data>
<key>Info.plist</key>
<data>
Expand All @@ -50,35 +50,35 @@
</data>
<key>Modules/TenjinSDK.swiftmodule/arm64-apple-ios-simulator.swiftinterface</key>
<data>
+e68yidvhDDtVul3z1S1wSoDl74=
yWzSH/cfBp7cgA7lMJmn/xwEH+I=
</data>
<key>Modules/TenjinSDK.swiftmodule/arm64-apple-ios-simulator.swiftmodule</key>
<data>
A79bGYjxNpnNicGy5NRRvAF+6/4=
v8d4H3xdqylJR8NH+2t53a+gNfM=
</data>
<key>Modules/TenjinSDK.swiftmodule/i386-apple-ios-simulator.swiftdoc</key>
<data>
GzMjMZygjR0UbEu/HkeF5lw3Pes=
</data>
<key>Modules/TenjinSDK.swiftmodule/i386-apple-ios-simulator.swiftinterface</key>
<data>
fGSosyr1siKQtA5zCfZD/ZNpU9c=
2UIY+5CMk7X1VofoRXO4RDr0uPQ=
</data>
<key>Modules/TenjinSDK.swiftmodule/i386-apple-ios-simulator.swiftmodule</key>
<data>
Txi0basH7SeiCCrULtN8Ky05QU4=
O9Aklh6/GrRNfhRwPchHDcf5vZI=
</data>
<key>Modules/TenjinSDK.swiftmodule/x86_64-apple-ios-simulator.swiftdoc</key>
<data>
Pp3vroIoFRcECIGmMXRv55Yfs80=
</data>
<key>Modules/TenjinSDK.swiftmodule/x86_64-apple-ios-simulator.swiftinterface</key>
<data>
5k+uCbjfKuwGgBPiQ/cN+h6ucc4=
J3idyn/nq7IhJikXjf8oWGZyYOU=
</data>
<key>Modules/TenjinSDK.swiftmodule/x86_64-apple-ios-simulator.swiftmodule</key>
<data>
DSwNsGbQ8puov/zS11UqeSuUCZ8=
II3MfS4S0DRdE1ds23kGtjoq3pE=
</data>
<key>Modules/module.modulemap</key>
<data>
Expand Down Expand Up @@ -106,7 +106,7 @@
</data>
<key>PrivateHeaders/TenjinConst.h</key>
<data>
SmlVYyYLYCzarFAxGg+eeSqg9oY=
ofeRucjrU6kWCz+CiR4P9O91r9o=
</data>
<key>PrivateHeaders/TenjinUtil.h</key>
<data>
Expand Down Expand Up @@ -204,22 +204,22 @@
<dict>
<key>hash</key>
<data>
YrAmXjJlEG85w3fHHaUBjk67kX4=
mHru7a1GWUku5uunS31wfiZ9o2E=
</data>
<key>hash2</key>
<data>
8oCtIz/6+VCFi4IIYzk+oPe+9WH7SnCA6EncL8umroA=
6pesv1RrOkiEI6RSoH2ENiEGNxnx5XRxJ3UpKjaSlPs=
</data>
</dict>
<key>Headers/TenjinSDK.h</key>
<dict>
<key>hash</key>
<data>
Lg8UmLv6LlAOe4mxXore2CqIP2w=
zAIRKoiTPRF2vym+QHsNcrHfaI8=
</data>
<key>hash2</key>
<data>
gc8EenSc3ymapShIGeLlJhp4xx1Xze44or0MSBZvjCY=
HSBLARdap9XC7O2Hp5l1Mi3PQ+KMFy3CeY9xSD8BSGc=
</data>
</dict>
<key>Modules/TenjinSDK.swiftmodule/arm64-apple-ios-simulator.swiftdoc</key>
Expand All @@ -237,22 +237,22 @@
<dict>
<key>hash</key>
<data>
+e68yidvhDDtVul3z1S1wSoDl74=
yWzSH/cfBp7cgA7lMJmn/xwEH+I=
</data>
<key>hash2</key>
<data>
njbB8yB3LTpRbtpzZ01BFbrqRcfFsWq2rDm/PqNlyvE=
PFQQ+Qz0wExpT9PCBdUApI0NoolSYEtfNJ8qaAqrErw=
</data>
</dict>
<key>Modules/TenjinSDK.swiftmodule/arm64-apple-ios-simulator.swiftmodule</key>
<dict>
<key>hash</key>
<data>
A79bGYjxNpnNicGy5NRRvAF+6/4=
v8d4H3xdqylJR8NH+2t53a+gNfM=
</data>
<key>hash2</key>
<data>
kXvK17epvfAVOBjsMyTj8VedFHYRUub9k1KCDxc8vyc=
gV1CCoLyBdJQNP/uQhXd6xeWWha3rWBtZGZJNgmbZz4=
</data>
</dict>
<key>Modules/TenjinSDK.swiftmodule/i386-apple-ios-simulator.swiftdoc</key>
Expand All @@ -270,22 +270,22 @@
<dict>
<key>hash</key>
<data>
fGSosyr1siKQtA5zCfZD/ZNpU9c=
2UIY+5CMk7X1VofoRXO4RDr0uPQ=
</data>
<key>hash2</key>
<data>
0YqBCz4tXZ4QUiPJqlyPcv1upVnaheUfVP+ITadPvZE=
rMRgEOo6Cqs6/VvkFuaeYdXVE3s8r+NLePJQcsfdM6Q=
</data>
</dict>
<key>Modules/TenjinSDK.swiftmodule/i386-apple-ios-simulator.swiftmodule</key>
<dict>
<key>hash</key>
<data>
Txi0basH7SeiCCrULtN8Ky05QU4=
O9Aklh6/GrRNfhRwPchHDcf5vZI=
</data>
<key>hash2</key>
<data>
WFQjGzYNrE9k8HC6woS/8kIqZErCOhdWi/0mL3MW+E0=
LiJmBXd44W3dDs0abZHEOeAK8Ndpofmsex/dJFDJjkM=
</data>
</dict>
<key>Modules/TenjinSDK.swiftmodule/x86_64-apple-ios-simulator.swiftdoc</key>
Expand All @@ -303,22 +303,22 @@
<dict>
<key>hash</key>
<data>
5k+uCbjfKuwGgBPiQ/cN+h6ucc4=
J3idyn/nq7IhJikXjf8oWGZyYOU=
</data>
<key>hash2</key>
<data>
YjTj4sW4k4HQvL2/XkazUyQ7OXHfKM7nkoVbQZZHIHY=
1DpbqlgNTwsycExUDoym5PI9HYhPdFcJqo7AE9kJ1P0=
</data>
</dict>
<key>Modules/TenjinSDK.swiftmodule/x86_64-apple-ios-simulator.swiftmodule</key>
<dict>
<key>hash</key>
<data>
DSwNsGbQ8puov/zS11UqeSuUCZ8=
II3MfS4S0DRdE1ds23kGtjoq3pE=
</data>
<key>hash2</key>
<data>
35B58P/36N0NU+aCc3zAUoBLzgrWQDVCzbCpVQ62aPI=
57Atv8YIalGUfmDlvfPZkeABzoOnOgi/Rwg0IF8vzV4=
</data>
</dict>
<key>Modules/module.modulemap</key>
Expand Down Expand Up @@ -391,11 +391,11 @@
<dict>
<key>hash</key>
<data>
SmlVYyYLYCzarFAxGg+eeSqg9oY=
ofeRucjrU6kWCz+CiR4P9O91r9o=
</data>
<key>hash2</key>
<data>
YLgpgNe0UW445NiSkL7k1GVPfH8z+lgArx8/N44syMY=
zZyyBXf+sbu3j2hBuOqXuPh41WH+KiI3N1rXny8+xnY=
</data>
</dict>
<key>PrivateHeaders/TenjinUtil.h</key>
Expand Down

0 comments on commit 5ad827a

Please sign in to comment.