warning:
AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
Handling clicks manually
You can manually handle Content Card clicks by implementing the ABKContentCardsTableViewControllerDelegate
protocol and setting your delegate object as the delegate
property of the ABKContentCardsTableViewController
. Refer to the Content Cards sample app for an example.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
contentCardsTableViewController.delegate = delegate;
// Methods to implement in delegate
- (BOOL)contentCardTableViewController:(ABKContentCardsTableViewController *)viewController
shouldHandleCardClick:(NSURL *)url {
if ([[url.host lowercaseString] isEqualToString:@"my-domain.com"]) {
// Custom handle link here
NSLog(@"Manually handling Content Card click with URL %@", url.absoluteString);
return NO;
}
// Let the Braze SDK handle the click action
return YES;
}
- (void)contentCardTableViewController:(ABKContentCardsTableViewController *)viewController
didHandleCardClick:(NSURL *)url {
NSLog(@"Braze SDK handled Content Card click with URL %@", url.absoluteString);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
contentCardsTableViewController.delegate = delegate
// Methods to implement in delegate
func contentCardTableViewController(_ viewController: ABKContentCardsTableViewController!,
shouldHandleCardClick url: URL!) -> Bool {
if (url.host?.lowercased() == "my-domain.com") {
// Custom handle link here
NSLog("Manually handling Content Card click with URL %@", url.absoluteString)
return false
}
// Let the Braze SDK handle the click action
return true
}
func contentCardTableViewController(_ viewController: ABKContentCardsTableViewController!,
didHandleCardClick url: URL!) {
NSLog("Braze SDK handled Content Card click with URL %@", url.absoluteString)
}
important:
If you override the handleCardClick:
method in ABKContentCardsTableViewController
, these delegate methods might not be called.
New Stuff!