Вы можете определенно реализовать перенаправления вручную без branch.io.
Я бы предложил вам определить некоторые перечисления со всеми типами возможных перенаправлений.
Потому что вы можете иметь одинаковые перенаправления из разных источников (push-уведомления, универсальные ссылки).
Для использования PushNotifications вам необходимо получить правильные полезные данные из бэкэнда и проанализировать их на клиенте. Вы можете определить инициализаторы для разных источников.
Я могу порекомендовать вам взглянуть на реализацию Kickstarter для обработки перенаправлений . Никаких сторонних библиотек не требуется!
enum NavigationRoute {
case like(userID: Int)
case friendBirthday(friendId: Int)
// MARK: - Initializers
init?(notificationPayload: Any) {
//
}
init?(universalLinkContent: Any) {
//
}