Webengage SDK for iOS does not provide any custom APIs/callbacks for APN callbacks. Your App can implement standard iOS App Delegate Methods and all the WebEngage PushNotifications will be delivered to the same callbacks for any custom processing.
See UIApplicationDelegate reference for more details.
Please note that the iOS SDK does not require APIs to pass the
device registration token(similar to Webengage.setRegistrationId in Android)or
APN message(similar to Webengage.receive in Android). The iOS SDK handles those automagically by intercepting standard callbacks for the purpose.
Out of the Box, Webengage SDK only supports URL based deep linking, meaning the app can enter any valid URI into the
External URL section while creating the Push Notification on the dashboard. It can be any http/https link or a valid custom URI like myapp://detailpage/1234
To handle custom deep links for more advanced use cases, the app can implement following method in its AppDelegate:
-(void)WEGHandleDeeplink:(NSString*) deeplink userData:(NSDictionary*)data;
func WEGHandleDeeplink(_ deeplink: String, userData data: Dictionary<String, Any>)
If this method is implemented in AppDelegate, WebEngage will not handle any deep links(including external links) and call this method instead, the method will receive the deep link string provided on Dashboard as well as the whole Push Notification payload along with any custom data sent via dashboard. The App can develop there own logic of handling deep links from there.
As of now, the iOS SDK does not provide any engagement callbacks for interacting with Push Notification(view, click, close etc) similar to Android. However, we may provide them in future versions and the documentation shall be updated accordingly.