Commit 2d460c7
authored
fix: update unattributed outcomes to match attributed outcomes and Android SDK (#1655)
* Align iOS session duration reporting with Android SDK behavior
Both attributed and unattributed focus time processors now behave
like the Android SDK: session time accumulates silently across
background events, and both the user property update and the
outcomes/measure call are sent together only after a 30-second
timer fires (confirming the user has left). If the user returns
within 30 seconds, the timer is cancelled and no calls are made.
Changes to OSAttributedFocusTimeProcessor:
- Move sendSessionTime from sendOnFocusCall to the actual send
method so it only fires when the 30s timer fires or the session
ends, sending the full accumulated total instead of each interval
Changes to OSUnattributedFocusTimeProcessor:
- Add 30s NSTimer delay before sending to outcomes/measure
- Send immediately (no delay) when session ends via influence change
- Implement cancelDelayedJob to invalidate timer on foreground return
- Clear unsent time only on outcomes success (retry on failure)
- Move sendSessionTime to the actual send method (same as attributed)
- Reduce min session threshold from 60s to 1s to match attributed
Made-with: Cursor
* Remove unused min session time threshold
Both processors now use a unified `< 1` guard in sendOnFocusCallWithParams: instead of the old getMinSessionTime/hasMinSyncTime dispatch through the base class.1 parent 5f2ad5b commit 2d460c7
4 files changed
Lines changed: 53 additions & 44 deletions
File tree
- iOS_SDK/OneSignalSDK/Source
Lines changed: 4 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
42 | | - | |
43 | 42 | | |
44 | 43 | | |
45 | 44 | | |
| |||
48 | 47 | | |
49 | 48 | | |
50 | 49 | | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | 50 | | |
56 | 51 | | |
57 | 52 | | |
| |||
61 | 56 | | |
62 | 57 | | |
63 | 58 | | |
64 | | - | |
| 59 | + | |
65 | 60 | | |
66 | | - | |
67 | | - | |
68 | | - | |
69 | 61 | | |
70 | 62 | | |
71 | 63 | | |
| |||
110 | 102 | | |
111 | 103 | | |
112 | 104 | | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
113 | 108 | | |
114 | 109 | | |
115 | 110 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
37 | | - | |
38 | 37 | | |
39 | | - | |
40 | 38 | | |
41 | 39 | | |
42 | 40 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | 36 | | |
48 | 37 | | |
49 | 38 | | |
| |||
Lines changed: 49 additions & 22 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
39 | | - | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
40 | 42 | | |
41 | | - | |
| 43 | + | |
42 | 44 | | |
43 | 45 | | |
44 | 46 | | |
45 | 47 | | |
46 | 48 | | |
47 | 49 | | |
48 | 50 | | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | 51 | | |
54 | 52 | | |
55 | 53 | | |
56 | 54 | | |
57 | 55 | | |
58 | 56 | | |
59 | 57 | | |
60 | | - | |
| 58 | + | |
61 | 59 | | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | | - | |
66 | | - | |
67 | | - | |
| 60 | + | |
| 61 | + | |
68 | 62 | | |
69 | 63 | | |
70 | 64 | | |
71 | 65 | | |
72 | 66 | | |
73 | 67 | | |
74 | 68 | | |
75 | | - | |
| 69 | + | |
76 | 70 | | |
77 | 71 | | |
78 | 72 | | |
79 | 73 | | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
84 | 79 | | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
85 | 107 | | |
86 | | - | |
| 108 | + | |
87 | 109 | | |
| 110 | + | |
88 | 111 | | |
89 | 112 | | |
90 | | - | |
| 113 | + | |
91 | 114 | | |
92 | 115 | | |
93 | 116 | | |
94 | 117 | | |
95 | 118 | | |
96 | 119 | | |
97 | | - | |
98 | | - | |
| 120 | + | |
| 121 | + | |
99 | 122 | | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
100 | 127 | | |
101 | 128 | | |
102 | 129 | | |
0 commit comments