Skip to content

Commit 5cdf7a7

Browse files
authored
[DEST-1542] Bump flurry sdk to v10.2.0 (#15)
* bump flurry sdk to v10.2.0 * Prepare for release 2.0.0
1 parent 9bd52cb commit 5cdf7a7

File tree

7 files changed

+80
-105
lines changed

7 files changed

+80
-105
lines changed

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,17 @@
11
Change Log
22
==========
33

4+
Version 2.0.0 *(17th August, 2016)*
5+
-------------------------------------------
6+
*(Supports Flury 10.2.0+)*
7+
8+
* Breaking: Removed support for logPageView
9+
* Breaking: Removed support for setLatitude, will no longer track absolute location
10+
* Update: Replace setSessionContinueSeconds with withSessionContinueSeconds
11+
* Update Flurry SDK requirement.
12+
13+
Note: Please see [Flurry release notes](https://developer.yahoo.com/flurry/docs/releasenotes/ios/#version-10-2-0-1-08-2020) for complete list of changes.
14+
415
Version 1.1.0 *(17th August, 2016)*
516
-------------------------------------------
617
*(Supports analytics-ios 3.0+ and Flury 7.6+)*

Example/Podfile.lock

Lines changed: 29 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,45 @@
11
PODS:
2-
- Analytics (3.3.0)
3-
- Expecta (1.0.5)
4-
- Flurry-iOS-SDK (7.6.6):
5-
- Flurry-iOS-SDK/FlurrySDK (= 7.6.6)
6-
- Flurry-iOS-SDK/FlurrySDK (7.6.6)
7-
- OCHamcrest (5.4.0)
8-
- OCMockito (3.0.2):
9-
- OCHamcrest (~> 5.1)
10-
- Segment-Flurry (1.0.2):
2+
- Analytics (3.7.1)
3+
- Expecta (1.0.6)
4+
- Flurry-iOS-SDK (10.2.0):
5+
- Flurry-iOS-SDK/FlurrySDK (= 10.2.0)
6+
- Flurry-iOS-SDK/FlurrySDK (10.2.0)
7+
- OCHamcrest (7.1.2)
8+
- OCMockito (5.1.3):
9+
- OCHamcrest (~> 7.0)
10+
- Segment-Flurry (1.1.0):
1111
- Analytics (~> 3.0)
12-
- Flurry-iOS-SDK (~> 7.6)
13-
- Specta (1.0.5)
12+
- Flurry-iOS-SDK (~> 10.2.0)
13+
- Specta (1.0.7)
1414

1515
DEPENDENCIES:
1616
- Expecta
1717
- OCMockito
1818
- Segment-Flurry (from `../`)
1919
- Specta
2020

21+
SPEC REPOS:
22+
trunk:
23+
- Analytics
24+
- Expecta
25+
- Flurry-iOS-SDK
26+
- OCHamcrest
27+
- OCMockito
28+
- Specta
29+
2130
EXTERNAL SOURCES:
2231
Segment-Flurry:
23-
:path: ../
32+
:path: "../"
2433

2534
SPEC CHECKSUMS:
26-
Analytics: be3d952b8b0f21679e25af3b9dfbbab89597e897
27-
Expecta: e1c022fcd33910b6be89c291d2775b3fe27a89fe
28-
Flurry-iOS-SDK: 97bbeec09cca666c2f1772f6e161c4f8ccff611e
29-
OCHamcrest: 5c1d441c5a82fb18ac17c2aeb52ec1a99edb971b
30-
OCMockito: 2cb6c2267cbc76537be56281cd47cdb5a7c27541
31-
Segment-Flurry: ca5dcffc60457964b22e05efed8d2b1f1ebfde9c
32-
Specta: ac94d110b865115fe60ff2c6d7281053c6f8e8a2
35+
Analytics: f82f3cd6d3c8fbfd76ce25773199576656981a4a
36+
Expecta: 3b6bd90a64b9a1dcb0b70aa0e10a7f8f631667d5
37+
Flurry-iOS-SDK: ca3540dd9607a05a8a13a7dd36dfffdd5e0fd0ef
38+
OCHamcrest: b284c9592c28c1e4025a8542e67ea41a635d0d73
39+
OCMockito: 677cbb4a18fd492b5a4fb10144dada4de5ddb877
40+
Segment-Flurry: 8690bfd728046b9b49252e7ecbabdc4cebdf7979
41+
Specta: 3e1bd89c3517421982dc4d1c992503e48bd5fe66
3342

3443
PODFILE CHECKSUM: 724b785d1616828b127cf80906984f5d52080b33
3544

36-
COCOAPODS: 1.0.1
45+
COCOAPODS: 1.8.4

Example/Segment-Flurry.xcodeproj/project.pbxproj

Lines changed: 10 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@
6464
B2BC903A75DA2C66E40ACFA5 /* libPods-Segment-Flurry_Tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Segment-Flurry_Tests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
6565
B5C7F891EC02A0D4A05B53D1 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = "<group>"; };
6666
C7F51CE584117465C1645EA8 /* libPods-Segment-Flurry_Example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Segment-Flurry_Example.a"; sourceTree = BUILT_PRODUCTS_DIR; };
67-
E5E9401B5B048AFC1300D5AE /* Segment-Flurry.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = "Segment-Flurry.podspec"; path = "../Segment-Flurry.podspec"; sourceTree = "<group>"; };
67+
E5E9401B5B048AFC1300D5AE /* Segment-Flurry.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = "Segment-Flurry.podspec"; path = "../Segment-Flurry.podspec"; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
6868
/* End PBXFileReference section */
6969

7070
/* Begin PBXFrameworksBuildPhase section */
@@ -204,8 +204,6 @@
204204
6003F586195388D20070C39A /* Sources */,
205205
6003F587195388D20070C39A /* Frameworks */,
206206
6003F588195388D20070C39A /* Resources */,
207-
8E8021F8E4DA45FB032960C9 /* [CP] Embed Pods Frameworks */,
208-
04E1F976BA405E85A3A0C983 /* [CP] Copy Pods Resources */,
209207
);
210208
buildRules = (
211209
);
@@ -224,8 +222,6 @@
224222
6003F5AA195388D20070C39A /* Sources */,
225223
6003F5AB195388D20070C39A /* Frameworks */,
226224
6003F5AC195388D20070C39A /* Resources */,
227-
2D9CC1027A24D877A662F17F /* [CP] Embed Pods Frameworks */,
228-
9534CFBE79DCC8BDFAC274DA /* [CP] Copy Pods Resources */,
229225
);
230226
buildRules = (
231227
);
@@ -257,6 +253,7 @@
257253
developmentRegion = English;
258254
hasScannedForEncodings = 0;
259255
knownRegions = (
256+
English,
260257
en,
261258
Base,
262259
);
@@ -293,79 +290,22 @@
293290
/* End PBXResourcesBuildPhase section */
294291

295292
/* Begin PBXShellScriptBuildPhase section */
296-
04E1F976BA405E85A3A0C983 /* [CP] Copy Pods Resources */ = {
297-
isa = PBXShellScriptBuildPhase;
298-
buildActionMask = 2147483647;
299-
files = (
300-
);
301-
inputPaths = (
302-
);
303-
name = "[CP] Copy Pods Resources";
304-
outputPaths = (
305-
);
306-
runOnlyForDeploymentPostprocessing = 0;
307-
shellPath = /bin/sh;
308-
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Segment-Flurry_Example/Pods-Segment-Flurry_Example-resources.sh\"\n";
309-
showEnvVarsInLog = 0;
310-
};
311-
2D9CC1027A24D877A662F17F /* [CP] Embed Pods Frameworks */ = {
312-
isa = PBXShellScriptBuildPhase;
313-
buildActionMask = 2147483647;
314-
files = (
315-
);
316-
inputPaths = (
317-
);
318-
name = "[CP] Embed Pods Frameworks";
319-
outputPaths = (
320-
);
321-
runOnlyForDeploymentPostprocessing = 0;
322-
shellPath = /bin/sh;
323-
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Segment-Flurry_Tests/Pods-Segment-Flurry_Tests-frameworks.sh\"\n";
324-
showEnvVarsInLog = 0;
325-
};
326-
8E8021F8E4DA45FB032960C9 /* [CP] Embed Pods Frameworks */ = {
327-
isa = PBXShellScriptBuildPhase;
328-
buildActionMask = 2147483647;
329-
files = (
330-
);
331-
inputPaths = (
332-
);
333-
name = "[CP] Embed Pods Frameworks";
334-
outputPaths = (
335-
);
336-
runOnlyForDeploymentPostprocessing = 0;
337-
shellPath = /bin/sh;
338-
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Segment-Flurry_Example/Pods-Segment-Flurry_Example-frameworks.sh\"\n";
339-
showEnvVarsInLog = 0;
340-
};
341-
9534CFBE79DCC8BDFAC274DA /* [CP] Copy Pods Resources */ = {
342-
isa = PBXShellScriptBuildPhase;
343-
buildActionMask = 2147483647;
344-
files = (
345-
);
346-
inputPaths = (
347-
);
348-
name = "[CP] Copy Pods Resources";
349-
outputPaths = (
350-
);
351-
runOnlyForDeploymentPostprocessing = 0;
352-
shellPath = /bin/sh;
353-
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Segment-Flurry_Tests/Pods-Segment-Flurry_Tests-resources.sh\"\n";
354-
showEnvVarsInLog = 0;
355-
};
356293
992D32DB2F2180A7AE72CA1F /* [CP] Check Pods Manifest.lock */ = {
357294
isa = PBXShellScriptBuildPhase;
358295
buildActionMask = 2147483647;
359296
files = (
360297
);
361298
inputPaths = (
299+
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
300+
"${PODS_ROOT}/Manifest.lock",
362301
);
363302
name = "[CP] Check Pods Manifest.lock";
364303
outputPaths = (
304+
"$(DERIVED_FILE_DIR)/Pods-Segment-Flurry_Example-checkManifestLockResult.txt",
365305
);
366306
runOnlyForDeploymentPostprocessing = 0;
367307
shellPath = /bin/sh;
368-
shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n";
308+
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
369309
showEnvVarsInLog = 0;
370310
};
371311
FD2FBB32D181350F635EB269 /* [CP] Check Pods Manifest.lock */ = {
@@ -374,13 +314,16 @@
374314
files = (
375315
);
376316
inputPaths = (
317+
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
318+
"${PODS_ROOT}/Manifest.lock",
377319
);
378320
name = "[CP] Check Pods Manifest.lock";
379321
outputPaths = (
322+
"$(DERIVED_FILE_DIR)/Pods-Segment-Flurry_Tests-checkManifestLockResult.txt",
380323
);
381324
runOnlyForDeploymentPostprocessing = 0;
382325
shellPath = /bin/sh;
383-
shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n";
326+
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
384327
showEnvVarsInLog = 0;
385328
};
386329
/* End PBXShellScriptBuildPhase section */

Example/Segment-Flurry/SEGAppDelegate.m

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,30 @@
77
//
88

99
#import "SEGAppDelegate.h"
10+
#import <Segment-Flurry/SEGFlurryIntegrationFactory.h>
1011

1112
@implementation SEGAppDelegate
1213

1314
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
1415
{
1516
// Override point for customization after application launch.
17+
[SEGAnalytics debug:YES];
18+
SEGAnalyticsConfiguration *config = [SEGAnalyticsConfiguration configurationWithWriteKey:@""];
19+
20+
// Add any of your bundled integrations.
21+
[config use:[SEGFlurryIntegrationFactory instance]];
22+
23+
[SEGAnalytics setupWithConfiguration:config];
24+
25+
[[SEGAnalytics sharedAnalytics] identify:@"segment-fake-tester"
26+
traits:@{ @"email" : @"[email protected]" }];
27+
28+
[[SEGAnalytics sharedAnalytics] track:@"Completed Order"
29+
properties:@{ @"title" : @"Launch Screen",
30+
@"revenue" : @14.51 }];
31+
32+
[[SEGAnalytics sharedAnalytics] screen:@"Home"];
33+
1634
return YES;
1735
}
1836

Pod/Classes/SEGFlurryIntegration.m

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,18 @@ - (id)initWithSettings:(NSDictionary *)settings
1212
{
1313
if (self = [super init]) {
1414
self.settings = settings;
15-
15+
16+
FlurrySessionBuilder* builder = [FlurrySessionBuilder new];
17+
1618
NSNumber *sessionContinueSeconds = settings[@"sessionContinueSeconds"];
1719
if (sessionContinueSeconds) {
1820
int s = [sessionContinueSeconds intValue];
19-
[Flurry setSessionContinueSeconds:[sessionContinueSeconds intValue]];
21+
[builder withSessionContinueSeconds:s];
2022
SEGLog(@"Flurry setSessionContinueSeconds:%d", s);
2123
}
2224

2325
NSString *apiKey = self.settings[@"apiKey"];
24-
[Flurry startSession:apiKey];
26+
[Flurry startSession:apiKey withSessionBuilder:builder];
2527
SEGLog(@"Flurry startSession:%@", apiKey);
2628
}
2729
return self;
@@ -45,15 +47,6 @@ - (void)identify:(SEGIdentifyPayload *)payload
4547
if (age) {
4648
[Flurry setAge:[age intValue]];
4749
}
48-
49-
NSDictionary *location = traits[@"location"];
50-
if (location) {
51-
float latitude = [location[@"latitude"] floatValue];
52-
float longitude = [location[@"longitude"] floatValue];
53-
float horizontalAccuracy = [location[@"horizontalAccuracy"] floatValue];
54-
float verticalAccuracy = [location[@"verticalAccuracy"] floatValue];
55-
[Flurry setLatitude:latitude longitude:longitude horizontalAccuracy:horizontalAccuracy verticalAccuracy:verticalAccuracy];
56-
}
5750
}
5851

5952
- (void)track:(SEGTrackPayload *)payload
@@ -72,11 +65,6 @@ - (void)screen:(SEGScreenPayload *)payload
7265
[Flurry logEvent:event withParameters:properties];
7366
SEGLog(@"Flurry logEvent:%@ withParameters:%@", event, properties);
7467
}
75-
76-
// Flurry just counts the number of page views
77-
// http://stackoverflow.com/questions/5404513/tracking-page-views-with-the-help-of-flurry-sdk
78-
79-
[Flurry logPageView];
8068
}
8169

8270
// Return true if all screen should be tracked as event.

README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,12 @@ SEGAnalyticsConfiguration *config = [SEGAnalyticsConfiguration configurationWith
3434
3535
```
3636

37+
## Migrating from 1.1.0 to 2.0.0
38+
Version 2.0.0 upgrades the Flurry iOS SDK from 7.6 to 10.2.0. Support was removed for logPageView, setLatitude, and setSessionContinueSeconds (replaced by withSessionContinueSeconds).
39+
40+
Please see [Flurry release notes](https://developer.yahoo.com/flurry/docs/releasenotes/ios/#version-10-2-0-1-08-2020) for complete list of changes.
41+
42+
3743
## License
3844

3945
```

Segment-Flurry.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,5 @@ Pod::Spec.new do |s|
2222
s.source_files = 'Pod/Classes/**/*'
2323

2424
s.dependency 'Analytics', '~> 3.0'
25-
s.dependency 'Flurry-iOS-SDK', '~> 7.6'
25+
s.dependency 'Flurry-iOS-SDK', '~> 10.2.0'
2626
end

0 commit comments

Comments
 (0)