Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
1
1weather
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Dmitriy Stepanets
1weather
Commits
663de592
Commit
663de592
authored
Aug 16, 2021
by
Dmitry Stepanets
1
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added analytics events for onboarding
parent
eba71354
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
37 additions
and
7 deletions
+37
-7
1Weather/AppDelegate.swift
+10
-3
1Weather/UI/View controllers/Onboarding/InitialOnboarding/OnboardingPageController.swift
+27
-4
No files found.
1Weather/AppDelegate.swift
View file @
663de592
...
@@ -80,9 +80,16 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
...
@@ -80,9 +80,16 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
FirebaseApp
.
configure
()
FirebaseApp
.
configure
()
ConfigManager
.
shared
.
updateConfig
()
ConfigManager
.
shared
.
updateConfig
()
//App UI
#if DEBUG
let
appCoordinator
=
AppCoordinator
(
window
:
self
.
window
!
)
let
onboard
=
OnboardingPageController
(
coordinator
:
AppCoordinator
(
window
:
self
.
window
!
))
appCoordinator
.
start
()
window
?
.
rootViewController
=
onboard
window
?
.
makeKeyAndVisible
()
#else
fatalError
(
"Remove in release"
)
#endif
// //App UI
// let appCoordinator = AppCoordinator(window: self.window!)
// appCoordinator.start()
ThemeManager
.
setBaseTheme
()
ThemeManager
.
setBaseTheme
()
...
...
1Weather/UI/View controllers/Onboarding/InitialOnboarding/OnboardingPageController.swift
View file @
663de592
...
@@ -6,6 +6,7 @@
...
@@ -6,6 +6,7 @@
//
//
import
UIKit
import
UIKit
import
OneWeatherAnalytics
enum
OnboardingControllerType
{
enum
OnboardingControllerType
{
case
forecast
case
forecast
...
@@ -73,6 +74,7 @@ class OnboardingPageController: UIPageViewController, UIScrollViewDelegate {
...
@@ -73,6 +74,7 @@ class OnboardingPageController: UIPageViewController, UIScrollViewDelegate {
override
func
viewDidLoad
()
{
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
super
.
viewDidLoad
()
AppAnalytics
.
shared
.
log
(
event
:
.
ANALYTICS_ONBOARDING_FORECAST_SEEN
)
prepareController
()
prepareController
()
prepareCloseButton
()
prepareCloseButton
()
preparePageControl
()
preparePageControl
()
...
@@ -92,6 +94,7 @@ class OnboardingPageController: UIPageViewController, UIScrollViewDelegate {
...
@@ -92,6 +94,7 @@ class OnboardingPageController: UIPageViewController, UIScrollViewDelegate {
}
}
@objc
private
func
handleSkipButton
()
{
@objc
private
func
handleSkipButton
()
{
AppAnalytics
.
shared
.
log
(
event
:
.
ANALYTICS_ONBOARDING_SKIP
)
coordinator
.
finishInitialOnboarding
()
coordinator
.
finishInitialOnboarding
()
}
}
...
@@ -109,9 +112,14 @@ class OnboardingPageController: UIPageViewController, UIScrollViewDelegate {
...
@@ -109,9 +112,14 @@ class OnboardingPageController: UIPageViewController, UIScrollViewDelegate {
let
nextIndex
=
currentIndex
+
1
let
nextIndex
=
currentIndex
+
1
guard
nextIndex
<
pages
.
count
else
{
return
}
guard
nextIndex
<
pages
.
count
else
{
return
}
AppAnalytics
.
shared
.
log
(
event
:
.
ANALYTICS_ONBOARDING_NEXT
)
setViewControllers
([
pages
[
nextIndex
]],
direction
:
.
forward
,
animated
:
true
)
{[
weak
self
]
_
in
setViewControllers
([
pages
[
nextIndex
]],
direction
:
.
forward
,
animated
:
true
)
{[
weak
self
]
_
in
self
?
.
currentPageIndex
=
nextIndex
guard
let
self
=
self
else
{
return
}
self
?
.
showDoneIfNeeded
(
for
:
nextIndex
)
self
.
logSeenEvent
(
forPage
:
self
.
currentPageIndex
)
self
.
currentPageIndex
=
nextIndex
self
.
showDoneIfNeeded
(
for
:
nextIndex
)
}
}
}
}
...
@@ -131,6 +139,19 @@ class OnboardingPageController: UIPageViewController, UIScrollViewDelegate {
...
@@ -131,6 +139,19 @@ class OnboardingPageController: UIPageViewController, UIScrollViewDelegate {
}
}
}
}
private
func
logSeenEvent
(
forPage
previousPageIndex
:
Int
)
{
switch
previousPageIndex
{
case
0
:
AppAnalytics
.
shared
.
log
(
event
:
.
ANALYTICS_ONBOARDING_FORECAST_SEEN
)
case
1
:
AppAnalytics
.
shared
.
log
(
event
:
.
ANALYTICS_ONBOARDING_ALERT_SEEN
)
case
2
:
AppAnalytics
.
shared
.
log
(
event
:
.
ANALYTICS_ONBOARDING_RADAR_SEEN
)
default
:
break
}
}
private
func
showDoneIfNeeded
(
for
pageIndex
:
Int
)
{
private
func
showDoneIfNeeded
(
for
pageIndex
:
Int
)
{
UIView
.
animate
(
withDuration
:
0.2
)
{
UIView
.
animate
(
withDuration
:
0.2
)
{
if
pageIndex
==
self
.
pages
.
count
-
1
{
if
pageIndex
==
self
.
pages
.
count
-
1
{
...
@@ -287,12 +308,14 @@ extension OnboardingPageController: UIPageViewControllerDelegate {
...
@@ -287,12 +308,14 @@ extension OnboardingPageController: UIPageViewControllerDelegate {
)
{
)
{
guard
guard
let
currentPageVC
=
pageViewController
.
viewControllers
?
.
first
,
let
currentPageVC
=
pageViewController
.
viewControllers
?
.
first
,
let
current
PageIndex
=
pages
.
firstIndex
(
of
:
currentPageVC
)
let
new
PageIndex
=
pages
.
firstIndex
(
of
:
currentPageVC
)
else
{
else
{
return
return
}
}
self
.
currentPageIndex
=
currentPageIndex
AppAnalytics
.
shared
.
log
(
event
:
.
ANALYTICS_ONBOARDING_SWIPE
)
logSeenEvent
(
forPage
:
self
.
currentPageIndex
)
self
.
currentPageIndex
=
newPageIndex
showDoneIfNeeded
(
for
:
currentPageIndex
)
showDoneIfNeeded
(
for
:
currentPageIndex
)
}
}
}
}
...
...
Dmitriy Stepanets
@DStepanets
mentioned in commit
55d85f7a
Aug 30, 2021
mentioned in commit
55d85f7a
mentioned in commit 55d85f7a77bd7889580fddb78b5e625bf0d35d4e
Toggle commit list
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment