We can handle push notifications in 2 ways:
enableAppDelegateSwizzling property of your SKTSettings object is set to
YES, then Sunshine Conversations will automatically handle any push notifications that originated from Sunshine Conversations before forwarding to your app delegate’s
If you set that property to
NO, then you will have to call
[Smooch handlePushNotification:userInfo] in your
didReceiveRemoteNotification callback. To check the origin, you use the following code:
BOOL isSmoochNotification = userInfo[SKTPushNotificationIdentifier] != nil
You can find official documentation about this in the Sunshine Conversations header files, or in our API docs:
http://docs.smooch.io/api/ios/Classes/SKTSettings.html#//api/name/enableAppDelegateSwizzling, http://docs.smooch.io/api/ios/Classes/Smooch.html#//api/name/setPushToken, http://docs.smooch.io/api/ios/Classes/Smooch.html#//api/name/handlePushNotification:
The iOS SDK provides a method to present Sunshine Conversations in a custom ViewController.
The delegate method
conversation:shouldHandleMessageAction: is called whenever a user taps an
SKTMessageAction. You can perform custom handling in this method, and return
false to cancel Smooch’s default handling of the tap. Read more about it in the iOS SDK Reference
It’s best to implement
SKTConversationDelegate in your code and track state of the conversation view controller this way. The two methods you’ll want to use are described in the following links:
Although we provide a powerful, fully capable UI - some applications require building something entirely bespoke. You can use our core iOS API to build your own UI on top of Sunshine Conversations.
Read more about this in our documentation.
Currently, we don’t provide support for switching between app IDs during the same application session. You can however switch users during the same session (by calling smooch.login with a different userId).
Library not loaded: @rpath/Frameworks/Sunshine Conversations.framework. How can I fix this ?
In your project build settings, make sure
Runtime Search Paths (LD_RUNPATH_SEARCH_PATHS) is set to