@@ -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