Commit 46de2356 by Demid Merzlyakov

IOS-242: the WIDGET_PROMO_BOTTOM_SCROLLED event is fired right away.

parent 699a1ed0
......@@ -62,7 +62,7 @@ class WidgetPromotionController: UIViewController {
super.viewDidAppear(animated)
if scrollView.frame.height > scrollView.contentSize.height {
AppAnalytics.shared.log(event: .ANALYTICS_WIDGET_BOTTOM_SCROLLED)
AppAnalytics.shared.log(event: .ANALYTICS_WIDGET_PROMO_BOTTOM_SCROLLED)
}
}
......@@ -134,6 +134,8 @@ class WidgetPromotionController: UIViewController {
footerView.layer.shadowColor = UIColor(hex: 0xAAAAAA).cgColor
}
}
var scrollViewObserver: NSKeyValueObservation?
}
//MARK:- Prepare
......@@ -181,8 +183,18 @@ private extension WidgetPromotionController {
}
}
func prepareScrollView() {
scrollView.delegate = self
scrollViewObserver = scrollView.observe(\UIScrollView.contentOffset, options: .new) { [weak self] scrollView, valueChange in
guard let self = self else { return }
guard self.scrollView.contentSize.height > 10 && self.scrollView.frame.size.height > 10 else {
return
}
if self.scrollView.contentOffset.y >= self.scrollView.contentSize.height - self.scrollView.frame.height - 1 {
AppAnalytics.shared.log(event: .ANALYTICS_WIDGET_PROMO_BOTTOM_SCROLLED)
self.scrollViewObserver = nil
}
}
view.addSubview(scrollView)
scrollView.snp.makeConstraints { make in
make.left.right.equalToSuperview()
......@@ -254,17 +266,6 @@ extension WidgetPromotionController: UIViewControllerTransitioningDelegate {
}
}
//MARK:- UIScrollView Delegate
@available(iOS 14, *)
extension WidgetPromotionController: UIScrollViewDelegate {
func scrollViewDidScroll(_ scrollView: UIScrollView) {
if scrollView.contentOffset.y == scrollView.contentSize.height - scrollView.frame.height {
AppAnalytics.shared.log(event: .ANALYTICS_WIDGET_BOTTOM_SCROLLED)
}
}
}
//MARK:- UIGesture Delegate
@available(iOS 14, *)
extension WidgetPromotionController: UIGestureRecognizerDelegate {
......
......@@ -92,7 +92,7 @@ public enum AnalyticsEvent: String {
case ANALYTICS_WIDGET_PROMO_SEEN = "WIDGET_PROMO_SEEN"
case ANALYTICS_WIDGET_PROMO_DISMISS = "WIDGET_PROMO_DISMISS"
case ANALYTICS_WIDGET_PROMO_EXPAND = "WIDGET_PROMO_EXPAND"
case ANALYTICS_WIDGET_BOTTOM_SCROLLED = "WIDGET_PROMO_BOTTOM_SCROLLED"
case ANALYTICS_WIDGET_PROMO_BOTTOM_SCROLLED = "WIDGET_PROMO_BOTTOM_SCROLLED"
case ANALYTICS_WIDGET_PROMO_LEARN_CTA = "WIDGET_PROMO_LEARN_CTA"
///Widget actions
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment