Skip to content

Commit e478e1e

Browse files
committed
feat: make LinkMe iOS 15.0+ feature
1 parent eac917b commit e478e1e

File tree

1 file changed

+49
-48
lines changed

1 file changed

+49
-48
lines changed

Adjust/ADJActivityHandler.m

Lines changed: 49 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -2165,55 +2165,56 @@ - (void)setTrackingStateOptedOutI:(ADJActivityHandler *)selfI {
21652165

21662166
- (void)checkLinkMeI:(ADJActivityHandler *)selfI {
21672167
#if TARGET_OS_IOS
2168-
if (selfI.adjustConfig.linkMeEnabled == NO) {
2169-
[self.logger debug:@"LinkMe not allowed by client"];
2170-
return;
2171-
}
2172-
if ([ADJUserDefaults getLinkMeChecked] == YES) {
2173-
[self.logger debug:@"LinkMe already checked"];
2174-
return;
2175-
}
2176-
if (selfI.internalState.isFirstLaunch == NO) {
2177-
[self.logger debug:@"LinkMe only valid for install"];
2178-
return;
2179-
}
2180-
if ([ADJUserDefaults getGdprForgetMe]) {
2181-
[self.logger debug:@"LinkMe not happening for GDPR forgotten user"];
2182-
return;
2183-
}
2184-
2185-
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
2186-
if ([pasteboard hasURLs] == NO) {
2187-
[self.logger debug:@"LinkMe general board not found"];
2188-
return;
2189-
}
2190-
2191-
// TODO: add exception for tvOs and watchOs
2192-
NSURL *pasteboardUrl = [pasteboard URL];
2193-
if (pasteboardUrl == nil) {
2194-
[self.logger debug:@"LinkMe content not found"];
2195-
return;
2196-
}
2197-
2198-
NSString *pasteboardUrlString = [pasteboardUrl absoluteString];
2199-
if (pasteboardUrlString == nil) {
2200-
[self.logger debug:@"LinkMe content could not be converted to string"];
2201-
return;
2168+
if (@available(iOS 15.0, *)) {
2169+
if (selfI.adjustConfig.linkMeEnabled == NO) {
2170+
[self.logger debug:@"LinkMe not allowed by client"];
2171+
return;
2172+
}
2173+
if ([ADJUserDefaults getLinkMeChecked] == YES) {
2174+
[self.logger debug:@"LinkMe already checked"];
2175+
return;
2176+
}
2177+
if (selfI.internalState.isFirstLaunch == NO) {
2178+
[self.logger debug:@"LinkMe only valid for install"];
2179+
return;
2180+
}
2181+
if ([ADJUserDefaults getGdprForgetMe]) {
2182+
[self.logger debug:@"LinkMe not happening for GDPR forgotten user"];
2183+
return;
2184+
}
2185+
2186+
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
2187+
if ([pasteboard hasURLs] == NO) {
2188+
[self.logger debug:@"LinkMe general board not found"];
2189+
return;
2190+
}
2191+
2192+
NSURL *pasteboardUrl = [pasteboard URL];
2193+
if (pasteboardUrl == nil) {
2194+
[self.logger debug:@"LinkMe content not found"];
2195+
return;
2196+
}
2197+
2198+
NSString *pasteboardUrlString = [pasteboardUrl absoluteString];
2199+
if (pasteboardUrlString == nil) {
2200+
[self.logger debug:@"LinkMe content could not be converted to string"];
2201+
return;
2202+
}
2203+
2204+
// send sdk_click
2205+
double now = [NSDate.date timeIntervalSince1970];
2206+
ADJPackageBuilder *clickBuilder = [[ADJPackageBuilder alloc] initWithPackageParams:selfI.packageParams
2207+
activityState:selfI.activityState
2208+
config:selfI.adjustConfig
2209+
sessionParameters:selfI.sessionParameters
2210+
trackingStatusManager:self.trackingStatusManager
2211+
createdAt:now];
2212+
clickBuilder.clickTime = [NSDate dateWithTimeIntervalSince1970:now];
2213+
ADJActivityPackage *clickPackage = [clickBuilder buildClickPackage:@"linkme" linkMeUrl:pasteboardUrlString];
2214+
[selfI.sdkClickHandler sendSdkClick:clickPackage];
2215+
2216+
[ADJUserDefaults setLinkMeChecked];
22022217
}
2203-
2204-
// send sdk_click
2205-
double now = [NSDate.date timeIntervalSince1970];
2206-
ADJPackageBuilder *clickBuilder = [[ADJPackageBuilder alloc] initWithPackageParams:selfI.packageParams
2207-
activityState:selfI.activityState
2208-
config:selfI.adjustConfig
2209-
sessionParameters:selfI.sessionParameters
2210-
trackingStatusManager:self.trackingStatusManager
2211-
createdAt:now];
2212-
clickBuilder.clickTime = [NSDate dateWithTimeIntervalSince1970:now];
2213-
ADJActivityPackage *clickPackage = [clickBuilder buildClickPackage:@"linkme" linkMeUrl:pasteboardUrlString];
2214-
[selfI.sdkClickHandler sendSdkClick:clickPackage];
2215-
2216-
[ADJUserDefaults setLinkMeChecked];
22172218
#endif
22182219
}
22192220

0 commit comments

Comments
 (0)