summaryrefslogtreecommitdiff
path: root/StoneIsland/platforms/ios
diff options
context:
space:
mode:
Diffstat (limited to 'StoneIsland/platforms/ios')
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island.xcodeproj/project.pbxproj120
-rw-r--r--StoneIsland/platforms/ios/Stone Island.xcworkspace/xcuserdata/user.xcuserdatad/UserInterfaceState.xcuserstatebin59759 -> 59759 bytes
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/AppDelegate+FirebasePlugin.h5
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/AppDelegate+FirebasePlugin.m132
-rw-r--r--StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/Firebase.h52
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/FirebaseAnalyticsbin0 -> 14943968 bytes
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h57
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FIRAnalytics.h102
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FIRAnalyticsConfiguration.h1
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FIRApp.h1
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FIRConfiguration.h1
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FIREventNames.h336
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FIROptions.h1
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FIRParameterNames.h369
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h13
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h9
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Modules/module.modulemap10
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCore.framework/FirebaseCorebin0 -> 4836560 bytes
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCore.framework/Headers/FIRAnalyticsConfiguration.h38
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCore.framework/Headers/FIRApp.h98
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCore.framework/Headers/FIRConfiguration.h52
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCore.framework/Headers/FIRLoggerLevel.h12
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCore.framework/Headers/FIROptions.h93
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCore.framework/Headers/FirebaseCore.h5
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCore.framework/Modules/module.modulemap8
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCrash.framework/FirebaseCrashbin0 -> 5551304 bytes
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCrash.framework/Headers/FIRCrashLog.h164
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCrash.framework/Headers/FirebaseCrash.h1
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCrash.framework/Modules/module.modulemap12
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseInstanceID.framework/FirebaseInstanceIDbin0 -> 4472464 bytes
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseInstanceID.framework/Headers/FIRInstanceID.h245
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseInstanceID.framework/Headers/FirebaseInstanceID.h1
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseInstanceID.framework/Modules/module.modulemap7
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseMessaging.framework/FirebaseMessagingbin0 -> 6370360 bytes
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseMessaging.framework/Headers/FIRMessaging.h227
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseMessaging.framework/Headers/FirebaseMessaging.h1
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseMessaging.framework/Modules/module.modulemap11
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebasePlugin.h30
-rw-r--r--StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebasePlugin.m331
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseRemoteConfig.framework/FirebaseRemoteConfigbin0 -> 3170248 bytes
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseRemoteConfig.framework/Headers/FIRRemoteConfig.h224
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseRemoteConfig.framework/Headers/FirebaseRemoteConfig.h1
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseRemoteConfig.framework/Modules/module.modulemap11
-rw-r--r--StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/GoogleToolboxForMac.framework/GoogleToolboxForMacbin0 -> 626792 bytes
-rw-r--r--StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/Protobuf.framework/Protobufbin0 -> 7721656 bytes
-rw-r--r--StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAI.h192
-rw-r--r--StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAIDictionaryBuilder.h217
-rw-r--r--StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAIEcommerceFields.h124
-rw-r--r--StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAIEcommerceProduct.h102
-rw-r--r--StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAIEcommerceProductAction.h107
-rw-r--r--StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAIEcommercePromotion.h54
-rw-r--r--StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAIFields.h133
-rw-r--r--StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAILogger.h49
-rw-r--r--StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAITrackedViewController.h33
-rw-r--r--StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAITracker.h57
-rw-r--r--StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/UniversalAnalyticsPlugin.h34
-rw-r--r--StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/UniversalAnalyticsPlugin.m543
-rw-r--r--StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/libAdIdAccess.abin99320 -> 0 bytes
-rw-r--r--StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/libGoogleAnalyticsServices.abin34421440 -> 0 bytes
-rw-r--r--StoneIsland/platforms/ios/Stone Island/Resources/GoogleService-Info.plist6
-rwxr-xr-xStoneIsland/platforms/ios/Stone Island/config.xml7
-rw-r--r--StoneIsland/platforms/ios/frameworks.json8
-rw-r--r--StoneIsland/platforms/ios/ios.json53
-rw-r--r--StoneIsland/platforms/ios/platform_www/cordova_plugins.js21
-rw-r--r--StoneIsland/platforms/ios/platform_www/plugins/cordova-plugin-firebase/www/firebase.js124
-rw-r--r--StoneIsland/platforms/ios/platform_www/plugins/cordova-plugin-google-analytics/www/analytics.js130
-rw-r--r--StoneIsland/platforms/ios/www/cordova_plugins.js21
-rw-r--r--StoneIsland/platforms/ios/www/plugins/cordova-plugin-firebase/www/firebase.js124
-rw-r--r--StoneIsland/platforms/ios/www/plugins/cordova-plugin-google-analytics/www/analytics.js130
69 files changed, 3043 insertions, 2007 deletions
diff --git a/StoneIsland/platforms/ios/Stone Island.xcodeproj/project.pbxproj b/StoneIsland/platforms/ios/Stone Island.xcodeproj/project.pbxproj
index 9124f869..69471aa0 100755
--- a/StoneIsland/platforms/ios/Stone Island.xcodeproj/project.pbxproj
+++ b/StoneIsland/platforms/ios/Stone Island.xcodeproj/project.pbxproj
@@ -7,7 +7,6 @@
objects = {
/* Begin PBXBuildFile section */
0207DA581B56EA530066E2B4 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0207DA571B56EA530066E2B4 /* Images.xcassets */; };
- 0245BD3C98FD4F04A11BBCAA /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 4A4D6FDE815144E3BC47859B /* libsqlite3.dylib */; };
099C5D0E05AF43F4B95AAA4A /* CDVNotification.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 2F49F2111FC649498658CF3B /* CDVNotification.bundle */; };
0EB9CC91D14946018E9E8959 /* NSString+URLEncoding.m in Sources */ = {isa = PBXBuildFile; fileRef = B67D2EE318FB494FA66C6A82 /* NSString+URLEncoding.m */; };
1D3623260D0F684500981E51 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* AppDelegate.m */; };
@@ -21,12 +20,9 @@
3F54272035164B97980AEFF8 /* Social.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6C144F975307417B892CAC2C /* Social.framework */; };
4A6286E85D8E48729B679999 /* SocialSharing.m in Sources */ = {isa = PBXBuildFile; fileRef = DDCE40E086B24A98A0490DA7 /* SocialSharing.m */; };
5246BFCFEB754DCC9DD156F5 /* CDVDevice.m in Sources */ = {isa = PBXBuildFile; fileRef = F6093E605D6D49D1918413AA /* CDVDevice.m */; };
- 600310C41D3B400498A5890B /* libGoogleAnalyticsServices.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 281039EFAD1B4A8C90FDC17F /* libGoogleAnalyticsServices.a */; };
62A7DCEB605B49F4BD73FFF0 /* CDVSplashScreen.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A7B4D488DBC402C922C7574 /* CDVSplashScreen.m */; };
6AFF5BF91D6E424B00AB3073 /* CDVLaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 6AFF5BF81D6E424B00AB3073 /* CDVLaunchScreen.storyboard */; };
- 6B52986769BB47ED98DF12F6 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 5133B28F80C74DA0A4EF900A /* libz.dylib */; };
76C30D264E504728A7F0FD0C /* PushPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = B195BD92B31445039168DCCC /* PushPlugin.m */; };
- 7739C5D961784F519029D858 /* CoreData.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BBF0272D99FA4D308445B382 /* CoreData.framework */; };
84B2CD60DA194555B86E263D /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 81D376C7F9874FA1B2318AFA /* AudioToolbox.framework */; };
84D89679250B4DF4ABF3BE7F /* CDVNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = 6921995B5AF0481CA93F7A5D /* CDVNotification.m */; };
8568F48189D243CA91300537 /* CDVLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 63D8B1ADC251482C8620B623 /* CDVLogger.m */; };
@@ -35,17 +31,25 @@
9E26B81E92624D9896571609 /* MessageUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FCCC22BF4385472E88382D56 /* MessageUI.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
A9267928B9A04BE29B534458 /* AddressBook.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6940DEA5B3084B54B48BD8F1 /* AddressBook.framework */; };
B88B1D224DEA4E699F7502F8 /* CDVReachability.m in Sources */ = {isa = PBXBuildFile; fileRef = E0008CA3AF7D47F497F52E48 /* CDVReachability.m */; };
- C4E60C33635D44649CAAF727 /* libAdIdAccess.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 92230324A2954C6AADBA989A /* libAdIdAccess.a */; };
D126BF4289EA4FE087802574 /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 44965ED7EC514AD283A3DAA2 /* CoreTelephony.framework */; };
- D54B6FB071A94BED99CBF7E6 /* AdSupport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A3D8D77BE5A0496891F24BF9 /* AdSupport.framework */; };
E162E7029FC24C4595D1D82D /* IonicKeyboard.m in Sources */ = {isa = PBXBuildFile; fileRef = 738136BA596342BB82CCDD80 /* IonicKeyboard.m */; };
E5CA6AAEC723E2850C15309E /* libPods-Stone Island.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1827DA33B918A624C9D0E74D /* libPods-Stone Island.a */; };
E761267B18B0459FA2514AE8 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 85D3B0CF3FF74E3D97E33BF4 /* SystemConfiguration.framework */; };
- EE465A3641884122A7088AC5 /* UniversalAnalyticsPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = FFB5E8C21AD14D10A7088119 /* UniversalAnalyticsPlugin.m */; };
EF28FE2B49A344FBA3F7306F /* CDVInAppBrowser.m in Sources */ = {isa = PBXBuildFile; fileRef = 729B6141DF9D4C1BB64A7097 /* CDVInAppBrowser.m */; };
F4862C5594894163A3C3AB06 /* CDVConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E7CCBA15DC14F20830BD1B3 /* CDVConnection.m */; };
F990B4C12C3746EAA8C30F8D /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 6465D215A1B148A387730F27 /* libz.tbd */; };
9DF0159ECE654EF1921606B9 /* CDVStatusBar.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CDFA08638E64E9F9CDB1109 /* CDVStatusBar.m */; };
+ BC359FDFB50941649B56E28F /* AppDelegate+FirebasePlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 5EC39C5B4DAE4FAD8CF8695D /* AppDelegate+FirebasePlugin.m */; };
+ C866439BEFD34ABD84D2C187 /* FirebasePlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C3DDD8A49E340CF957F7B1F /* FirebasePlugin.m */; };
+ 0FB747315D6F471689E642F5 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 2C70563D47C64AF3ACAF61E0 /* GoogleService-Info.plist */; };
+ 5E621514A94641479C72A50D /* FirebaseAnalytics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F685F82C990346D690E3964A /* FirebaseAnalytics.framework */; };
+ 1D5CAB42B5DE48328017C472 /* FirebaseCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FD9D2163E342476EB5E0C76F /* FirebaseCore.framework */; };
+ F5C11F2CB8FA4EDE90455B16 /* FirebaseInstanceID.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 07EDF5A22AD84B9A9589735F /* FirebaseInstanceID.framework */; };
+ 248907F240C5452893560A33 /* GoogleToolboxForMac.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 618739808BC6467DA23E8206 /* GoogleToolboxForMac.framework */; };
+ AEAE498777844A5280FD25F4 /* Protobuf.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 608DE9DAFDE94B8A861130BD /* Protobuf.framework */; };
+ 605B0C4C903B4FD8B1F0F694 /* FirebaseMessaging.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC38B894F8C343BCA787D906 /* FirebaseMessaging.framework */; };
+ 7C872490D5A94AEBBBD1349E /* FirebaseCrash.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0710864CDF044948B1C18450 /* FirebaseCrash.framework */; };
+ 2082C1FBFC0E43BB8C609980 /* FirebaseRemoteConfig.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4398FE67A32F4A6CA63E3979 /* FirebaseRemoteConfig.framework */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -71,7 +75,6 @@
0207DA571B56EA530066E2B4 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = "Stone Island/Images.xcassets"; sourceTree = SOURCE_ROOT; };
0B1CCEFB092F4CECA26CD473 /* CDVNotification.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = CDVNotification.h; path = "cordova-plugin-dialogs/CDVNotification.h"; sourceTree = "<group>"; };
126A7C33C770436081C4808A /* CDVLocation.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = CDVLocation.h; path = "cordova-plugin-geolocation/CDVLocation.h"; sourceTree = "<group>"; };
- 1380CC4A1CFE434BB20950B7 /* GAIFields.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = GAIFields.h; path = "cordova-plugin-google-analytics/GAIFields.h"; sourceTree = "<group>"; };
15B798542A834D5F9C46B593 /* CDVLogger.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = CDVLogger.h; path = "cordova-plugin-console/CDVLogger.h"; sourceTree = "<group>"; };
1827DA33B918A624C9D0E74D /* libPods-Stone Island.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Stone Island.a"; sourceTree = BUILT_PRODUCTS_DIR; };
1A7B4D488DBC402C922C7574 /* CDVSplashScreen.m */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.objc; name = CDVSplashScreen.m; path = "cordova-plugin-splashscreen/CDVSplashScreen.m"; sourceTree = "<group>"; };
@@ -80,8 +83,6 @@
1D6058910D05DD3D006BFB54 /* Stone Island.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Stone Island.app"; sourceTree = BUILT_PRODUCTS_DIR; };
202110AF22594D0F9C1A334F /* AppDelegate+notification.m */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.objc; name = "AppDelegate+notification.m"; path = "phonegap-plugin-push/AppDelegate+notification.m"; sourceTree = "<group>"; };
2371391E63BB4E19BE123F25 /* NSString+URLEncoding.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = "NSString+URLEncoding.h"; path = "cordova-plugin-x-socialsharing/NSString+URLEncoding.h"; sourceTree = "<group>"; };
- 281039EFAD1B4A8C90FDC17F /* libGoogleAnalyticsServices.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; name = libGoogleAnalyticsServices.a; path = "Stone Island/Plugins/cordova-plugin-google-analytics/libGoogleAnalyticsServices.a"; sourceTree = "<group>"; };
- 2953CC1328564E13AE3FE7CD /* GAIEcommerceFields.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = GAIEcommerceFields.h; path = "cordova-plugin-google-analytics/GAIEcommerceFields.h"; sourceTree = "<group>"; };
29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
2AF51DC70C6443E88037BD84 /* CoreLocation.framework */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; };
2F49F2111FC649498658CF3B /* CDVNotification.bundle */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.plug-in"; path = CDVNotification.bundle; sourceTree = "<group>"; };
@@ -94,14 +95,11 @@
3047A5101AB8059700498E2A /* build-release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "build-release.xcconfig"; path = "cordova/build-release.xcconfig"; sourceTree = SOURCE_ROOT; };
3047A5111AB8059700498E2A /* build.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = build.xcconfig; path = cordova/build.xcconfig; sourceTree = SOURCE_ROOT; };
32CA4F630368D1EE00C91783 /* Stone Island-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Stone Island-Prefix.pch"; sourceTree = "<group>"; };
- 36C6224E10CC4C1DB3DEAAF4 /* GAIDictionaryBuilder.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = GAIDictionaryBuilder.h; path = "cordova-plugin-google-analytics/GAIDictionaryBuilder.h"; sourceTree = "<group>"; };
40CE234F002F419597A039E4 /* AppDelegate+notification.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = "AppDelegate+notification.h"; path = "phonegap-plugin-push/AppDelegate+notification.h"; sourceTree = "<group>"; };
4258DE006F82471E996DD840 /* CDVViewController+SplashScreen.m */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.objc; name = "CDVViewController+SplashScreen.m"; path = "cordova-plugin-splashscreen/CDVViewController+SplashScreen.m"; sourceTree = "<group>"; };
44965ED7EC514AD283A3DAA2 /* CoreTelephony.framework */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = wrapper.framework; name = CoreTelephony.framework; path = System/Library/Frameworks/CoreTelephony.framework; sourceTree = SDKROOT; };
47F2E7D4A25F4BC1BF2C5DA9 /* CDVReachability.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = CDVReachability.h; path = "cordova-plugin-network-information/CDVReachability.h"; sourceTree = "<group>"; };
- 4A4D6FDE815144E3BC47859B /* libsqlite3.dylib */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "compiled.mach-o.dylib"; name = libsqlite3.dylib; path = usr/lib/libsqlite3.dylib; sourceTree = SDKROOT; };
4E80481E26EC4E568CC3903D /* CDVViewController+SplashScreen.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = "CDVViewController+SplashScreen.h"; path = "cordova-plugin-splashscreen/CDVViewController+SplashScreen.h"; sourceTree = "<group>"; };
- 5133B28F80C74DA0A4EF900A /* libz.dylib */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
627E8711314C4B91BFAABD62 /* IonicKeyboard.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = IonicKeyboard.h; path = "ionic-plugin-keyboard/IonicKeyboard.h"; sourceTree = "<group>"; };
63D8B1ADC251482C8620B623 /* CDVLogger.m */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.objc; name = CDVLogger.m; path = "cordova-plugin-console/CDVLogger.m"; sourceTree = "<group>"; };
6465D215A1B148A387730F27 /* libz.tbd */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
@@ -112,39 +110,41 @@
6AFF5BF81D6E424B00AB3073 /* CDVLaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = CDVLaunchScreen.storyboard; path = "Stone Island/CDVLaunchScreen.storyboard"; sourceTree = SOURCE_ROOT; };
6C144F975307417B892CAC2C /* Social.framework */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = wrapper.framework; name = Social.framework; path = System/Library/Frameworks/Social.framework; sourceTree = SDKROOT; };
6E7CCBA15DC14F20830BD1B3 /* CDVConnection.m */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.objc; name = CDVConnection.m; path = "cordova-plugin-network-information/CDVConnection.m"; sourceTree = "<group>"; };
- 71D1AD5902B0425F8154F30F /* GAILogger.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = GAILogger.h; path = "cordova-plugin-google-analytics/GAILogger.h"; sourceTree = "<group>"; };
729B6141DF9D4C1BB64A7097 /* CDVInAppBrowser.m */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.objc; name = CDVInAppBrowser.m; path = "cordova-plugin-inappbrowser/CDVInAppBrowser.m"; sourceTree = "<group>"; };
738136BA596342BB82CCDD80 /* IonicKeyboard.m */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.objc; name = IonicKeyboard.m; path = "ionic-plugin-keyboard/IonicKeyboard.m"; sourceTree = "<group>"; };
- 7EECC2D2BFEA43FE966814C6 /* GAI.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = GAI.h; path = "cordova-plugin-google-analytics/GAI.h"; sourceTree = "<group>"; };
81D376C7F9874FA1B2318AFA /* AudioToolbox.framework */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
85D3B0CF3FF74E3D97E33BF4 /* SystemConfiguration.framework */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
876C6279414F4D5A82514049 /* CDVDevice.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = CDVDevice.h; path = "cordova-plugin-device/CDVDevice.h"; sourceTree = "<group>"; };
- 8A49AF7CDE3040039CE14E5A /* GAIEcommerceProductAction.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = GAIEcommerceProductAction.h; path = "cordova-plugin-google-analytics/GAIEcommerceProductAction.h"; sourceTree = "<group>"; };
8D1107310486CEB800E47090 /* Stone Island-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "Stone Island-Info.plist"; path = "Stone Island/Stone Island-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = SOURCE_ROOT; };
- 92230324A2954C6AADBA989A /* libAdIdAccess.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; name = libAdIdAccess.a; path = "Stone Island/Plugins/cordova-plugin-google-analytics/libAdIdAccess.a"; sourceTree = "<group>"; };
- 9A8A8193C2794F48888355D3 /* GAITrackedViewController.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = GAITrackedViewController.h; path = "cordova-plugin-google-analytics/GAITrackedViewController.h"; sourceTree = "<group>"; };
9AA8E7740E114B6E967452F8 /* PushPlugin.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = PushPlugin.h; path = "phonegap-plugin-push/PushPlugin.h"; sourceTree = "<group>"; };
9F81F9288C7B4B628408E9AF /* CDVInAppBrowser.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = CDVInAppBrowser.h; path = "cordova-plugin-inappbrowser/CDVInAppBrowser.h"; sourceTree = "<group>"; };
- A37B0133EF7A42B6BAF5F317 /* UniversalAnalyticsPlugin.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = UniversalAnalyticsPlugin.h; path = "cordova-plugin-google-analytics/UniversalAnalyticsPlugin.h"; sourceTree = "<group>"; };
- A3D8D77BE5A0496891F24BF9 /* AdSupport.framework */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = wrapper.framework; name = AdSupport.framework; path = System/Library/Frameworks/AdSupport.framework; sourceTree = SDKROOT; };
B195BD92B31445039168DCCC /* PushPlugin.m */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.objc; name = PushPlugin.m; path = "phonegap-plugin-push/PushPlugin.m"; sourceTree = "<group>"; };
B67D2EE318FB494FA66C6A82 /* NSString+URLEncoding.m */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.objc; name = "NSString+URLEncoding.m"; path = "cordova-plugin-x-socialsharing/NSString+URLEncoding.m"; sourceTree = "<group>"; };
- BBF0272D99FA4D308445B382 /* CoreData.framework */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };
- CAAD7EE259C942989156C616 /* GAIEcommerceProduct.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = GAIEcommerceProduct.h; path = "cordova-plugin-google-analytics/GAIEcommerceProduct.h"; sourceTree = "<group>"; };
DDCE40E086B24A98A0490DA7 /* SocialSharing.m */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.objc; name = SocialSharing.m; path = "cordova-plugin-x-socialsharing/SocialSharing.m"; sourceTree = "<group>"; };
E0008CA3AF7D47F497F52E48 /* CDVReachability.m */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.objc; name = CDVReachability.m; path = "cordova-plugin-network-information/CDVReachability.m"; sourceTree = "<group>"; };
- E2AFABA192234A0E9C198427 /* GAIEcommercePromotion.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = GAIEcommercePromotion.h; path = "cordova-plugin-google-analytics/GAIEcommercePromotion.h"; sourceTree = "<group>"; };
EB87FDF31871DA8E0020F90C /* www */ = {isa = PBXFileReference; lastKnownFileType = folder; name = www; path = ../../www; sourceTree = "<group>"; };
EB87FDF41871DAF40020F90C /* config.xml */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = config.xml; path = ../../config.xml; sourceTree = "<group>"; };
ED33DF2A687741AEAF9F8254 /* Bridging-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Bridging-Header.h"; sourceTree = "<group>"; };
EFE07C93437141668090A998 /* SocialSharing.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = SocialSharing.h; path = "cordova-plugin-x-socialsharing/SocialSharing.h"; sourceTree = "<group>"; };
- F52665B1E3624AACB50A72B1 /* GAITracker.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = GAITracker.h; path = "cordova-plugin-google-analytics/GAITracker.h"; sourceTree = "<group>"; };
F6093E605D6D49D1918413AA /* CDVDevice.m */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.objc; name = CDVDevice.m; path = "cordova-plugin-device/CDVDevice.m"; sourceTree = "<group>"; };
F840E1F0165FE0F500CFE078 /* config.xml */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = config.xml; path = "Stone Island/config.xml"; sourceTree = "<group>"; };
FCCC22BF4385472E88382D56 /* MessageUI.framework */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = wrapper.framework; name = MessageUI.framework; path = System/Library/Frameworks/MessageUI.framework; sourceTree = SDKROOT; };
- FFB5E8C21AD14D10A7088119 /* UniversalAnalyticsPlugin.m */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.objc; name = UniversalAnalyticsPlugin.m; path = "cordova-plugin-google-analytics/UniversalAnalyticsPlugin.m"; sourceTree = "<group>"; };
4CDFA08638E64E9F9CDB1109 /* CDVStatusBar.m */ = {isa = PBXFileReference; name = "CDVStatusBar.m"; path = "cordova-plugin-statusbar/CDVStatusBar.m"; sourceTree = "<group>"; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; explicitFileType = undefined; includeInIndex = 0; };
80A8B3832B6347E09B3FB7EF /* CDVStatusBar.h */ = {isa = PBXFileReference; name = "CDVStatusBar.h"; path = "cordova-plugin-statusbar/CDVStatusBar.h"; sourceTree = "<group>"; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; explicitFileType = undefined; includeInIndex = 0; };
+ 5EC39C5B4DAE4FAD8CF8695D /* AppDelegate+FirebasePlugin.m */ = {isa = PBXFileReference; name = "AppDelegate+FirebasePlugin.m"; path = "cordova-plugin-firebase/AppDelegate+FirebasePlugin.m"; sourceTree = "<group>"; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; explicitFileType = undefined; includeInIndex = 0; };
+ 3C3DDD8A49E340CF957F7B1F /* FirebasePlugin.m */ = {isa = PBXFileReference; name = "FirebasePlugin.m"; path = "cordova-plugin-firebase/FirebasePlugin.m"; sourceTree = "<group>"; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; explicitFileType = undefined; includeInIndex = 0; };
+ 8214BDBCCC7A406D97F13D14 /* AppDelegate+FirebasePlugin.h */ = {isa = PBXFileReference; name = "AppDelegate+FirebasePlugin.h"; path = "cordova-plugin-firebase/AppDelegate+FirebasePlugin.h"; sourceTree = "<group>"; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; explicitFileType = undefined; includeInIndex = 0; };
+ 6733A6B615EC46D9A22EF1BB /* FirebasePlugin.h */ = {isa = PBXFileReference; name = "FirebasePlugin.h"; path = "cordova-plugin-firebase/FirebasePlugin.h"; sourceTree = "<group>"; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; explicitFileType = undefined; includeInIndex = 0; };
+ BB95C4F62552438CBF008B58 /* Firebase.h */ = {isa = PBXFileReference; name = "Firebase.h"; path = "cordova-plugin-firebase/Firebase.h"; sourceTree = "<group>"; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; explicitFileType = undefined; includeInIndex = 0; };
+ 2C70563D47C64AF3ACAF61E0 /* GoogleService-Info.plist */ = {isa = PBXFileReference; name = "GoogleService-Info.plist"; path = "GoogleService-Info.plist"; sourceTree = "<group>"; fileEncoding = 4; lastKnownFileType = text.plist.xml; explicitFileType = undefined; includeInIndex = 0; };
+ F685F82C990346D690E3964A /* FirebaseAnalytics.framework */ = {isa = PBXFileReference; name = "FirebaseAnalytics.framework"; path = "Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = wrapper.framework; explicitFileType = undefined; includeInIndex = 0; };
+ FD9D2163E342476EB5E0C76F /* FirebaseCore.framework */ = {isa = PBXFileReference; name = "FirebaseCore.framework"; path = "Stone Island/Plugins/cordova-plugin-firebase/FirebaseCore.framework"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = wrapper.framework; explicitFileType = undefined; includeInIndex = 0; };
+ 07EDF5A22AD84B9A9589735F /* FirebaseInstanceID.framework */ = {isa = PBXFileReference; name = "FirebaseInstanceID.framework"; path = "Stone Island/Plugins/cordova-plugin-firebase/FirebaseInstanceID.framework"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = wrapper.framework; explicitFileType = undefined; includeInIndex = 0; };
+ 618739808BC6467DA23E8206 /* GoogleToolboxForMac.framework */ = {isa = PBXFileReference; name = "GoogleToolboxForMac.framework"; path = "Stone Island/Plugins/cordova-plugin-firebase/GoogleToolboxForMac.framework"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = wrapper.framework; explicitFileType = undefined; includeInIndex = 0; };
+ 608DE9DAFDE94B8A861130BD /* Protobuf.framework */ = {isa = PBXFileReference; name = "Protobuf.framework"; path = "Stone Island/Plugins/cordova-plugin-firebase/Protobuf.framework"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = wrapper.framework; explicitFileType = undefined; includeInIndex = 0; };
+ DC38B894F8C343BCA787D906 /* FirebaseMessaging.framework */ = {isa = PBXFileReference; name = "FirebaseMessaging.framework"; path = "Stone Island/Plugins/cordova-plugin-firebase/FirebaseMessaging.framework"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = wrapper.framework; explicitFileType = undefined; includeInIndex = 0; };
+ 0710864CDF044948B1C18450 /* FirebaseCrash.framework */ = {isa = PBXFileReference; name = "FirebaseCrash.framework"; path = "Stone Island/Plugins/cordova-plugin-firebase/FirebaseCrash.framework"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = wrapper.framework; explicitFileType = undefined; includeInIndex = 0; };
+ 4398FE67A32F4A6CA63E3979 /* FirebaseRemoteConfig.framework */ = {isa = PBXFileReference; name = "FirebaseRemoteConfig.framework"; path = "Stone Island/Plugins/cordova-plugin-firebase/FirebaseRemoteConfig.framework"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = wrapper.framework; explicitFileType = undefined; includeInIndex = 0; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -163,12 +163,14 @@
A9267928B9A04BE29B534458 /* AddressBook.framework in Frameworks */,
36186AA3639F426384682A75 /* libsqlite3.tbd in Frameworks */,
F990B4C12C3746EAA8C30F8D /* libz.tbd in Frameworks */,
- 600310C41D3B400498A5890B /* libGoogleAnalyticsServices.a in Frameworks */,
- C4E60C33635D44649CAAF727 /* libAdIdAccess.a in Frameworks */,
- 7739C5D961784F519029D858 /* CoreData.framework in Frameworks */,
- D54B6FB071A94BED99CBF7E6 /* AdSupport.framework in Frameworks */,
- 6B52986769BB47ED98DF12F6 /* libz.dylib in Frameworks */,
- 0245BD3C98FD4F04A11BBCAA /* libsqlite3.dylib in Frameworks */,
+ 5E621514A94641479C72A50D /* FirebaseAnalytics.framework in Frameworks */,
+ 1D5CAB42B5DE48328017C472 /* FirebaseCore.framework in Frameworks */,
+ F5C11F2CB8FA4EDE90455B16 /* FirebaseInstanceID.framework in Frameworks */,
+ 248907F240C5452893560A33 /* GoogleToolboxForMac.framework in Frameworks */,
+ AEAE498777844A5280FD25F4 /* Protobuf.framework in Frameworks */,
+ 605B0C4C903B4FD8B1F0F694 /* FirebaseMessaging.framework in Frameworks */,
+ 7C872490D5A94AEBBBD1349E /* FirebaseCrash.framework in Frameworks */,
+ 2082C1FBFC0E43BB8C609980 /* FirebaseRemoteConfig.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -233,6 +235,7 @@
8D1107310486CEB800E47090 /* Stone Island-Info.plist */,
6AFF5BF81D6E424B00AB3073 /* CDVLaunchScreen.storyboard */,
2F49F2111FC649498658CF3B /* CDVNotification.bundle */,
+ 2C70563D47C64AF3ACAF61E0 /* GoogleService-Info.plist */,
);
name = Resources;
path = "Stone Island/Resources";
@@ -251,12 +254,14 @@
6940DEA5B3084B54B48BD8F1 /* AddressBook.framework */,
014A3BF81C154724B8D195A5 /* libsqlite3.tbd */,
6465D215A1B148A387730F27 /* libz.tbd */,
- 281039EFAD1B4A8C90FDC17F /* libGoogleAnalyticsServices.a */,
- 92230324A2954C6AADBA989A /* libAdIdAccess.a */,
- BBF0272D99FA4D308445B382 /* CoreData.framework */,
- A3D8D77BE5A0496891F24BF9 /* AdSupport.framework */,
- 5133B28F80C74DA0A4EF900A /* libz.dylib */,
- 4A4D6FDE815144E3BC47859B /* libsqlite3.dylib */,
+ F685F82C990346D690E3964A /* FirebaseAnalytics.framework */,
+ FD9D2163E342476EB5E0C76F /* FirebaseCore.framework */,
+ 07EDF5A22AD84B9A9589735F /* FirebaseInstanceID.framework */,
+ 618739808BC6467DA23E8206 /* GoogleToolboxForMac.framework */,
+ 608DE9DAFDE94B8A861130BD /* Protobuf.framework */,
+ DC38B894F8C343BCA787D906 /* FirebaseMessaging.framework */,
+ 0710864CDF044948B1C18450 /* FirebaseCrash.framework */,
+ 4398FE67A32F4A6CA63E3979 /* FirebaseRemoteConfig.framework */,
);
name = Frameworks;
sourceTree = "<group>";
@@ -310,20 +315,13 @@
B195BD92B31445039168DCCC /* PushPlugin.m */,
40CE234F002F419597A039E4 /* AppDelegate+notification.h */,
9AA8E7740E114B6E967452F8 /* PushPlugin.h */,
- FFB5E8C21AD14D10A7088119 /* UniversalAnalyticsPlugin.m */,
- A37B0133EF7A42B6BAF5F317 /* UniversalAnalyticsPlugin.h */,
- 36C6224E10CC4C1DB3DEAAF4 /* GAIDictionaryBuilder.h */,
- 1380CC4A1CFE434BB20950B7 /* GAIFields.h */,
- 71D1AD5902B0425F8154F30F /* GAILogger.h */,
- 9A8A8193C2794F48888355D3 /* GAITrackedViewController.h */,
- 7EECC2D2BFEA43FE966814C6 /* GAI.h */,
- F52665B1E3624AACB50A72B1 /* GAITracker.h */,
- 2953CC1328564E13AE3FE7CD /* GAIEcommerceFields.h */,
- CAAD7EE259C942989156C616 /* GAIEcommerceProduct.h */,
- 8A49AF7CDE3040039CE14E5A /* GAIEcommerceProductAction.h */,
- E2AFABA192234A0E9C198427 /* GAIEcommercePromotion.h */,
4CDFA08638E64E9F9CDB1109 /* CDVStatusBar.m */,
80A8B3832B6347E09B3FB7EF /* CDVStatusBar.h */,
+ 5EC39C5B4DAE4FAD8CF8695D /* AppDelegate+FirebasePlugin.m */,
+ 3C3DDD8A49E340CF957F7B1F /* FirebasePlugin.m */,
+ 8214BDBCCC7A406D97F13D14 /* AppDelegate+FirebasePlugin.h */,
+ 6733A6B615EC46D9A22EF1BB /* FirebasePlugin.h */,
+ BB95C4F62552438CBF008B58 /* Firebase.h */,
);
name = Plugins;
path = "Stone Island/Plugins";
@@ -426,6 +424,7 @@
0207DA581B56EA530066E2B4 /* Images.xcassets in Resources */,
6AFF5BF91D6E424B00AB3073 /* CDVLaunchScreen.storyboard in Resources */,
099C5D0E05AF43F4B95AAA4A /* CDVNotification.bundle in Resources */,
+ 0FB747315D6F471689E642F5 /* GoogleService-Info.plist in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -516,8 +515,9 @@
E162E7029FC24C4595D1D82D /* IonicKeyboard.m in Sources */,
35DC9CF8FDC24E6DA829674B /* AppDelegate+notification.m in Sources */,
76C30D264E504728A7F0FD0C /* PushPlugin.m in Sources */,
- EE465A3641884122A7088AC5 /* UniversalAnalyticsPlugin.m in Sources */,
9DF0159ECE654EF1921606B9 /* CDVStatusBar.m in Sources */,
+ BC359FDFB50941649B56E28F /* AppDelegate+FirebasePlugin.m in Sources */,
+ C866439BEFD34ABD84D2C187 /* FirebasePlugin.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -548,6 +548,14 @@
"$(inherited)",
"\"Stone Island/Plugins/com.parse.cordova.core.pushplugin\"",
"\"Stone Island/Plugins/com.parse.cordova.core.pushplugin\"",
+ "\"Stone Island/Plugins/cordova-plugin-firebase\"",
+ "\"Stone Island/Plugins/cordova-plugin-firebase\"",
+ "\"Stone Island/Plugins/cordova-plugin-firebase\"",
+ "\"Stone Island/Plugins/cordova-plugin-firebase\"",
+ "\"Stone Island/Plugins/cordova-plugin-firebase\"",
+ "\"Stone Island/Plugins/cordova-plugin-firebase\"",
+ "\"Stone Island/Plugins/cordova-plugin-firebase\"",
+ "\"Stone Island/Plugins/cordova-plugin-firebase\"",
);
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
@@ -560,8 +568,6 @@
LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
- "\"$(SRCROOT)/Stone Island/Plugins/cordova-plugin-google-analytics\"",
- "\"$(SRCROOT)/Stone Island/Plugins/cordova-plugin-google-analytics\"",
);
PRODUCT_BUNDLE_IDENTIFIER = us.okfoc.stoneisland;
PRODUCT_NAME = "Stone Island";
@@ -585,6 +591,14 @@
"$(inherited)",
"\"Stone Island/Plugins/com.parse.cordova.core.pushplugin\"",
"\"Stone Island/Plugins/com.parse.cordova.core.pushplugin\"",
+ "\"Stone Island/Plugins/cordova-plugin-firebase\"",
+ "\"Stone Island/Plugins/cordova-plugin-firebase\"",
+ "\"Stone Island/Plugins/cordova-plugin-firebase\"",
+ "\"Stone Island/Plugins/cordova-plugin-firebase\"",
+ "\"Stone Island/Plugins/cordova-plugin-firebase\"",
+ "\"Stone Island/Plugins/cordova-plugin-firebase\"",
+ "\"Stone Island/Plugins/cordova-plugin-firebase\"",
+ "\"Stone Island/Plugins/cordova-plugin-firebase\"",
);
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "Stone Island/Stone Island-Prefix.pch";
@@ -595,8 +609,6 @@
LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
- "\"$(SRCROOT)/Stone Island/Plugins/cordova-plugin-google-analytics\"",
- "\"$(SRCROOT)/Stone Island/Plugins/cordova-plugin-google-analytics\"",
);
PRODUCT_BUNDLE_IDENTIFIER = us.okfoc.stoneisland;
PRODUCT_NAME = "Stone Island";
diff --git a/StoneIsland/platforms/ios/Stone Island.xcworkspace/xcuserdata/user.xcuserdatad/UserInterfaceState.xcuserstate b/StoneIsland/platforms/ios/Stone Island.xcworkspace/xcuserdata/user.xcuserdatad/UserInterfaceState.xcuserstate
index c4d6d031..1a91f77a 100644
--- a/StoneIsland/platforms/ios/Stone Island.xcworkspace/xcuserdata/user.xcuserdatad/UserInterfaceState.xcuserstate
+++ b/StoneIsland/platforms/ios/Stone Island.xcworkspace/xcuserdata/user.xcuserdatad/UserInterfaceState.xcuserstate
Binary files differ
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/AppDelegate+FirebasePlugin.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/AppDelegate+FirebasePlugin.h
new file mode 100755
index 00000000..210cbb65
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/AppDelegate+FirebasePlugin.h
@@ -0,0 +1,5 @@
+#import "AppDelegate.h"
+
+@interface AppDelegate (FirebasePlugin)
+@property (nonatomic, strong) NSNumber *applicationInBackground;
+@end
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/AppDelegate+FirebasePlugin.m b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/AppDelegate+FirebasePlugin.m
new file mode 100755
index 00000000..c4c45778
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/AppDelegate+FirebasePlugin.m
@@ -0,0 +1,132 @@
+#import "AppDelegate+FirebasePlugin.h"
+#import "FirebasePlugin.h"
+#import "Firebase.h"
+#import <objc/runtime.h>
+
+#if defined(__IPHONE_10_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0
+@import UserNotifications;
+#endif
+
+// Implement UNUserNotificationCenterDelegate to receive display notification via APNS for devices
+// running iOS 10 and above. Implement FIRMessagingDelegate to receive data message via FCM for
+// devices running iOS 10 and above.
+#if defined(__IPHONE_10_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0
+@interface AppDelegate () <UNUserNotificationCenterDelegate, FIRMessagingDelegate>
+@end
+#endif
+
+#define kApplicationInBackgroundKey @"applicationInBackground"
+
+@implementation AppDelegate (FirebasePlugin)
+
++ (void)load {
+ Method original = class_getInstanceMethod(self, @selector(application:didFinishLaunchingWithOptions:));
+ Method swizzled = class_getInstanceMethod(self, @selector(application:swizzledDidFinishLaunchingWithOptions:));
+ method_exchangeImplementations(original, swizzled);
+}
+
+- (void)setApplicationInBackground:(NSNumber *)applicationInBackground {
+ objc_setAssociatedObject(self, kApplicationInBackgroundKey, applicationInBackground, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
+}
+
+- (NSNumber *)applicationInBackground {
+ return objc_getAssociatedObject(self, kApplicationInBackgroundKey);
+}
+
+- (BOOL)application:(UIApplication *)application swizzledDidFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
+ [self application:application swizzledDidFinishLaunchingWithOptions:launchOptions];
+
+ if(![FIRApp defaultApp]) {
+ [FIRApp configure];
+ }
+
+ [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(tokenRefreshNotification:)
+ name:kFIRInstanceIDTokenRefreshNotification object:nil];
+
+ self.applicationInBackground = @(YES);
+
+ return YES;
+}
+
+- (void)applicationDidBecomeActive:(UIApplication *)application {
+ [self connectToFcm];
+ self.applicationInBackground = @(NO);
+}
+
+- (void)applicationDidEnterBackground:(UIApplication *)application {
+ [[FIRMessaging messaging] disconnect];
+ self.applicationInBackground = @(YES);
+ NSLog(@"Disconnected from FCM");
+}
+
+- (void)tokenRefreshNotification:(NSNotification *)notification {
+ // Note that this callback will be fired everytime a new token is generated, including the first
+ // time. So if you need to retrieve the token as soon as it is available this is where that
+ // should be done.
+ NSString *refreshedToken = [[FIRInstanceID instanceID] token];
+ NSLog(@"InstanceID token: %@", refreshedToken);
+
+ // Connect to FCM since connection may have failed when attempted before having a token.
+ [self connectToFcm];
+
+ [FirebasePlugin.firebasePlugin sendToken:refreshedToken];
+}
+
+- (void)connectToFcm {
+ [[FIRMessaging messaging] connectWithCompletion:^(NSError * _Nullable error) {
+ if (error != nil) {
+ NSLog(@"Unable to connect to FCM. %@", error);
+ } else {
+ NSLog(@"Connected to FCM.");
+ NSString *refreshedToken = [[FIRInstanceID instanceID] token];
+ NSLog(@"InstanceID token: %@", refreshedToken);
+ }
+ }];
+}
+
+- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
+ NSDictionary *mutableUserInfo = [userInfo mutableCopy];
+
+ [mutableUserInfo setValue:self.applicationInBackground forKey:@"tap"];
+
+ // Pring full message.
+ NSLog(@"%@", mutableUserInfo);
+
+ [FirebasePlugin.firebasePlugin sendNotification:mutableUserInfo];
+}
+
+- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
+ fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
+
+ NSDictionary *mutableUserInfo = [userInfo mutableCopy];
+
+ [mutableUserInfo setValue:self.applicationInBackground forKey:@"tap"];
+
+ // Pring full message.
+ NSLog(@"%@", mutableUserInfo);
+
+ [FirebasePlugin.firebasePlugin sendNotification:mutableUserInfo];
+}
+
+#if defined(__IPHONE_10_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0
+- (void)userNotificationCenter:(UNUserNotificationCenter *)center
+ willPresentNotification:(UNNotification *)notification
+ withCompletionHandler:(void (^)(UNNotificationPresentationOptions))completionHandler {
+ NSDictionary *mutableUserInfo = [notification.request.content.userInfo mutableCopy];
+
+ [mutableUserInfo setValue:self.applicationInBackground forKey:@"tap"];
+
+ // Pring full message.
+ NSLog(@"%@", mutableUserInfo);
+
+ [FirebasePlugin.firebasePlugin sendNotification:mutableUserInfo];
+}
+
+// Receive data message on iOS 10 devices.
+- (void)applicationReceivedRemoteMessage:(FIRMessagingRemoteMessage *)remoteMessage {
+ // Print full message
+ NSLog(@"%@", [remoteMessage appData]);
+}
+#endif
+
+@end
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/Firebase.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/Firebase.h
new file mode 100644
index 00000000..90798a6a
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/Firebase.h
@@ -0,0 +1,52 @@
+#import <FirebaseAnalytics/FirebaseAnalytics.h>
+#import <FirebaseCore/FirebaseCore.h>
+
+#if !defined(__has_include)
+ #error "Firebase.h won't import anything if your compiler doesn't support __has_include. Please \
+ import the headers individually."
+#else
+ #if __has_include(<FirebaseAppIndexing/FirebaseAppIndexing.h>)
+ #import <FirebaseAppIndexing/FirebaseAppIndexing.h>
+ #endif
+
+ #if __has_include(<FirebaseAuth/FirebaseAuth.h>)
+ #import <FirebaseAuth/FirebaseAuth.h>
+ #endif
+
+ #if __has_include(<FirebaseCrash/FirebaseCrash.h>)
+ #import <FirebaseCrash/FirebaseCrash.h>
+ #endif
+
+ #if __has_include(<FirebaseDatabase/FirebaseDatabase.h>)
+ #import <FirebaseDatabase/FirebaseDatabase.h>
+ #endif
+
+ #if __has_include(<FirebaseDynamicLinks/FirebaseDynamicLinks.h>)
+ #import <FirebaseDynamicLinks/FirebaseDynamicLinks.h>
+ #endif
+
+ #if __has_include(<FirebaseInstanceID/FirebaseInstanceID.h>)
+ #import <FirebaseInstanceID/FirebaseInstanceID.h>
+ #endif
+
+ #if __has_include(<FirebaseInvites/FirebaseInvites.h>)
+ #import <FirebaseInvites/FirebaseInvites.h>
+ #endif
+
+ #if __has_include(<FirebaseMessaging/FirebaseMessaging.h>)
+ #import <FirebaseMessaging/FirebaseMessaging.h>
+ #endif
+
+ #if __has_include(<FirebaseRemoteConfig/FirebaseRemoteConfig.h>)
+ #import <FirebaseRemoteConfig/FirebaseRemoteConfig.h>
+ #endif
+
+ #if __has_include(<FirebaseStorage/FirebaseStorage.h>)
+ #import <FirebaseStorage/FirebaseStorage.h>
+ #endif
+
+ #if __has_include(<GoogleMobileAds/GoogleMobileAds.h>)
+ #import <GoogleMobileAds/GoogleMobileAds.h>
+ #endif
+
+#endif // defined(__has_include)
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/FirebaseAnalytics b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/FirebaseAnalytics
new file mode 100755
index 00000000..61f61cd1
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/FirebaseAnalytics
Binary files differ
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h
new file mode 100755
index 00000000..e3ff4c12
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FIRAnalytics+AppDelegate.h
@@ -0,0 +1,57 @@
+#import <Foundation/Foundation.h>
+
+#import "FIRAnalytics.h"
+
+/**
+ * Provides App Delegate handlers to be used in your App Delegate.
+ *
+ * To save time integrating Firebase Analytics in an application, Firebase Analytics does not
+ * require delegation implementation from the AppDelegate. Instead this is automatically done by
+ * Firebase Analytics. Should you choose instead to delegate manually, you can turn off the App
+ * Delegate Proxy by adding FirebaseAppDelegateProxyEnabled into your app's Info.plist and setting
+ * it to NO, and adding the methods in this category to corresponding delegation handlers.
+ *
+ * To handle Universal Links, you must return YES in
+ * [UIApplicationDelegate application:didFinishLaunchingWithOptions:].
+ */
+@interface FIRAnalytics (AppDelegate)
+
+/**
+ * Handles events related to a URL session that are waiting to be processed.
+ *
+ * For optimal use of Firebase Analytics, call this method from the
+ * [UIApplicationDelegate application:handleEventsForBackgroundURLSession:completionHandler]
+ * method of the app delegate in your app.
+ *
+ * @param identifier The identifier of the URL session requiring attention.
+ * @param completionHandler The completion handler to call when you finish processing the events.
+ * Calling this completion handler lets the system know that your app's user interface is
+ * updated and a new snapshot can be taken.
+ */
++ (void)handleEventsForBackgroundURLSession:(NSString *)identifier
+ completionHandler:(void (^)(void))completionHandler;
+
+/**
+ * Handles the event when the app is launched by a URL.
+ *
+ * Call this method from [UIApplicationDelegate application:openURL:options:] (on iOS 9.0 and
+ * above), or [UIApplicationDelegate application:openURL:sourceApplication:annotation:] (on iOS 8.x
+ * and below) in your app.
+ *
+ * @param url The URL resource to open. This resource can be a network resource or a file.
+ */
++ (void)handleOpenURL:(NSURL *)url;
+
+/**
+ * Handles the event when the app receives data associated with user activity that includes a
+ * Universal Link (on iOS 9.0 and above).
+ *
+ * Call this method from [UIApplication continueUserActivity:restorationHandler:] in your app
+ * delegate (on iOS 9.0 and above).
+ *
+ * @param userActivity The activity object containing the data associated with the task the user
+ * was performing.
+ */
++ (void)handleUserActivity:(id)userActivity;
+
+@end
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FIRAnalytics.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FIRAnalytics.h
new file mode 100755
index 00000000..f5023f57
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FIRAnalytics.h
@@ -0,0 +1,102 @@
+#import <Foundation/Foundation.h>
+
+#import "FIREventNames.h"
+#import "FIRParameterNames.h"
+#import "FIRUserPropertyNames.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// The top level Firebase Analytics singleton that provides methods for logging events and setting
+/// user properties. See <a href="http://goo.gl/gz8SLz">the developer guides</a> for general
+/// information on using Firebase Analytics in your apps.
+@interface FIRAnalytics : NSObject
+
+/// Logs an app event. The event can have up to 25 parameters. Events with the same name must have
+/// the same parameters. Up to 500 event names are supported. Using predefined events and/or
+/// parameters is recommended for optimal reporting.
+///
+/// The following event names are reserved and cannot be used:
+/// <ul>
+/// <li>app_clear_data</li>
+/// <li>app_remove</li>
+/// <li>app_update</li>
+/// <li>error</li>
+/// <li>first_open</li>
+/// <li>in_app_purchase</li>
+/// <li>notification_dismiss</li>
+/// <li>notification_foreground</li>
+/// <li>notification_open</li>
+/// <li>notification_receive</li>
+/// <li>os_update</li>
+/// <li>session_start</li>
+/// <li>user_engagement</li>
+/// </ul>
+///
+/// @param name The name of the event. Should contain 1 to 40 alphanumeric characters or
+/// underscores. The name must start with an alphabetic character. Some event names are
+/// reserved. See FIREventNames.h for the list of reserved event names. The "firebase_" prefix
+/// is reserved and should not be used. Note that event names are case-sensitive and that
+/// logging two events whose names differ only in case will result in two distinct events.
+/// @param parameters The dictionary of event parameters. Passing nil indicates that the event has
+/// no parameters. Parameter names can be up to 40 characters long and must start with an
+/// alphabetic character and contain only alphanumeric characters and underscores. Only NSString
+/// and NSNumber (signed 64-bit integer and 64-bit floating-point number) parameter types are
+/// supported. NSString parameter values can be up to 100 characters long. The "firebase_"
+/// prefix is reserved and should not be used for parameter names.
++ (void)logEventWithName:(NSString *)name
+ parameters:(nullable NSDictionary<NSString *, NSObject *> *)parameters;
+
+/// Sets a user property to a given value. Up to 25 user property names are supported. Once set,
+/// user property values persist throughout the app lifecycle and across sessions.
+///
+/// The following user property names are reserved and cannot be used:
+/// <ul>
+/// <li>first_open_time</li>
+/// <li>last_deep_link_referrer</li>
+/// <li>user_id</li>
+/// </ul>
+///
+/// @param value The value of the user property. Values can be up to 36 characters long. Setting the
+/// value to nil removes the user property.
+/// @param name The name of the user property to set. Should contain 1 to 24 alphanumeric characters
+/// or underscores and must start with an alphabetic character. The "firebase_" prefix is
+/// reserved and should not be used for user property names.
++ (void)setUserPropertyString:(nullable NSString *)value forName:(NSString *)name;
+
+/// Sets the user ID property. This feature must be used in accordance with
+/// <a href="https://www.google.com/policies/privacy">Google's Privacy Policy</a>
+///
+/// @param userID The user ID to ascribe to the user of this app on this device, which must be
+/// non-empty and no more than 36 characters long. Setting userID to nil removes the user ID.
++ (void)setUserID:(nullable NSString *)userID;
+
+/// Sets the current screen name, which specifies the current visual context in your app. This helps
+/// identify the areas in your app where users spend their time and how they interact with your app.
+///
+/// Note that screen reporting is enabled automatically and records the class name of the current
+/// UIViewController for you without requiring you to call this method. If you implement
+/// viewDidAppear in your UIViewController but do not call [super viewDidAppear:], that screen class
+/// will not be automatically tracked. The class name can optionally be overridden by calling this
+/// method in the viewDidAppear callback of your UIViewController and specifying the
+/// screenClassOverride parameter.
+///
+/// If your app does not use a distinct UIViewController for each screen, you should call this
+/// method and specify a distinct screenName each time a new screen is presented to the user.
+///
+/// The screen name and screen class remain in effect until the current UIViewController changes or
+/// a new call to setScreenName:screenClass: is made.
+///
+/// @param screenName The name of the current screen. Should contain 1 to 100 characters. Set to nil
+/// to clear the current screen name.
+/// @param screenClassOverride The name of the screen class. Should contain 1 to 100 characters. By
+/// default this is the class name of the current UIViewController. Set to nil to revert to the
+/// default class name.
++ (void)setScreenName:(nullable NSString *)screenName
+ screenClass:(nullable NSString *)screenClassOverride;
+
+/// The unique ID for this instance of the application.
++ (NSString *)appInstanceID;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FIRAnalyticsConfiguration.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FIRAnalyticsConfiguration.h
new file mode 100755
index 00000000..dc227a4c
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FIRAnalyticsConfiguration.h
@@ -0,0 +1 @@
+#import <FirebaseCore/FIRAnalyticsConfiguration.h>
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FIRApp.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FIRApp.h
new file mode 100755
index 00000000..de24da17
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FIRApp.h
@@ -0,0 +1 @@
+#import <FirebaseCore/FIRApp.h>
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FIRConfiguration.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FIRConfiguration.h
new file mode 100755
index 00000000..be2ff7bf
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FIRConfiguration.h
@@ -0,0 +1 @@
+#import <FirebaseCore/FIRConfiguration.h>
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FIREventNames.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FIREventNames.h
new file mode 100755
index 00000000..3b40eecf
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FIREventNames.h
@@ -0,0 +1,336 @@
+/// @file FIREventNames.h
+///
+/// Predefined event names.
+///
+/// An Event is an important occurrence in your app that you want to measure. You can report up to
+/// 500 different types of Events per app and you can associate up to 25 unique parameters with each
+/// Event type. Some common events are suggested below, but you may also choose to specify custom
+/// Event types that are associated with your specific app. Each event type is identified by a
+/// unique name. Event names can be up to 40 characters long, may only contain alphanumeric
+/// characters and underscores ("_"), and must start with an alphabetic character. The "firebase_"
+/// prefix is reserved and should not be used.
+
+/// Add Payment Info event. This event signifies that a user has submitted their payment information
+/// to your app.
+static NSString *const kFIREventAddPaymentInfo = @"add_payment_info";
+
+/// E-Commerce Add To Cart event. This event signifies that an item was added to a cart for
+/// purchase. Add this event to a funnel with kFIREventEcommercePurchase to gauge the effectiveness
+/// of your checkout process. Note: If you supply the @c kFIRParameterValue parameter, you must
+/// also supply the @c kFIRParameterCurrency parameter so that revenue metrics can be computed
+/// accurately. Params:
+///
+/// <ul>
+/// <li>@c kFIRParameterQuantity (signed 64-bit integer as NSNumber)</li>
+/// <li>@c kFIRParameterItemID (NSString)</li>
+/// <li>@c kFIRParameterItemName (NSString)</li>
+/// <li>@c kFIRParameterItemCategory (NSString)</li>
+/// <li>@c kFIRParameterItemLocationID (NSString) (optional)</li>
+/// <li>@c kFIRParameterPrice (double as NSNumber) (optional)</li>
+/// <li>@c kFIRParameterCurrency (NSString) (optional)</li>
+/// <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+/// <li>@c kFIRParameterOrigin (NSString) (optional)</li>
+/// <li>@c kFIRParameterDestination (NSString) (optional)</li>
+/// <li>@c kFIRParameterStartDate (NSString) (optional)</li>
+/// <li>@c kFIRParameterEndDate (NSString) (optional)</li>
+/// </ul>
+static NSString *const kFIREventAddToCart = @"add_to_cart";
+
+/// E-Commerce Add To Wishlist event. This event signifies that an item was added to a wishlist.
+/// Use this event to identify popular gift items in your app. Note: If you supply the
+/// @c kFIRParameterValue parameter, you must also supply the @c kFIRParameterCurrency
+/// parameter so that revenue metrics can be computed accurately. Params:
+///
+/// <ul>
+/// <li>@c kFIRParameterQuantity (signed 64-bit integer as NSNumber)</li>
+/// <li>@c kFIRParameterItemID (NSString)</li>
+/// <li>@c kFIRParameterItemName (NSString)</li>
+/// <li>@c kFIRParameterItemCategory (NSString)</li>
+/// <li>@c kFIRParameterItemLocationID (NSString) (optional)</li>
+/// <li>@c kFIRParameterPrice (double as NSNumber) (optional)</li>
+/// <li>@c kFIRParameterCurrency (NSString) (optional)</li>
+/// <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+/// </ul>
+static NSString *const kFIREventAddToWishlist = @"add_to_wishlist";
+
+/// App Open event. By logging this event when an App is moved to the foreground, developers can
+/// understand how often users leave and return during the course of a Session. Although Sessions
+/// are automatically reported, this event can provide further clarification around the continuous
+/// engagement of app-users.
+static NSString *const kFIREventAppOpen = @"app_open";
+
+/// E-Commerce Begin Checkout event. This event signifies that a user has begun the process of
+/// checking out. Add this event to a funnel with your kFIREventEcommercePurchase event to gauge the
+/// effectiveness of your checkout process. Note: If you supply the @c kFIRParameterValue
+/// parameter, you must also supply the @c kFIRParameterCurrency parameter so that revenue
+/// metrics can be computed accurately. Params:
+///
+/// <ul>
+/// <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+/// <li>@c kFIRParameterCurrency (NSString) (optional)</li>
+/// <li>@c kFIRParameterTransactionID (NSString) (optional)</li>
+/// <li>@c kFIRParameterStartDate (NSString) (optional)</li>
+/// <li>@c kFIRParameterEndDate (NSString) (optional)</li>
+/// <li>@c kFIRParameterNumberOfNights (signed 64-bit integer as NSNumber) (optional) for
+/// hotel bookings</li>
+/// <li>@c kFIRParameterNumberOfRooms (signed 64-bit integer as NSNumber) (optional) for
+/// hotel bookings</li>
+/// <li>@c kFIRParameterNumberOfPassengers (signed 64-bit integer as NSNumber) (optional)
+/// for travel bookings</li>
+/// <li>@c kFIRParameterOrigin (NSString) (optional)</li>
+/// <li>@c kFIRParameterDestination (NSString) (optional)</li>
+/// <li>@c kFIRParameterTravelClass (NSString) (optional) for travel bookings</li>
+/// </ul>
+static NSString *const kFIREventBeginCheckout = @"begin_checkout";
+
+/// Campaign Detail event. Log this event to supply the referral details of a re-engagement
+/// campaign. Note: you must supply at least one of the required parameters kFIRParameterSource,
+/// kFIRParameterMedium or kFIRParameterCampaign. Params:
+///
+/// <ul>
+/// <li>@c kFIRParameterSource (NSString)</li>
+/// <li>@c kFIRParameterMedium (NSString)</li>
+/// <li>@c kFIRParameterCampaign (NSString)</li>
+/// <li>@c kFIRParameterTerm (NSString) (optional)</li>
+/// <li>@c kFIRParameterContent (NSString) (optional)</li>
+/// <li>@c kFIRParameterAdNetworkClickID (NSString) (optional)</li>
+/// <li>@c kFIRParameterCP1 (NSString) (optional)</li>
+/// </ul>
+static NSString *const kFIREventCampaignDetails = @"campaign_details";
+
+/// Earn Virtual Currency event. This event tracks the awarding of virtual currency in your app. Log
+/// this along with @c kFIREventSpendVirtualCurrency to better understand your virtual economy.
+/// Params:
+///
+/// <ul>
+/// <li>@c kFIRParameterVirtualCurrencyName (NSString)</li>
+/// <li>@c kFIRParameterValue (signed 64-bit integer or double as NSNumber)</li>
+/// </ul>
+static NSString *const kFIREventEarnVirtualCurrency = @"earn_virtual_currency";
+
+/// E-Commerce Purchase event. This event signifies that an item was purchased by a user. Note:
+/// This is different from the in-app purchase event, which is reported automatically for App
+/// Store-based apps. Note: If you supply the @c kFIRParameterValue parameter, you must also
+/// supply the @c kFIRParameterCurrency parameter so that revenue metrics can be computed
+/// accurately. Params:
+///
+/// <ul>
+/// <li>@c kFIRParameterCurrency (NSString) (optional)</li>
+/// <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+/// <li>@c kFIRParameterTransactionID (NSString) (optional)</li>
+/// <li>@c kFIRParameterTax (double as NSNumber) (optional)</li>
+/// <li>@c kFIRParameterShipping (double as NSNumber) (optional)</li>
+/// <li>@c kFIRParameterCoupon (NSString) (optional)</li>
+/// <li>@c kFIRParameterLocation (NSString) (optional)</li>
+/// <li>@c kFIRParameterStartDate (NSString) (optional)</li>
+/// <li>@c kFIRParameterEndDate (NSString) (optional)</li>
+/// <li>@c kFIRParameterNumberOfNights (signed 64-bit integer as NSNumber) (optional) for
+/// hotel bookings</li>
+/// <li>@c kFIRParameterNumberOfRooms (signed 64-bit integer as NSNumber) (optional) for
+/// hotel bookings</li>
+/// <li>@c kFIRParameterNumberOfPassengers (signed 64-bit integer as NSNumber) (optional)
+/// for travel bookings</li>
+/// <li>@c kFIRParameterOrigin (NSString) (optional)</li>
+/// <li>@c kFIRParameterDestination (NSString) (optional)</li>
+/// <li>@c kFIRParameterTravelClass (NSString) (optional) for travel bookings</li>
+/// </ul>
+static NSString *const kFIREventEcommercePurchase = @"ecommerce_purchase";
+
+/// Generate Lead event. Log this event when a lead has been generated in the app to understand the
+/// efficacy of your install and re-engagement campaigns. Note: If you supply the
+/// @c kFIRParameterValue parameter, you must also supply the @c kFIRParameterCurrency
+/// parameter so that revenue metrics can be computed accurately. Params:
+///
+/// <ul>
+/// <li>@c kFIRParameterCurrency (NSString) (optional)</li>
+/// <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+/// </ul>
+static NSString *const kFIREventGenerateLead = @"generate_lead";
+
+/// Join Group event. Log this event when a user joins a group such as a guild, team or family. Use
+/// this event to analyze how popular certain groups or social features are in your app. Params:
+///
+/// <ul>
+/// <li>@c kFIRParameterGroupID (NSString)</li>
+/// </ul>
+static NSString *const kFIREventJoinGroup = @"join_group";
+
+/// Level Up event. This event signifies that a player has leveled up in your gaming app. It can
+/// help you gauge the level distribution of your userbase and help you identify certain levels that
+/// are difficult to pass. Params:
+///
+/// <ul>
+/// <li>@c kFIRParameterLevel (signed 64-bit integer as NSNumber)</li>
+/// <li>@c kFIRParameterCharacter (NSString) (optional)</li>
+/// </ul>
+static NSString *const kFIREventLevelUp = @"level_up";
+
+/// Login event. Apps with a login feature can report this event to signify that a user has logged
+/// in.
+static NSString *const kFIREventLogin = @"login";
+
+/// Post Score event. Log this event when the user posts a score in your gaming app. This event can
+/// help you understand how users are actually performing in your game and it can help you correlate
+/// high scores with certain audiences or behaviors. Params:
+///
+/// <ul>
+/// <li>@c kFIRParameterScore (signed 64-bit integer as NSNumber)</li>
+/// <li>@c kFIRParameterLevel (signed 64-bit integer as NSNumber) (optional)</li>
+/// <li>@c kFIRParameterCharacter (NSString) (optional)</li>
+/// </ul>
+static NSString *const kFIREventPostScore = @"post_score";
+
+/// Present Offer event. This event signifies that the app has presented a purchase offer to a user.
+/// Add this event to a funnel with the kFIREventAddToCart and kFIREventEcommercePurchase to gauge
+/// your conversion process. Note: If you supply the @c kFIRParameterValue parameter, you must
+/// also supply the @c kFIRParameterCurrency parameter so that revenue metrics can be computed
+/// accurately. Params:
+///
+/// <ul>
+/// <li>@c kFIRParameterQuantity (signed 64-bit integer as NSNumber)</li>
+/// <li>@c kFIRParameterItemID (NSString)</li>
+/// <li>@c kFIRParameterItemName (NSString)</li>
+/// <li>@c kFIRParameterItemCategory (NSString)</li>
+/// <li>@c kFIRParameterItemLocationID (NSString) (optional)</li>
+/// <li>@c kFIRParameterPrice (double as NSNumber) (optional)</li>
+/// <li>@c kFIRParameterCurrency (NSString) (optional)</li>
+/// <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+/// </ul>
+static NSString *const kFIREventPresentOffer = @"present_offer";
+
+/// E-Commerce Purchase Refund event. This event signifies that an item purchase was refunded.
+/// Note: If you supply the @c kFIRParameterValue parameter, you must also supply the
+/// @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately.
+/// Params:
+///
+/// <ul>
+/// <li>@c kFIRParameterCurrency (NSString) (optional)</li>
+/// <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+/// <li>@c kFIRParameterTransactionID (NSString) (optional)</li>
+/// </ul>
+static NSString *const kFIREventPurchaseRefund = @"purchase_refund";
+
+/// Search event. Apps that support search features can use this event to contextualize search
+/// operations by supplying the appropriate, corresponding parameters. This event can help you
+/// identify the most popular content in your app. Params:
+///
+/// <ul>
+/// <li>@c kFIRParameterSearchTerm (NSString)</li>
+/// <li>@c kFIRParameterStartDate (NSString) (optional)</li>
+/// <li>@c kFIRParameterEndDate (NSString) (optional)</li>
+/// <li>@c kFIRParameterNumberOfNights (signed 64-bit integer as NSNumber) (optional) for
+/// hotel bookings</li>
+/// <li>@c kFIRParameterNumberOfRooms (signed 64-bit integer as NSNumber) (optional) for
+/// hotel bookings</li>
+/// <li>@c kFIRParameterNumberOfPassengers (signed 64-bit integer as NSNumber) (optional)
+/// for travel bookings</li>
+/// <li>@c kFIRParameterOrigin (NSString) (optional)</li>
+/// <li>@c kFIRParameterDestination (NSString) (optional)</li>
+/// <li>@c kFIRParameterTravelClass (NSString) (optional) for travel bookings</li>
+/// </ul>
+static NSString *const kFIREventSearch = @"search";
+
+/// Select Content event. This general purpose event signifies that a user has selected some content
+/// of a certain type in an app. The content can be any object in your app. This event can help you
+/// identify popular content and categories of content in your app. Params:
+///
+/// <ul>
+/// <li>@c kFIRParameterContentType (NSString)</li>
+/// <li>@c kFIRParameterItemID (NSString)</li>
+/// </ul>
+static NSString *const kFIREventSelectContent = @"select_content";
+
+/// Share event. Apps with social features can log the Share event to identify the most viral
+/// content. Params:
+///
+/// <ul>
+/// <li>@c kFIRParameterContentType (NSString)</li>
+/// <li>@c kFIRParameterItemID (NSString)</li>
+/// </ul>
+static NSString *const kFIREventShare = @"share";
+
+/// Sign Up event. This event indicates that a user has signed up for an account in your app. The
+/// parameter signifies the method by which the user signed up. Use this event to understand the
+/// different behaviors between logged in and logged out users. Params:
+///
+/// <ul>
+/// <li>@c kFIRParameterSignUpMethod (NSString)</li>
+/// </ul>
+static NSString *const kFIREventSignUp = @"sign_up";
+
+/// Spend Virtual Currency event. This event tracks the sale of virtual goods in your app and can
+/// help you identify which virtual goods are the most popular objects of purchase. Params:
+///
+/// <ul>
+/// <li>@c kFIRParameterItemName (NSString)</li>
+/// <li>@c kFIRParameterVirtualCurrencyName (NSString)</li>
+/// <li>@c kFIRParameterValue (signed 64-bit integer or double as NSNumber)</li>
+/// </ul>
+static NSString *const kFIREventSpendVirtualCurrency = @"spend_virtual_currency";
+
+/// Tutorial Begin event. This event signifies the start of the on-boarding process in your app. Use
+/// this in a funnel with kFIREventTutorialComplete to understand how many users complete this
+/// process and move on to the full app experience.
+static NSString *const kFIREventTutorialBegin = @"tutorial_begin";
+
+/// Tutorial End event. Use this event to signify the user's completion of your app's on-boarding
+/// process. Add this to a funnel with kFIREventTutorialBegin to gauge the completion rate of your
+/// on-boarding process.
+static NSString *const kFIREventTutorialComplete = @"tutorial_complete";
+
+/// Unlock Achievement event. Log this event when the user has unlocked an achievement in your
+/// game. Since achievements generally represent the breadth of a gaming experience, this event can
+/// help you understand how many users are experiencing all that your game has to offer. Params:
+///
+/// <ul>
+/// <li>@c kFIRParameterAchievementID (NSString)</li>
+/// </ul>
+static NSString *const kFIREventUnlockAchievement = @"unlock_achievement";
+
+/// View Item event. This event signifies that some content was shown to the user. This content may
+/// be a product, a webpage or just a simple image or text. Use the appropriate parameters to
+/// contextualize the event. Use this event to discover the most popular items viewed in your app.
+/// Note: If you supply the @c kFIRParameterValue parameter, you must also supply the
+/// @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately.
+/// Params:
+///
+/// <ul>
+/// <li>@c kFIRParameterItemID (NSString)</li>
+/// <li>@c kFIRParameterItemName (NSString)</li>
+/// <li>@c kFIRParameterItemCategory (NSString)</li>
+/// <li>@c kFIRParameterItemLocationID (NSString) (optional)</li>
+/// <li>@c kFIRParameterPrice (double as NSNumber) (optional)</li>
+/// <li>@c kFIRParameterQuantity (signed 64-bit integer as NSNumber) (optional)</li>
+/// <li>@c kFIRParameterCurrency (NSString) (optional)</li>
+/// <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
+/// <li>@c kFIRParameterStartDate (NSString) (optional)</li>
+/// <li>@c kFIRParameterEndDate (NSString) (optional)</li>
+/// <li>@c kFIRParameterFlightNumber (NSString) (optional) for travel bookings</li>
+/// <li>@c kFIRParameterNumberOfPassengers (signed 64-bit integer as NSNumber) (optional)
+/// for travel bookings</li>
+/// <li>@c kFIRParameterNumberOfNights (signed 64-bit integer as NSNumber) (optional) for
+/// travel bookings</li>
+/// <li>@c kFIRParameterNumberOfRooms (signed 64-bit integer as NSNumber) (optional) for
+/// travel bookings</li>
+/// <li>@c kFIRParameterOrigin (NSString) (optional)</li>
+/// <li>@c kFIRParameterDestination (NSString) (optional)</li>
+/// <li>@c kFIRParameterSearchTerm (NSString) (optional) for travel bookings</li>
+/// <li>@c kFIRParameterTravelClass (NSString) (optional) for travel bookings</li>
+/// </ul>
+static NSString *const kFIREventViewItem = @"view_item";
+
+/// View Item List event. Log this event when the user has been presented with a list of items of a
+/// certain category. Params:
+///
+/// <ul>
+/// <li>@c kFIRParameterItemCategory (NSString)</li>
+/// </ul>
+static NSString *const kFIREventViewItemList = @"view_item_list";
+
+/// View Search Results event. Log this event when the user has been presented with the results of a
+/// search. Params:
+///
+/// <ul>
+/// <li>@c kFIRParameterSearchTerm (NSString)</li>
+/// </ul>
+static NSString *const kFIREventViewSearchResults = @"view_search_results";
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FIROptions.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FIROptions.h
new file mode 100755
index 00000000..126824b0
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FIROptions.h
@@ -0,0 +1 @@
+#import <FirebaseCore/FIROptions.h>
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FIRParameterNames.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FIRParameterNames.h
new file mode 100755
index 00000000..a43e3473
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FIRParameterNames.h
@@ -0,0 +1,369 @@
+/// @file FIRParameterNames.h
+///
+/// Predefined event parameter names.
+///
+/// Params supply information that contextualize Events. You can associate up to 25 unique Params
+/// with each Event type. Some Params are suggested below for certain common Events, but you are
+/// not limited to these. You may supply extra Params for suggested Events or custom Params for
+/// Custom events. Param names can be up to 40 characters long, may only contain alphanumeric
+/// characters and underscores ("_"), and must start with an alphabetic character. Param values can
+/// be up to 100 characters long. The "firebase_" prefix is reserved and should not be used.
+
+/// Game achievement ID (NSString).
+/// <pre>
+/// NSDictionary *params = @{
+/// kFIRParameterAchievementID : @"10_matches_won",
+/// // ...
+/// };
+/// </pre>
+static NSString *const kFIRParameterAchievementID = @"achievement_id";
+
+/// Ad Network Click ID (NSString). Used for network-specific click IDs which vary in format.
+/// <pre>
+/// NSDictionary *params = @{
+/// kFIRParameterAdNetworkClickID : @"1234567",
+/// // ...
+/// };
+/// </pre>
+static NSString *const kFIRParameterAdNetworkClickID = @"aclid";
+
+/// The individual campaign name, slogan, promo code, etc. Some networks have pre-defined macro to
+/// capture campaign information, otherwise can be populated by developer. Highly Recommended
+/// (NSString).
+/// <pre>
+/// NSDictionary *params = @{
+/// kFIRParameterCampaign : @"winter_promotion",
+/// // ...
+/// };
+/// </pre>
+static NSString *const kFIRParameterCampaign = @"campaign";
+
+/// Character used in game (NSString).
+/// <pre>
+/// NSDictionary *params = @{
+/// kFIRParameterCharacter : @"beat_boss",
+/// // ...
+/// };
+/// </pre>
+static NSString *const kFIRParameterCharacter = @"character";
+
+/// Campaign content (NSString).
+static NSString *const kFIRParameterContent = @"content";
+
+/// Type of content selected (NSString).
+/// <pre>
+/// NSDictionary *params = @{
+/// kFIRParameterContentType : @"news article",
+/// // ...
+/// };
+/// </pre>
+static NSString *const kFIRParameterContentType = @"content_type";
+
+/// Coupon code for a purchasable item (NSString).
+/// <pre>
+/// NSDictionary *params = @{
+/// kFIRParameterCoupon : @"zz123",
+/// // ...
+/// };
+/// </pre>
+static NSString *const kFIRParameterCoupon = @"coupon";
+
+/// Campaign custom parameter (NSString). Used as a method of capturing custom data in a campaign.
+/// Use varies by network.
+/// <pre>
+/// NSDictionary *params = @{
+/// kFIRParameterCP1 : @"custom_data",
+/// // ...
+/// };
+/// </pre>
+static NSString *const kFIRParameterCP1 = @"cp1";
+
+/// Purchase currency in 3-letter <a href="http://en.wikipedia.org/wiki/ISO_4217#Active_codes">
+/// ISO_4217</a> format (NSString).
+/// <pre>
+/// NSDictionary *params = @{
+/// kFIRParameterCurrency : @"USD",
+/// // ...
+/// };
+/// </pre>
+static NSString *const kFIRParameterCurrency = @"currency";
+
+/// Flight or Travel destination (NSString).
+/// <pre>
+/// NSDictionary *params = @{
+/// kFIRParameterDestination : @"Mountain View, CA",
+/// // ...
+/// };
+/// </pre>
+static NSString *const kFIRParameterDestination = @"destination";
+
+/// The arrival date, check-out date or rental end date for the item. This should be in
+/// YYYY-MM-DD format (NSString).
+/// <pre>
+/// NSDictionary *params = @{
+/// kFIRParameterEndDate : @"2015-09-14",
+/// // ...
+/// };
+/// </pre>
+static NSString *const kFIRParameterEndDate = @"end_date";
+
+/// Flight number for travel events (NSString).
+/// <pre>
+/// NSDictionary *params = @{
+/// kFIRParameterFlightNumber : @"ZZ800",
+/// // ...
+/// };
+/// </pre>
+static NSString *const kFIRParameterFlightNumber = @"flight_number";
+
+/// Group/clan/guild ID (NSString).
+/// <pre>
+/// NSDictionary *params = @{
+/// kFIRParameterGroupID : @"g1",
+/// // ...
+/// };
+/// </pre>
+static NSString *const kFIRParameterGroupID = @"group_id";
+
+/// Item category (NSString).
+/// <pre>
+/// NSDictionary *params = @{
+/// kFIRParameterItemCategory : @"t-shirts",
+/// // ...
+/// };
+/// </pre>
+static NSString *const kFIRParameterItemCategory = @"item_category";
+
+/// Item ID (NSString).
+/// <pre>
+/// NSDictionary *params = @{
+/// kFIRParameterItemID : @"p7654",
+/// // ...
+/// };
+/// </pre>
+static NSString *const kFIRParameterItemID = @"item_id";
+
+/// The Google <a href="https://developers.google.com/places/place-id">Place ID</a> (NSString) that
+/// corresponds to the associated item. Alternatively, you can supply your own custom Location ID.
+/// <pre>
+/// NSDictionary *params = @{
+/// kFIRParameterItemLocationID : @"ChIJiyj437sx3YAR9kUWC8QkLzQ",
+/// // ...
+/// };
+/// </pre>
+static NSString *const kFIRParameterItemLocationID = @"item_location_id";
+
+/// Item name (NSString).
+/// <pre>
+/// NSDictionary *params = @{
+/// kFIRParameterItemName : @"abc",
+/// // ...
+/// };
+/// </pre>
+static NSString *const kFIRParameterItemName = @"item_name";
+
+/// Level in game (signed 64-bit integer as NSNumber).
+/// <pre>
+/// NSDictionary *params = @{
+/// kFIRParameterLevel : @(42),
+/// // ...
+/// };
+/// </pre>
+static NSString *const kFIRParameterLevel = @"level";
+
+/// Location (NSString). The Google <a href="https://developers.google.com/places/place-id">Place ID
+/// </a> that corresponds to the associated event. Alternatively, you can supply your own custom
+/// Location ID.
+/// <pre>
+/// NSDictionary *params = @{
+/// kFIRParameterLocation : @"ChIJiyj437sx3YAR9kUWC8QkLzQ",
+/// // ...
+/// };
+/// </pre>
+static NSString *const kFIRParameterLocation = @"location";
+
+/// The advertising or marketing medium, for example: cpc, banner, email, push. Highly recommended
+/// (NSString).
+/// <pre>
+/// NSDictionary *params = @{
+/// kFIRParameterMedium : @"email",
+/// // ...
+/// };
+/// </pre>
+static NSString *const kFIRParameterMedium = @"medium";
+
+/// Number of nights staying at hotel (signed 64-bit integer as NSNumber).
+/// <pre>
+/// NSDictionary *params = @{
+/// kFIRParameterNumberOfNights : @(3),
+/// // ...
+/// };
+/// </pre>
+static NSString *const kFIRParameterNumberOfNights = @"number_of_nights";
+
+/// Number of passengers traveling (signed 64-bit integer as NSNumber).
+/// <pre>
+/// NSDictionary *params = @{
+/// kFIRParameterNumberOfPassengers : @(11),
+/// // ...
+/// };
+/// </pre>
+static NSString *const kFIRParameterNumberOfPassengers = @"number_of_passengers";
+
+/// Number of rooms for travel events (signed 64-bit integer as NSNumber).
+/// <pre>
+/// NSDictionary *params = @{
+/// kFIRParameterNumberOfRooms : @(2),
+/// // ...
+/// };
+/// </pre>
+static NSString *const kFIRParameterNumberOfRooms = @"number_of_rooms";
+
+/// Flight or Travel origin (NSString).
+/// <pre>
+/// NSDictionary *params = @{
+/// kFIRParameterOrigin : @"Mountain View, CA",
+/// // ...
+/// };
+/// </pre>
+static NSString *const kFIRParameterOrigin = @"origin";
+
+/// Purchase price (double as NSNumber).
+/// <pre>
+/// NSDictionary *params = @{
+/// kFIRParameterPrice : @(1.0),
+/// kFIRParameterCurrency : @"USD", // e.g. $1.00 USD
+/// // ...
+/// };
+/// </pre>
+static NSString *const kFIRParameterPrice = @"price";
+
+/// Purchase quantity (signed 64-bit integer as NSNumber).
+/// <pre>
+/// NSDictionary *params = @{
+/// kFIRParameterQuantity : @(1),
+/// // ...
+/// };
+/// </pre>
+static NSString *const kFIRParameterQuantity = @"quantity";
+
+/// Score in game (signed 64-bit integer as NSNumber).
+/// <pre>
+/// NSDictionary *params = @{
+/// kFIRParameterScore : @(4200),
+/// // ...
+/// };
+/// </pre>
+static NSString *const kFIRParameterScore = @"score";
+
+/// The search string/keywords used (NSString).
+/// <pre>
+/// NSDictionary *params = @{
+/// kFIRParameterSearchTerm : @"periodic table",
+/// // ...
+/// };
+/// </pre>
+static NSString *const kFIRParameterSearchTerm = @"search_term";
+
+/// Shipping cost (double as NSNumber).
+/// <pre>
+/// NSDictionary *params = @{
+/// kFIRParameterShipping : @(9.50),
+/// kFIRParameterCurrency : @"USD", // e.g. $9.50 USD
+/// // ...
+/// };
+/// </pre>
+static NSString *const kFIRParameterShipping = @"shipping";
+
+/// Sign up method (NSString).
+/// <pre>
+/// NSDictionary *params = @{
+/// kFIRParameterSignUpMethod : @"google",
+/// // ...
+/// };
+/// </pre>
+static NSString *const kFIRParameterSignUpMethod = @"sign_up_method";
+
+/// The origin of your traffic, such as an Ad network (for example, google) or partner (urban
+/// airship). Identify the advertiser, site, publication, etc. that is sending traffic to your
+/// property. Highly recommended (NSString).
+/// <pre>
+/// NSDictionary *params = @{
+/// kFIRParameterSource : @"InMobi",
+/// // ...
+/// };
+/// </pre>
+static NSString *const kFIRParameterSource = @"source";
+
+/// The departure date, check-in date or rental start date for the item. This should be in
+/// YYYY-MM-DD format (NSString).
+/// <pre>
+/// NSDictionary *params = @{
+/// kFIRParameterStartDate : @"2015-09-14",
+/// // ...
+/// };
+/// </pre>
+static NSString *const kFIRParameterStartDate = @"start_date";
+
+/// Tax amount (double as NSNumber).
+/// <pre>
+/// NSDictionary *params = @{
+/// kFIRParameterTax : @(1.0),
+/// kFIRParameterCurrency : @"USD", // e.g. $1.00 USD
+/// // ...
+/// };
+/// </pre>
+static NSString *const kFIRParameterTax = @"tax";
+
+/// If you're manually tagging keyword campaigns, you should use utm_term to specify the keyword
+/// (NSString).
+/// <pre>
+/// NSDictionary *params = @{
+/// kFIRParameterTerm : @"game",
+/// // ...
+/// };
+/// </pre>
+static NSString *const kFIRParameterTerm = @"term";
+
+/// A single ID for a ecommerce group transaction (NSString).
+/// <pre>
+/// NSDictionary *params = @{
+/// kFIRParameterTransactionID : @"ab7236dd9823",
+/// // ...
+/// };
+/// </pre>
+static NSString *const kFIRParameterTransactionID = @"transaction_id";
+
+/// Travel class (NSString).
+/// <pre>
+/// NSDictionary *params = @{
+/// kFIRParameterTravelClass : @"business",
+/// // ...
+/// };
+/// </pre>
+static NSString *const kFIRParameterTravelClass = @"travel_class";
+
+/// A context-specific numeric value which is accumulated automatically for each event type. This is
+/// a general purpose parameter that is useful for accumulating a key metric that pertains to an
+/// event. Examples include revenue, distance, time and points. Value should be specified as signed
+/// 64-bit integer or double as NSNumber. Notes: Values for pre-defined currency-related events
+/// (such as @c kFIREventAddToCart) should be supplied using double as NSNumber and must be
+/// accompanied by a @c kFIRParameterCurrency parameter. The valid range of accumulated values is
+/// [-9,223,372,036,854.77, 9,223,372,036,854.77].
+/// <pre>
+/// NSDictionary *params = @{
+/// kFIRParameterValue : @(3.99),
+/// kFIRParameterCurrency : @"USD", // e.g. $3.99 USD
+/// // ...
+/// };
+/// </pre>
+static NSString *const kFIRParameterValue = @"value";
+
+/// Name of virtual currency type (NSString).
+/// <pre>
+/// NSDictionary *params = @{
+/// kFIRParameterVirtualCurrencyName : @"virtual_currency_name",
+/// // ...
+/// };
+/// </pre>
+static NSString *const kFIRParameterVirtualCurrencyName = @"virtual_currency_name";
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h
new file mode 100755
index 00000000..54cf1c20
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FIRUserPropertyNames.h
@@ -0,0 +1,13 @@
+/// @file FIRUserPropertyNames.h
+///
+/// Predefined user property names.
+///
+/// A UserProperty is an attribute that describes the app-user. By supplying UserProperties, you can
+/// later analyze different behaviors of various segments of your userbase. You may supply up to 25
+/// unique UserProperties per app, and you can use the name and value of your choosing for each one.
+/// UserProperty names can be up to 24 characters long, may only contain alphanumeric characters and
+/// underscores ("_"), and must start with an alphabetic character. UserProperty values can be up to
+/// 36 characters long. The "firebase_" prefix is reserved and should not be used.
+
+/// The method used to sign in. For example, "google", "facebook" or "twitter".
+static NSString *const kFIRUserPropertySignUpMethod = @"sign_up_method";
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h
new file mode 100755
index 00000000..3142c97b
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Headers/FirebaseAnalytics.h
@@ -0,0 +1,9 @@
+#import "FIRAnalyticsConfiguration.h"
+#import "FIRApp.h"
+#import "FIRConfiguration.h"
+#import "FIROptions.h"
+#import "FIRAnalytics+AppDelegate.h"
+#import "FIRAnalytics.h"
+#import "FIREventNames.h"
+#import "FIRParameterNames.h"
+#import "FIRUserPropertyNames.h"
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Modules/module.modulemap b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Modules/module.modulemap
new file mode 100755
index 00000000..c9bd66bc
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseAnalytics.framework/Modules/module.modulemap
@@ -0,0 +1,10 @@
+framework module FirebaseAnalytics {
+ umbrella header "FirebaseAnalytics.h"
+ export *
+ module * { export *}
+ link "sqlite3"
+ link "z"
+ link framework "CoreGraphics"
+ link framework "Foundation"
+ link framework "UIKit"
+} \ No newline at end of file
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCore.framework/FirebaseCore b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCore.framework/FirebaseCore
new file mode 100755
index 00000000..364c6d67
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCore.framework/FirebaseCore
Binary files differ
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCore.framework/Headers/FIRAnalyticsConfiguration.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCore.framework/Headers/FIRAnalyticsConfiguration.h
new file mode 100755
index 00000000..667d5a4b
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCore.framework/Headers/FIRAnalyticsConfiguration.h
@@ -0,0 +1,38 @@
+#import <Foundation/Foundation.h>
+
+/**
+ * This class provides configuration fields for Firebase Analytics.
+ */
+@interface FIRAnalyticsConfiguration : NSObject
+
+/**
+ * Returns the shared instance of FIRAnalyticsConfiguration.
+ */
++ (FIRAnalyticsConfiguration *)sharedInstance;
+
+/**
+ * Sets the minimum engagement time in seconds required to start a new session. The default value
+ * is 10 seconds.
+ */
+- (void)setMinimumSessionInterval:(NSTimeInterval)minimumSessionInterval;
+
+/**
+ * Sets the interval of inactivity in seconds that terminates the current session. The default
+ * value is 1800 seconds (30 minutes).
+ */
+- (void)setSessionTimeoutInterval:(NSTimeInterval)sessionTimeoutInterval;
+
+/**
+ * Sets whether analytics collection is enabled for this app on this device. This setting is
+ * persisted across app sessions. By default it is enabled.
+ */
+- (void)setAnalyticsCollectionEnabled:(BOOL)analyticsCollectionEnabled;
+
+/**
+ * Deprecated. Sets whether measurement and reporting are enabled for this app on this device. By
+ * default they are enabled.
+ */
+- (void)setIsEnabled:(BOOL)isEnabled
+ DEPRECATED_MSG_ATTRIBUTE("Use setAnalyticsCollectionEnabled: instead.");
+
+@end
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCore.framework/Headers/FIRApp.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCore.framework/Headers/FIRApp.h
new file mode 100755
index 00000000..263c4bef
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCore.framework/Headers/FIRApp.h
@@ -0,0 +1,98 @@
+#import <Foundation/Foundation.h>
+#import <UIKit/UIKit.h>
+
+@class FIROptions;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/** A block that takes a BOOL and has no return value. */
+typedef void (^FIRAppVoidBoolCallback)(BOOL success);
+
+/**
+ * The entry point of Firebase SDKs.
+ *
+ * Initialize and configure FIRApp using +[FIRApp configure]
+ * or other customized ways as shown below.
+ *
+ * The logging system has two modes: default mode and debug mode. In default mode, only logs with
+ * log level Notice, Warning and Error will be sent to device. In debug mode, all logs will be sent
+ * to device. The log levels that Firebase uses are consistent with the ASL log levels.
+ *
+ * Enable debug mode by passing the -FIRDebugEnabled argument to the application. You can add this
+ * argument in the application's Xcode scheme. When debug mode is enabled via -FIRDebugEnabled,
+ * further executions of the application will also be in debug mode. In order to return to default
+ * mode, you must explicitly disable the debug mode with the application argument -FIRDebugDisabled.
+ *
+ * It is also possible to change the default logging level in code by calling setLoggerLevel: on
+ * the FIRConfiguration interface.
+ */
+@interface FIRApp : NSObject
+
+/**
+ * Configures a default Firebase app. Raises an exception if any configuration step fails. The
+ * default app is named "__FIRAPP_DEFAULT". This method should be called after the app is launched
+ * and before using Firebase services. This method is thread safe.
+ */
++ (void)configure;
+
+/**
+ * Configures the default Firebase app with the provided options. The default app is named
+ * "__FIRAPP_DEFAULT". Raises an exception if any configuration step fails. This method is thread
+ * safe.
+ *
+ * @param options The Firebase application options used to configure the service.
+ */
++ (void)configureWithOptions:(FIROptions *)options;
+
+/**
+ * Configures a Firebase app with the given name and options. Raises an exception if any
+ * configuration step fails. This method is thread safe.
+ *
+ * @param name The application's name given by the developer. The name should should only contain
+ Letters, Numbers and Underscore.
+ * @param options The Firebase application options used to configure the services.
+ */
++ (void)configureWithName:(NSString *)name options:(FIROptions *)options;
+
+/**
+ * Returns the default app, or nil if the default app does not exist.
+ */
++ (nullable FIRApp *)defaultApp NS_SWIFT_NAME(defaultApp());
+
+/**
+ * Returns a previously created FIRApp instance with the given name, or nil if no such app exists.
+ * This method is thread safe.
+ */
++ (nullable FIRApp *)appNamed:(NSString *)name;
+
+/**
+ * Returns the set of all extant FIRApp instances, or nil if there are no FIRApp instances. This
+ * method is thread safe.
+ */
++ (nullable NSDictionary *)allApps;
+
+/**
+ * Cleans up the current FIRApp, freeing associated data and returning its name to the pool for
+ * future use. This method is thread safe.
+ */
+- (void)deleteApp:(FIRAppVoidBoolCallback)completion;
+
+/**
+ * FIRApp instances should not be initialized directly. Call +[FIRApp configure],
+ * +[FIRApp configureWithOptions:], or +[FIRApp configureWithNames:options:] directly.
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+/**
+ * Gets the name of this app.
+ */
+@property(nonatomic, copy, readonly) NSString *name;
+
+/**
+ * Gets the options for this app.
+ */
+@property(nonatomic, readonly) FIROptions *options;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCore.framework/Headers/FIRConfiguration.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCore.framework/Headers/FIRConfiguration.h
new file mode 100755
index 00000000..a25647b4
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCore.framework/Headers/FIRConfiguration.h
@@ -0,0 +1,52 @@
+#import <Foundation/Foundation.h>
+
+#import "FIRAnalyticsConfiguration.h"
+#import "FIRLoggerLevel.h"
+
+/**
+ * The log levels used by FIRConfiguration.
+ */
+typedef NS_ENUM(NSInteger, FIRLogLevel) {
+ /** Error */
+ kFIRLogLevelError __deprecated = 0,
+ /** Warning */
+ kFIRLogLevelWarning __deprecated,
+ /** Info */
+ kFIRLogLevelInfo __deprecated,
+ /** Debug */
+ kFIRLogLevelDebug __deprecated,
+ /** Assert */
+ kFIRLogLevelAssert __deprecated,
+ /** Max */
+ kFIRLogLevelMax __deprecated = kFIRLogLevelAssert
+} DEPRECATED_MSG_ATTRIBUTE(
+ "Use -FIRDebugEnabled and -FIRDebugDisabled or setLoggerLevel. See FIRApp.h for more details.");
+
+/**
+ * This interface provides global level properties that the developer can tweak, and the singleton
+ * of the Firebase Analytics configuration class.
+ */
+@interface FIRConfiguration : NSObject
+
+/** Returns the shared configuration object. */
++ (FIRConfiguration *)sharedInstance;
+
+/** The configuration class for Firebase Analytics. */
+@property(nonatomic, readwrite) FIRAnalyticsConfiguration *analyticsConfiguration;
+
+/** Global log level. Defaults to kFIRLogLevelError. */
+@property(nonatomic, readwrite, assign) FIRLogLevel logLevel DEPRECATED_MSG_ATTRIBUTE(
+ "Use -FIRDebugEnabled and -FIRDebugDisabled or setLoggerLevel. See FIRApp.h for more details.");
+
+/**
+ * Sets the logging level for internal Firebase logging. Firebase will only log messages
+ * that are logged at or below loggerLevel. The messages are logged both to the Xcode
+ * console and to the device's log. Note that if an app is running from AppStore, it will
+ * never log above FIRLoggerLevelNotice even if loggerLevel is set to a higher (more verbose)
+ * setting.
+ *
+ * @param loggerLevel The maximum logging level. The default level is set to FIRLoggerLevelNotice.
+ */
+- (void)setLoggerLevel:(FIRLoggerLevel)loggerLevel;
+
+@end
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCore.framework/Headers/FIRLoggerLevel.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCore.framework/Headers/FIRLoggerLevel.h
new file mode 100755
index 00000000..ddf683f7
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCore.framework/Headers/FIRLoggerLevel.h
@@ -0,0 +1,12 @@
+/**
+ * The log levels used by internal logging.
+ */
+typedef NS_ENUM(NSInteger, FIRLoggerLevel) {
+ FIRLoggerLevelError = 3 /*ASL_LEVEL_ERR*/,
+ FIRLoggerLevelWarning = 4 /*ASL_LEVEL_WARNING*/,
+ FIRLoggerLevelNotice = 5 /*ASL_LEVEL_NOTICE*/,
+ FIRLoggerLevelInfo = 6 /*ASL_LEVEL_INFO*/,
+ FIRLoggerLevelDebug = 7 /*ASL_LEVEL_DEBUG*/,
+ FIRLoggerLevelMin = FIRLoggerLevelError,
+ FIRLoggerLevelMax = FIRLoggerLevelDebug
+};
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCore.framework/Headers/FIROptions.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCore.framework/Headers/FIROptions.h
new file mode 100755
index 00000000..083082ab
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCore.framework/Headers/FIROptions.h
@@ -0,0 +1,93 @@
+#import <Foundation/Foundation.h>
+
+/**
+ * This class provides constant fields of Google APIs.
+ */
+@interface FIROptions : NSObject<NSCopying>
+
+/**
+ * Returns the default options.
+ */
++ (FIROptions *)defaultOptions;
+
+/**
+ * An iOS API key used for authenticating requests from your app, e.g.
+ * @"AIzaSyDdVgKwhZl0sTTTLZ7iTmt1r3N2cJLnaDk", used to identify your app to Google servers.
+ */
+@property(nonatomic, readonly, copy) NSString *APIKey;
+
+/**
+ * The OAuth2 client ID for iOS application used to authenticate Google users, for example
+ * @"12345.apps.googleusercontent.com", used for signing in with Google.
+ */
+@property(nonatomic, readonly, copy) NSString *clientID;
+
+/**
+ * The tracking ID for Google Analytics, e.g. @"UA-12345678-1", used to configure Google Analytics.
+ */
+@property(nonatomic, readonly, copy) NSString *trackingID;
+
+/**
+ * The Project Number from the Google Developer's console, for example @"012345678901", used to
+ * configure Google Cloud Messaging.
+ */
+@property(nonatomic, readonly, copy) NSString *GCMSenderID;
+
+/**
+ * The Project ID from the Firebase console, for example @"abc-xyz-123". Currently only populated
+ * when using [FIROptions defaultOptions].
+ */
+@property(nonatomic, readonly, copy) NSString *projectID;
+
+/**
+ * The Android client ID used in Google AppInvite when an iOS app has its Android version, for
+ * example @"12345.apps.googleusercontent.com".
+ */
+@property(nonatomic, readonly, copy) NSString *androidClientID;
+
+/**
+ * The Google App ID that is used to uniquely identify an instance of an app.
+ */
+@property(nonatomic, readonly, copy) NSString *googleAppID;
+
+/**
+ * The database root URL, e.g. @"http://abc-xyz-123.firebaseio.com".
+ */
+@property(nonatomic, readonly, copy) NSString *databaseURL;
+
+/**
+ * The URL scheme used to set up Durable Deep Link service.
+ */
+@property(nonatomic, readwrite, copy) NSString *deepLinkURLScheme;
+
+/**
+ * The Google Cloud Storage bucket name, e.g. @"abc-xyz-123.storage.firebase.com".
+ */
+@property(nonatomic, readonly, copy) NSString *storageBucket;
+
+/**
+ * Initializes a customized instance of FIROptions with keys. googleAppID, bundleID and GCMSenderID
+ * are required. Other keys may required for configuring specific services.
+ */
+- (instancetype)initWithGoogleAppID:(NSString *)googleAppID
+ bundleID:(NSString *)bundleID
+ GCMSenderID:(NSString *)GCMSenderID
+ APIKey:(NSString *)APIKey
+ clientID:(NSString *)clientID
+ trackingID:(NSString *)trackingID
+ androidClientID:(NSString *)androidClientID
+ databaseURL:(NSString *)databaseURL
+ storageBucket:(NSString *)storageBucket
+ deepLinkURLScheme:(NSString *)deepLinkURLScheme;
+
+/**
+ * Initializes a customized instance of FIROptions from the file at the given plist file path.
+ * For example,
+ * NSString *filePath =
+ * [[NSBundle mainBundle] pathForResource:@"GoogleService-Info" ofType:@"plist"];
+ * FIROptions *options = [[FIROptions alloc] initWithContentsOfFile:filePath];
+ * Returns nil if the plist file does not exist or is invalid.
+ */
+- (instancetype)initWithContentsOfFile:(NSString *)plistPath;
+
+@end
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCore.framework/Headers/FirebaseCore.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCore.framework/Headers/FirebaseCore.h
new file mode 100755
index 00000000..52a222f5
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCore.framework/Headers/FirebaseCore.h
@@ -0,0 +1,5 @@
+#import "FIRAnalyticsConfiguration.h"
+#import "FIRApp.h"
+#import "FIRConfiguration.h"
+#import "FIRLoggerLevel.h"
+#import "FIROptions.h"
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCore.framework/Modules/module.modulemap b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCore.framework/Modules/module.modulemap
new file mode 100755
index 00000000..f3db90d8
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCore.framework/Modules/module.modulemap
@@ -0,0 +1,8 @@
+framework module FirebaseCore {
+ umbrella header "FirebaseCore.h"
+ export *
+ module * { export *}
+ link "z"
+ link framework "Foundation"
+ link framework "UIKit"
+} \ No newline at end of file
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCrash.framework/FirebaseCrash b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCrash.framework/FirebaseCrash
new file mode 100755
index 00000000..7cf08c10
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCrash.framework/FirebaseCrash
Binary files differ
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCrash.framework/Headers/FIRCrashLog.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCrash.framework/Headers/FIRCrashLog.h
new file mode 100755
index 00000000..ac446a62
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCrash.framework/Headers/FIRCrashLog.h
@@ -0,0 +1,164 @@
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * @abstract Logs a message to the Firebase Crash Reporter system.
+ *
+ * @discussion This method adds a message to the crash reporter
+ * logging system. The recent logs will be sent with the crash
+ * report when the application exits abnormally. Note that the
+ * timestamp of this message and the timestamp of the console
+ * message may differ by a few milliseconds.
+ *
+ * Messages should be brief as the total size of the message payloads
+ * is limited by the uploader and may change between releases of the
+ * crash reporter. Excessively long messages will be truncated
+ * safely but that will introduce a delay in submitting the message.
+ *
+ * @warning Raises an NSInvalidArgumentException if @p format is nil.
+ *
+ * @param format A format string.
+ *
+ * @param ap A variable argument list.
+ */
+FOUNDATION_EXTERN NS_FORMAT_FUNCTION(1, 0)
+void FIRCrashLogv(NSString *format, va_list ap);
+
+/**
+ * @abstract Logs a message to the Firebase Crash Reporter system.
+ *
+ * @discussion This method adds a message to the crash reporter
+ * logging system. The recent logs will be sent with the crash
+ * report when the application exits abnormally. Note that the
+ * timestamp of this message and the timestamp of the console
+ * message may differ by a few milliseconds.
+ *
+ * Messages should be brief as the total size of the message payloads
+ * is limited by the uploader and may change between releases of the
+ * crash reporter. Excessively long messages will be truncated
+ * safely but that will introduce a delay in submitting the message.
+ *
+ * @warning Raises an NSInvalidArgumentException if @p format is nil.
+ *
+ * @param format A format string.
+ *
+ * @param ... A comma-separated list of arguments to substitute into
+ * format.
+ *
+ * @see FIRCrashLogv(format, ap)
+ */
+FOUNDATION_STATIC_INLINE NS_FORMAT_FUNCTION(1, 2)
+void FIRCrashLog(NSString *format, ...) {
+ va_list ap;
+
+ va_start(ap, format);
+ FIRCrashLogv(format, ap);
+ va_end(ap);
+}
+
+/**
+ * @abstract Logs a message to the Firebase Crash Reporter system as
+ * well as <code>NSLog()</code>.
+ *
+ * @discussion This method adds a message to the crash reporter
+ * logging system. The recent logs will be sent with the crash
+ * report when the application exits abnormally. Note that the
+ * timestamp of this message and the timestamp of the console
+ * message may differ by a few milliseconds.
+ *
+ * Messages should be brief as the total size of the message payloads
+ * is limited by the uploader and may change between releases of the
+ * crash reporter. Excessively long messages will be truncated
+ * safely but that will introduce a delay in submitting the message.
+ *
+ * @warning Raises an NSInvalidArgumentException if @p format is nil.
+ *
+ * @param format A format string.
+ *
+ * @param ap A variable argument list.
+ */
+FOUNDATION_STATIC_INLINE NS_FORMAT_FUNCTION(1, 0)
+void FIRCrashNSLogv(NSString *format, va_list ap) {
+ va_list ap2;
+
+ va_copy(ap2, ap);
+ NSLogv(format, ap);
+ FIRCrashLogv(format, ap2);
+ va_end(ap2);
+}
+
+/**
+ * @abstract Logs a message to the Firebase Crash Reporter system as
+ * well as <code>NSLog()</code>.
+ *
+ * @discussion This method adds a message to the crash reporter
+ * logging system. The recent logs will be sent with the crash
+ * report when the application exits abnormally. Note that the
+ * timestamp of this message and the timestamp of the console
+ * message may differ by a few milliseconds.
+ *
+ * Messages should be brief as the total size of the message payloads
+ * is limited by the uploader and may change between releases of the
+ * crash reporter. Excessively long messages will be truncated
+ * safely but that will introduce a delay in submitting the message.
+ *
+ * @warning Raises an NSInvalidArgumentException if @p format is nil.
+ *
+ * @param format A format string.
+ *
+ * @param ... A comma-separated list of arguments to substitute into
+ * format.
+ *
+ * @see FIRCrashLogv(format, ap)
+ */
+FOUNDATION_STATIC_INLINE NS_FORMAT_FUNCTION(1, 2)
+void FIRCrashNSLog(NSString *format, ...) {
+ va_list ap;
+
+ va_start(ap, format);
+ FIRCrashNSLogv(format, ap);
+ va_end(ap);
+}
+
+/**
+ * @abstract Logs a message to the Firebase Crash Reporter system in
+ * a way that is easily called from Swift code.
+ *
+ * @discussion This method adds a message to the crash reporter
+ * logging system. Similar to FIRCrashLog, but with a call signature
+ * that is more Swift friendly. Unlike FIRCrashLog, callers
+ * use string interpolation instead of formatting arguments.
+ *
+ * @code
+ * public func mySwiftFunction() {
+ * let unexpected_number = 10;
+ * FIRCrashMessage("This number doesn't seem right: \(unexpected_number)");
+ * }
+ * @endcode
+ *
+ * Messages should be brief as the total size of the message payloads
+ * is limited by the uploader and may change between releases of the
+ * crash reporter. Excessively long messages will be truncated
+ * safely but that will introduce a delay in submitting the message.
+ *
+ * @param Message A log message
+ *
+ * @see FIRCrashLog(format, ...)
+ */
+FOUNDATION_STATIC_INLINE
+void FIRCrashMessage(NSString *message) {
+ FIRCrashLog(@"%@", message);
+}
+
+NS_ASSUME_NONNULL_END
+
+#ifdef FIRCRASH_REPLACE_NSLOG
+#if defined(DEBUG) || defined(FIRCRASH_LOG_TO_CONSOLE)
+#define NSLog(...) FIRCrashNSLog(__VA_ARGS__)
+#define NSLogv(...) FIRCrashNSLogv(__VA_ARGS__)
+#else
+#define NSLog(...) FIRCrashLog(__VA_ARGS__)
+#define NSLogv(...) FIRCrashLogv(__VA_ARGS__)
+#endif
+#endif
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCrash.framework/Headers/FirebaseCrash.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCrash.framework/Headers/FirebaseCrash.h
new file mode 100755
index 00000000..18659214
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCrash.framework/Headers/FirebaseCrash.h
@@ -0,0 +1 @@
+#import "FIRCrashLog.h"
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCrash.framework/Modules/module.modulemap b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCrash.framework/Modules/module.modulemap
new file mode 100755
index 00000000..537a790a
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseCrash.framework/Modules/module.modulemap
@@ -0,0 +1,12 @@
+framework module FirebaseCrash {
+ umbrella header "FirebaseCrash.h"
+ export *
+ module * { export *}
+ link "sqlite3"
+ link "z"
+ link framework "CoreGraphics"
+ link framework "CoreTelephony"
+ link framework "Foundation"
+ link framework "SystemConfiguration"
+ link framework "UIKit"
+} \ No newline at end of file
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseInstanceID.framework/FirebaseInstanceID b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseInstanceID.framework/FirebaseInstanceID
new file mode 100755
index 00000000..2ebc6e68
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseInstanceID.framework/FirebaseInstanceID
Binary files differ
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseInstanceID.framework/Headers/FIRInstanceID.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseInstanceID.framework/Headers/FIRInstanceID.h
new file mode 100755
index 00000000..5ff8372e
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseInstanceID.framework/Headers/FIRInstanceID.h
@@ -0,0 +1,245 @@
+#import <Foundation/Foundation.h>
+
+/**
+ * @memberof FIRInstanceID
+ *
+ * The scope to be used when fetching/deleting a token for Firebase Messaging.
+ */
+FOUNDATION_EXPORT NSString * __nonnull const kFIRInstanceIDScopeFirebaseMessaging;
+
+/**
+ * Called when the system determines that tokens need to be refreshed.
+ * This method is also called if Instance ID has been reset in which
+ * case, tokens and FCM topic subscriptions also need to be refreshed.
+ *
+ * Instance ID service will throttle the refresh event across all devices
+ * to control the rate of token updates on application servers.
+ */
+FOUNDATION_EXPORT NSString * __nonnull const kFIRInstanceIDTokenRefreshNotification;
+
+/**
+ * @related FIRInstanceID
+ *
+ * The completion handler invoked when the InstanceID token returns. If
+ * the call fails we return the appropriate `error code` as described below.
+ *
+ * @param token The valid token as returned by InstanceID backend.
+ *
+ * @param error The error describing why generating a new token
+ * failed. See the error codes below for a more detailed
+ * description.
+ */
+typedef void(^FIRInstanceIDTokenHandler)( NSString * __nullable token, NSError * __nullable error);
+
+
+/**
+ * @related FIRInstanceID
+ *
+ * The completion handler invoked when the InstanceID `deleteToken` returns. If
+ * the call fails we return the appropriate `error code` as described below
+ *
+ * @param error The error describing why deleting the token failed.
+ * See the error codes below for a more detailed description.
+ */
+typedef void(^FIRInstanceIDDeleteTokenHandler)(NSError * __nullable error);
+
+/**
+ * @related FIRInstanceID
+ *
+ * The completion handler invoked when the app identity is created. If the
+ * identity wasn't created for some reason we return the appropriate error code.
+ *
+ * @param identity A valid identity for the app instance, nil if there was an error
+ * while creating an identity.
+ * @param error The error if fetching the identity fails else nil.
+ */
+typedef void(^FIRInstanceIDHandler)(NSString * __nullable identity, NSError * __nullable error);
+
+/**
+ * @related FIRInstanceID
+ *
+ * The completion handler invoked when the app identity and all the tokens associated
+ * with it are deleted. Returns a valid error object in case of failure else nil.
+ *
+ * @param error The error if deleting the identity and all the tokens associated with
+ * it fails else nil.
+ */
+typedef void(^FIRInstanceIDDeleteHandler)(NSError * __nullable error);
+
+/**
+ * @enum FIRInstanceIDError
+ */
+typedef NS_ENUM(NSUInteger, FIRInstanceIDError) {
+ // Http related errors.
+
+ /// Unknown error.
+ FIRInstanceIDErrorUnknown = 0,
+
+ /// Auth Error -- GCM couldn't validate request from this client.
+ FIRInstanceIDErrorAuthentication = 1,
+
+ /// NoAccess -- InstanceID service cannot be accessed.
+ FIRInstanceIDErrorNoAccess = 2,
+
+ /// Timeout -- Request to InstanceID backend timed out.
+ FIRInstanceIDErrorTimeout = 3,
+
+ /// Network -- No network available to reach the servers.
+ FIRInstanceIDErrorNetwork = 4,
+
+ /// OperationInProgress -- Another similar operation in progress,
+ /// bailing this one.
+ FIRInstanceIDErrorOperationInProgress = 5,
+
+ /// InvalidRequest -- Some parameters of the request were invalid.
+ FIRInstanceIDErrorInvalidRequest = 7,
+};
+
+/**
+ * The APNS token type for the app. If the token type is set to `UNKNOWN`
+ * InstanceID will implicitly try to figure out what the actual token type
+ * is from the provisioning profile.
+ */
+typedef NS_ENUM(NSInteger, FIRInstanceIDAPNSTokenType) {
+ /// Unknown token type.
+ FIRInstanceIDAPNSTokenTypeUnknown,
+ /// Sandbox token type.
+ FIRInstanceIDAPNSTokenTypeSandbox,
+ /// Production token type.
+ FIRInstanceIDAPNSTokenTypeProd,
+};
+
+/**
+ * Instance ID provides a unique identifier for each app instance and a mechanism
+ * to authenticate and authorize actions (for example, sending a GCM message).
+ *
+ * Instance ID is long lived but, may be reset if the device is not used for
+ * a long time or the Instance ID service detects a problem.
+ * If Instance ID is reset, the app will be notified via
+ * `kFIRInstanceIDTokenRefreshNotification`.
+ *
+ * If the Instance ID has become invalid, the app can request a new one and
+ * send it to the app server.
+ * To prove ownership of Instance ID and to allow servers to access data or
+ * services associated with the app, call
+ * `[FIRInstanceID tokenWithAuthorizedEntity:scope:options:handler]`.
+ */
+@interface FIRInstanceID : NSObject
+
+/**
+ * FIRInstanceID.
+ *
+ * @return A shared instance of FIRInstanceID.
+ */
++ (nonnull instancetype)instanceID NS_SWIFT_NAME(instanceID());
+
+/**
+ * Unavailable. Use +instanceID instead.
+ */
+- (nonnull instancetype)init __attribute__((unavailable("Use +instanceID instead.")));
+
+/**
+ * Set APNS token for the application. This APNS token will be used to register
+ * with Firebase Messaging using `token` or
+ * `tokenWithAuthorizedEntity:scope:options:handler`. If the token type is set to
+ * `FIRInstanceIDAPNSTokenTypeUnknown` InstanceID will read the provisioning profile
+ * to find out the token type.
+ *
+ * @param token The APNS token for the application.
+ * @param type The APNS token type for the above token.
+ */
+- (void)setAPNSToken:(nonnull NSData *)token
+ type:(FIRInstanceIDAPNSTokenType)type;
+
+#pragma mark - Tokens
+
+/**
+ * Returns a Firebase Messaging scoped token for the firebase app.
+ *
+ * @return Null Returns null if the device has not yet been registerd with
+ * Firebase Message else returns a valid token.
+ */
+- (nullable NSString *)token;
+
+/**
+ * Returns a token that authorizes an Entity (example: cloud service) to perform
+ * an action on behalf of the application identified by Instance ID.
+ *
+ * This is similar to an OAuth2 token except, it applies to the
+ * application instance instead of a user.
+ *
+ * This is an asynchronous call. If the token fetching fails for some reason
+ * we invoke the completion callback with nil `token` and the appropriate
+ * error.
+ *
+ * Note, you can only have one `token` or `deleteToken` call for a given
+ * authorizedEntity and scope at any point of time. Making another such call with the
+ * same authorizedEntity and scope before the last one finishes will result in an
+ * error with code `OperationInProgress`.
+ *
+ * @see FIRInstanceID deleteTokenWithAuthorizedEntity:scope:handler:
+ *
+ * @param authorizedEntity Entity authorized by the token.
+ * @param scope Action authorized for authorizedEntity.
+ * @param options The extra options to be sent with your token request. The
+ * value for the `apns_token` should be the NSData object
+ * passed to UIApplication's
+ * `didRegisterForRemoteNotificationsWithDeviceToken` method.
+ * All other keys and values in the options dict need to be
+ * instances of NSString or else they will be discarded. Bundle
+ * keys starting with 'GCM.' and 'GOOGLE.' are reserved.
+ * @param handler The callback handler which is invoked when the token is
+ * successfully fetched. In case of success a valid `token` and
+ * `nil` error are returned. In case of any error the `token`
+ * is nil and a valid `error` is returned. The valid error
+ * codes have been documented above.
+ */
+- (void)tokenWithAuthorizedEntity:(nonnull NSString *)authorizedEntity
+ scope:(nonnull NSString *)scope
+ options:(nullable NSDictionary *)options
+ handler:(nonnull FIRInstanceIDTokenHandler)handler;
+
+/**
+ * Revokes access to a scope (action) for an entity previously
+ * authorized by `[FIRInstanceID tokenWithAuthorizedEntity:scope:options:handler]`.
+ *
+ * This is an asynchronous call. Call this on the main thread since InstanceID lib
+ * is not thread safe. In case token deletion fails for some reason we invoke the
+ * `handler` callback passed in with the appropriate error code.
+ *
+ * Note, you can only have one `token` or `deleteToken` call for a given
+ * authorizedEntity and scope at a point of time. Making another such call with the
+ * same authorizedEntity and scope before the last one finishes will result in an error
+ * with code `OperationInProgress`.
+ *
+ * @param authorizedEntity Entity that must no longer have access.
+ * @param scope Action that entity is no longer authorized to perform.
+ * @param handler The handler that is invoked once the unsubscribe call ends.
+ * In case of error an appropriate error object is returned
+ * else error is nil.
+ */
+- (void)deleteTokenWithAuthorizedEntity:(nonnull NSString *)authorizedEntity
+ scope:(nonnull NSString *)scope
+ handler:(nonnull FIRInstanceIDDeleteTokenHandler)handler;
+
+#pragma mark - Identity
+
+/**
+ * Asynchronously fetch a stable identifier that uniquely identifies the app
+ * instance. If the identifier has been revoked or has expired, this method will
+ * return a new identifier.
+ *
+ *
+ * @param handler The handler to invoke once the identifier has been fetched.
+ * In case of error an appropriate error object is returned else
+ * a valid identifier is returned and a valid identifier for the
+ * application instance.
+ */
+- (void)getIDWithHandler:(nonnull FIRInstanceIDHandler)handler;
+
+/**
+ * Resets Instance ID and revokes all tokens.
+ */
+- (void)deleteIDWithHandler:(nonnull FIRInstanceIDDeleteHandler)handler;
+
+@end
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseInstanceID.framework/Headers/FirebaseInstanceID.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseInstanceID.framework/Headers/FirebaseInstanceID.h
new file mode 100755
index 00000000..053ec2b1
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseInstanceID.framework/Headers/FirebaseInstanceID.h
@@ -0,0 +1 @@
+#import "FIRInstanceID.h"
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseInstanceID.framework/Modules/module.modulemap b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseInstanceID.framework/Modules/module.modulemap
new file mode 100755
index 00000000..267c0356
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseInstanceID.framework/Modules/module.modulemap
@@ -0,0 +1,7 @@
+framework module FirebaseInstanceID {
+ umbrella header "FirebaseInstanceID.h"
+ export *
+ module * { export *}
+ link framework "Foundation"
+ link framework "UIKit"
+} \ No newline at end of file
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseMessaging.framework/FirebaseMessaging b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseMessaging.framework/FirebaseMessaging
new file mode 100755
index 00000000..a0573d06
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseMessaging.framework/FirebaseMessaging
Binary files differ
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseMessaging.framework/Headers/FIRMessaging.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseMessaging.framework/Headers/FIRMessaging.h
new file mode 100755
index 00000000..a0ae2e90
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseMessaging.framework/Headers/FIRMessaging.h
@@ -0,0 +1,227 @@
+#import <Foundation/Foundation.h>
+
+/**
+ * The completion handler invoked once the data connection with FIRMessaging is
+ * established. The data connection is used to send a continous stream of
+ * data and all the FIRMessaging data notifications arrive through this connection.
+ * Once the connection is established we invoke the callback with `nil` error.
+ * Correspondingly if we get an error while trying to establish a connection
+ * we invoke the handler with an appropriate error object and do an
+ * exponential backoff to try and connect again unless successful.
+ *
+ * @param error The error object if any describing why the data connection
+ * to FIRMessaging failed.
+ */
+typedef void(^FIRMessagingConnectCompletion)(NSError * __nullable error);
+
+/**
+ * Notification sent when the upstream message has been delivered
+ * successfully to the server. The notification object will be the messageID
+ * of the successfully delivered message.
+ */
+FOUNDATION_EXPORT NSString * __nonnull const FIRMessagingSendSuccessNotification;
+
+/**
+ * Notification sent when the upstream message was failed to be sent to the
+ * server. The notification object will be the messageID of the failed
+ * message. The userInfo dictionary will contain the relevant error
+ * information for the failure.
+ */
+FOUNDATION_EXPORT NSString * __nonnull const FIRMessagingSendErrorNotification;
+
+/**
+ * Notification sent when the Firebase messaging server deletes pending
+ * messages due to exceeded storage limits. This may occur, for example, when
+ * the device cannot be reached for an extended period of time.
+ *
+ * It is recommended to retrieve any missing messages directly from the
+ * server.
+ */
+FOUNDATION_EXPORT NSString * __nonnull const FIRMessagingMessagesDeletedNotification;
+
+/**
+ * @enum FIRMessagingError
+ */
+typedef NS_ENUM(NSUInteger, FIRMessagingError) {
+ /// Unknown error.
+ FIRMessagingErrorUnknown = 0,
+
+ /// FIRMessaging couldn't validate request from this client.
+ FIRMessagingErrorAuthentication = 1,
+
+ /// InstanceID service cannot be accessed.
+ FIRMessagingErrorNoAccess = 2,
+
+ /// Request to InstanceID backend timed out.
+ FIRMessagingErrorTimeout = 3,
+
+ /// No network available to reach the servers.
+ FIRMessagingErrorNetwork = 4,
+
+ /// Another similar operation in progress, bailing this one.
+ FIRMessagingErrorOperationInProgress = 5,
+
+ /// Some parameters of the request were invalid.
+ FIRMessagingErrorInvalidRequest = 7,
+};
+
+/// Status for the downstream message received by the app.
+typedef NS_ENUM(NSInteger, FIRMessagingMessageStatus) {
+ /// Unknown status.
+ FIRMessagingMessageStatusUnknown,
+ /// New downstream message received by the app.
+ FIRMessagingMessageStatusNew,
+};
+
+/// Information about a downstream message received by the app.
+@interface FIRMessagingMessageInfo : NSObject
+
+/// The status of the downstream message
+@property(nonatomic, readonly, assign) FIRMessagingMessageStatus status;
+
+@end
+
+/**
+ * A remote data message received by the app via FCM (not just the APNs interface).
+ *
+ * This is only for devices running iOS 10 or above. To support devices running iOS 9 or below, use
+ * the local and remote notifications handlers defined in UIApplicationDelegate protocol.
+ */
+@interface FIRMessagingRemoteMessage : NSObject
+
+/// The downstream message received by the application.
+@property(nonatomic, readonly, strong, nonnull) NSDictionary *appData;
+
+@end
+
+/**
+ * A protocol to receive data message via FCM for devices running iOS 10 or above.
+ *
+ * To support devices running iOS 9 or below, use the local and remote notifications handlers
+ * defined in UIApplicationDelegate protocol.
+ */
+@protocol FIRMessagingDelegate <NSObject>
+
+/// The callback to handle data message received via FCM for devices running iOS 10 or above.
+- (void)applicationReceivedRemoteMessage:(nonnull FIRMessagingRemoteMessage *)remoteMessage;
+
+@end
+
+/**
+ * Firebase Messaging lets you reliably deliver messages at no cost.
+ *
+ * To send or receive messages, the app must get a
+ * registration token from FIRInstanceID. This token authorizes an
+ * app server to send messages to an app instance.
+ *
+ * In order to receive FIRMessaging messages, declare `application:didReceiveRemoteNotification:`.
+ *
+ *
+ */
+@interface FIRMessaging : NSObject
+
+/**
+ * Delegate to handle remote data messages received via FCM for devices running iOS 10 or above.
+ */
+@property(nonatomic, weak, nullable) id<FIRMessagingDelegate> remoteMessageDelegate;
+
+/**
+ * FIRMessaging
+ *
+ * @return An instance of FIRMessaging.
+ */
++ (nonnull instancetype)messaging NS_SWIFT_NAME(messaging());
+
+/**
+ * Unavailable. Use +messaging instead.
+ */
+- (nonnull instancetype)init __attribute__((unavailable("Use +messaging instead.")));
+
+#pragma mark - Connect
+
+/**
+ * Create a FIRMessaging data connection which will be used to send the data notifications
+ * sent by your server. It will also be used to send ACKS and other messages based
+ * on the FIRMessaging ACKS and other messages based on the FIRMessaging protocol.
+ *
+ *
+ * @param handler The handler to be invoked once the connection is established.
+ * If the connection fails we invoke the handler with an
+ * appropriate error code letting you know why it failed. At
+ * the same time, FIRMessaging performs exponential backoff to retry
+ * establishing a connection and invoke the handler when successful.
+ */
+- (void)connectWithCompletion:(nonnull FIRMessagingConnectCompletion)handler;
+
+/**
+ * Disconnect the current FIRMessaging data connection. This stops any attempts to
+ * connect to FIRMessaging. Calling this on an already disconnected client is a no-op.
+ *
+ * Call this before `teardown` when your app is going to the background.
+ * Since the FIRMessaging connection won't be allowed to live when in background it is
+ * prudent to close the connection.
+ */
+- (void)disconnect;
+
+#pragma mark - Topics
+
+/**
+ * Asynchronously subscribes to a topic.
+ *
+ * @param topic The name of the topic, for example, @"sports".
+ */
+- (void)subscribeToTopic:(nonnull NSString *)topic;
+
+/**
+ * Asynchronously unsubscribe from a topic.
+ *
+ * @param topic The name of the topic, for example @"sports".
+ */
+- (void)unsubscribeFromTopic:(nonnull NSString *)topic;
+
+#pragma mark - Upstream
+
+/**
+ * Sends an upstream ("device to cloud") message.
+ *
+ * The message is queued if we don't have an active connection.
+ * You can only use the upstream feature if your FCM implementation
+ * uses the XMPP server protocol.
+ *
+ * @param message Key/Value pairs to be sent. Values must be String, any
+ * other type will be ignored.
+ * @param to A string identifying the receiver of the message. For FCM
+ * project IDs the value is `SENDER_ID@gcm.googleapis.com`.
+ * @param messageID The ID of the message. This is generated by the application. It
+ * must be unique for each message generated by this application.
+ * It allows error callbacks and debugging, to uniquely identify
+ * each message.
+ * @param ttl The time to live for the message. In case we aren't able to
+ * send the message before the TTL expires we will send you a
+ * callback. If 0, we'll attempt to send immediately and return
+ * an error if we're not connected. Otherwise, the message will
+ * be queued. As for server-side messages, we don't return an error
+ * if the message has been dropped because of TTL; this can happen
+ * on the server side, and it would require extra communication.
+ */
+- (void)sendMessage:(nonnull NSDictionary *)message
+ to:(nonnull NSString *)receiver
+ withMessageID:(nonnull NSString *)messageID
+ timeToLive:(int64_t)ttl;
+
+#pragma mark - Analytics
+
+/**
+ * Use this to track message delivery and analytics for messages, typically
+ * when you receive a notification in `application:didReceiveRemoteNotification:`.
+ * However, you only need to call this if you set the `FirebaseAppDelegateProxyEnabled`
+ * flag to NO in your Info.plist. If `FirebaseAppDelegateProxyEnabled` is either missing
+ * or set to YES in your Info.plist, the library will call this automatically.
+ *
+ * @param message The downstream message received by the application.
+ *
+ * @return Information about the downstream message.
+ */
+- (nonnull FIRMessagingMessageInfo *)appDidReceiveMessage:(nonnull NSDictionary *)message;
+
+@end
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseMessaging.framework/Headers/FirebaseMessaging.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseMessaging.framework/Headers/FirebaseMessaging.h
new file mode 100755
index 00000000..ef49e7ff
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseMessaging.framework/Headers/FirebaseMessaging.h
@@ -0,0 +1 @@
+#import "FIRMessaging.h"
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseMessaging.framework/Modules/module.modulemap b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseMessaging.framework/Modules/module.modulemap
new file mode 100755
index 00000000..80bc59c1
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseMessaging.framework/Modules/module.modulemap
@@ -0,0 +1,11 @@
+framework module FirebaseMessaging {
+ umbrella header "FirebaseMessaging.h"
+ export *
+ module * { export *}
+ link "sqlite3"
+ link "z"
+ link framework "CoreGraphics"
+ link framework "Foundation"
+ link framework "SystemConfiguration"
+ link framework "UIKit"
+} \ No newline at end of file
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebasePlugin.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebasePlugin.h
new file mode 100755
index 00000000..93542737
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebasePlugin.h
@@ -0,0 +1,30 @@
+#import <Cordova/CDV.h>
+#import "AppDelegate.h"
+
+@interface FirebasePlugin : CDVPlugin
++ (FirebasePlugin *) firebasePlugin;
+- (void)getInstanceId:(CDVInvokedUrlCommand*)command;
+- (void)getToken:(CDVInvokedUrlCommand*)command;
+- (void)grantPermission:(CDVInvokedUrlCommand*)command;
+- (void)hasPermission:(CDVInvokedUrlCommand*)command;
+- (void)setBadgeNumber:(CDVInvokedUrlCommand*)command;
+- (void)getBadgeNumber:(CDVInvokedUrlCommand*)command;
+- (void)subscribe:(CDVInvokedUrlCommand*)command;
+- (void)unsubscribe:(CDVInvokedUrlCommand*)command;
+- (void)unregister:(CDVInvokedUrlCommand*)command;
+- (void)onNotificationOpen:(CDVInvokedUrlCommand*)command;
+- (void)onTokenRefresh:(CDVInvokedUrlCommand*)command;
+- (void)sendNotification:(NSDictionary*)userInfo;
+- (void)sendToken:(NSString*)token;
+- (void)logEvent:(CDVInvokedUrlCommand*)command;
+- (void)setScreenName:(CDVInvokedUrlCommand*)command;
+- (void)setUserId:(CDVInvokedUrlCommand*)command;
+- (void)setUserProperty:(CDVInvokedUrlCommand*)command;
+- (void)fetch:(CDVInvokedUrlCommand*)command;
+- (void)activateFetched:(CDVInvokedUrlCommand*)command;
+- (void)getValue:(CDVInvokedUrlCommand*)command;
+@property (nonatomic, copy) NSString *notificationCallbackId;
+@property (nonatomic, copy) NSString *tokenRefreshCallbackId;
+@property (nonatomic, retain) NSMutableArray *notificationStack;
+
+@end
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebasePlugin.m b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebasePlugin.m
new file mode 100644
index 00000000..580fb760
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebasePlugin.m
@@ -0,0 +1,331 @@
+#import "FirebasePlugin.h"
+#import <Cordova/CDV.h>
+#import "AppDelegate.h"
+#import "Firebase.h"
+@import FirebaseInstanceID;
+@import FirebaseMessaging;
+@import FirebaseAnalytics;
+@import FirebaseRemoteConfig;
+
+#if defined(__IPHONE_10_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0
+@import UserNotifications;
+#endif
+
+#ifndef NSFoundationVersionNumber_iOS_9_x_Max
+#define NSFoundationVersionNumber_iOS_9_x_Max 1299
+#endif
+
+@implementation FirebasePlugin
+
+@synthesize notificationCallbackId;
+@synthesize tokenRefreshCallbackId;
+@synthesize notificationStack;
+
+static NSInteger const kNotificationStackSize = 10;
+static FirebasePlugin *firebasePlugin;
+
++ (FirebasePlugin *) firebasePlugin {
+ return firebasePlugin;
+}
+
+- (void)pluginInitialize {
+ NSLog(@"Starting Firebase plugin");
+ firebasePlugin = self;
+}
+
+// DEPRECATED - alias of getToken
+- (void)getInstanceId:(CDVInvokedUrlCommand *)command {
+ CDVPluginResult *pluginResult;
+
+ pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:
+ [[FIRInstanceID instanceID] token]];
+
+ [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
+}
+
+- (void)getToken:(CDVInvokedUrlCommand *)command {
+ CDVPluginResult *pluginResult;
+
+ pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:
+ [[FIRInstanceID instanceID] token]];
+
+ [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
+}
+- (void)hasPermission:(CDVInvokedUrlCommand *)command
+{
+ BOOL enabled = NO;
+ UIApplication *application = [UIApplication sharedApplication];
+ if ([[UIApplication sharedApplication] respondsToSelector:@selector(registerUserNotificationSettings:)]) {
+ enabled = application.currentUserNotificationSettings.types != UIUserNotificationTypeNone;
+ } else {
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+ enabled = application.enabledRemoteNotificationTypes != UIRemoteNotificationTypeNone;
+#pragma GCC diagnostic pop
+ }
+
+ NSMutableDictionary* message = [NSMutableDictionary dictionaryWithCapacity:1];
+ [message setObject:[NSNumber numberWithBool:enabled] forKey:@"isEnabled"];
+ CDVPluginResult *commandResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:message];
+ [self.commandDelegate sendPluginResult:commandResult callbackId:command.callbackId];
+}
+- (void)grantPermission:(CDVInvokedUrlCommand *)command {
+ if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_9_x_Max) {
+ if ([[UIApplication sharedApplication]respondsToSelector:@selector(registerUserNotificationSettings:)]) {
+ UIUserNotificationType notificationTypes =
+ (UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge);
+ UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:notificationTypes categories:nil];
+ [[UIApplication sharedApplication] registerUserNotificationSettings:settings];
+ [[UIApplication sharedApplication] registerForRemoteNotifications];
+ } else {
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+ [[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)];
+ #pragma GCC diagnostic pop
+ }
+
+ CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
+ [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
+ return;
+ }
+
+
+
+ #if defined(__IPHONE_10_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0
+ BOOL isIOS10 = TRUE;
+ #else
+ BOOL isIOS10 = FALSE;
+ #endif
+
+
+ if ( !isIOS10 ) {
+ [[UIApplication sharedApplication] registerForRemoteNotifications];
+ CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
+ [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
+ return;
+ }
+
+
+
+ // IOS 10
+ UNAuthorizationOptions authOptions = UNAuthorizationOptionAlert|UNAuthorizationOptionSound|UNAuthorizationOptionBadge;
+ [[UNUserNotificationCenter currentNotificationCenter]
+ requestAuthorizationWithOptions:authOptions
+ completionHandler:^(BOOL granted, NSError * _Nullable error) {
+
+ if ( ![NSThread isMainThread] ) {
+ dispatch_sync(dispatch_get_main_queue(), ^{
+ [[UNUserNotificationCenter currentNotificationCenter] setDelegate:self];
+ [[FIRMessaging messaging] setRemoteMessageDelegate:self];
+ [[UIApplication sharedApplication] registerForRemoteNotifications];
+
+ CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus: granted ? CDVCommandStatus_OK : CDVCommandStatus_ERROR];
+ [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
+ });
+ }
+ else {
+ [[UNUserNotificationCenter currentNotificationCenter] setDelegate:self];
+ [[FIRMessaging messaging] setRemoteMessageDelegate:self];
+ [[UIApplication sharedApplication] registerForRemoteNotifications];
+ CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
+ [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
+ }
+ }
+ ];
+
+ return;
+}
+
+- (void)setBadgeNumber:(CDVInvokedUrlCommand *)command {
+ int number = [[command.arguments objectAtIndex:0] intValue];
+
+ [self.commandDelegate runInBackground:^{
+ [[UIApplication sharedApplication] setApplicationIconBadgeNumber:number];
+
+ CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
+ [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
+ }];
+}
+
+- (void)getBadgeNumber:(CDVInvokedUrlCommand *)command {
+ [self.commandDelegate runInBackground:^{
+ long badge = [[UIApplication sharedApplication] applicationIconBadgeNumber];
+
+ CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDouble:badge];
+ [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
+ }];
+}
+
+- (void)subscribe:(CDVInvokedUrlCommand *)command {
+ NSString* topic = [NSString stringWithFormat:@"/topics/%@", [command.arguments objectAtIndex:0]];
+
+ [[FIRMessaging messaging] subscribeToTopic: topic];
+
+ CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
+ [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
+}
+
+- (void)unsubscribe:(CDVInvokedUrlCommand *)command {
+ NSString* topic = [NSString stringWithFormat:@"/topics/%@", [command.arguments objectAtIndex:0]];
+
+ [[FIRMessaging messaging] unsubscribeFromTopic: topic];
+
+ CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
+ [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
+}
+
+- (void)unregister:(CDVInvokedUrlCommand *)command {
+ [[FIRInstanceID instanceID] deleteIDWithHandler:^void(NSError *_Nullable error){
+ if (error) {
+ NSLog(@"Unable to delete instance");
+ } else {
+ NSString* currentToken = [[FIRInstanceID instanceID] token];
+ if (currentToken != nil) {
+ [self sendToken:currentToken];
+ }
+ CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
+ [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
+ }
+ }];
+}
+
+- (void)onNotificationOpen:(CDVInvokedUrlCommand *)command {
+ self.notificationCallbackId = command.callbackId;
+
+ if (self.notificationStack != nil && [self.notificationStack count]) {
+ for (NSDictionary *userInfo in self.notificationStack) {
+ [self sendNotification:userInfo];
+ }
+ [self.notificationStack removeAllObjects];
+ }
+}
+
+- (void)onTokenRefresh:(CDVInvokedUrlCommand *)command {
+ self.tokenRefreshCallbackId = command.callbackId;
+ NSString* currentToken = [[FIRInstanceID instanceID] token];
+ if (currentToken != nil) {
+ [self sendToken:currentToken];
+ }
+}
+
+- (void)sendNotification:(NSDictionary *)userInfo {
+ if (self.notificationCallbackId != nil) {
+ CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:userInfo];
+ [pluginResult setKeepCallbackAsBool:YES];
+ [self.commandDelegate sendPluginResult:pluginResult callbackId:self.notificationCallbackId];
+ } else {
+ if (!self.notificationStack) {
+ self.notificationStack = [[NSMutableArray alloc] init];
+ }
+
+ // stack notifications until a callback has been registered
+ [self.notificationStack addObject:userInfo];
+
+ if ([self.notificationStack count] >= kNotificationStackSize) {
+ [self.notificationStack removeLastObject];
+ }
+ }
+}
+
+- (void)sendToken:(NSString *)token {
+ if (self.tokenRefreshCallbackId != nil) {
+ CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:token];
+ [pluginResult setKeepCallbackAsBool:YES];
+ [self.commandDelegate sendPluginResult:pluginResult callbackId:self.tokenRefreshCallbackId];
+ }
+}
+
+- (void)logEvent:(CDVInvokedUrlCommand *)command {
+ [self.commandDelegate runInBackground:^{
+ NSString* name = [command.arguments objectAtIndex:0];
+ NSDictionary* parameters = [command.arguments objectAtIndex:1];
+
+ [FIRAnalytics logEventWithName:name parameters:parameters];
+
+ CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
+ [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
+ }];
+}
+
+- (void)setScreenName:(CDVInvokedUrlCommand *)command {
+ NSString* name = [command.arguments objectAtIndex:0];
+
+ [FIRAnalytics setScreenName:name screenClass:NULL];
+
+ CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
+ [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
+}
+
+- (void)setUserId:(CDVInvokedUrlCommand *)command {
+ [self.commandDelegate runInBackground:^{
+ NSString* id = [command.arguments objectAtIndex:0];
+
+ [FIRAnalytics setUserID:id];
+
+ CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
+ [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
+ }];
+}
+
+- (void)setUserProperty:(CDVInvokedUrlCommand *)command {
+ [self.commandDelegate runInBackground:^{
+ NSString* name = [command.arguments objectAtIndex:0];
+ NSString* value = [command.arguments objectAtIndex:1];
+
+ [FIRAnalytics setUserPropertyString:value forName:name];
+
+ CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
+ [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
+ }];
+}
+
+- (void)fetch:(CDVInvokedUrlCommand *)command {
+ [self.commandDelegate runInBackground:^{
+ FIRRemoteConfig* remoteConfig = [FIRRemoteConfig remoteConfig];
+
+ if ([command.arguments count] > 0){
+ int expirationDuration = [[command.arguments objectAtIndex:0] intValue];
+
+ [remoteConfig fetchWithExpirationDuration:expirationDuration completionHandler:^(FIRRemoteConfigFetchStatus status, NSError * _Nullable error) {
+ if (status == FIRRemoteConfigFetchStatusSuccess) {
+ CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
+ [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
+ }
+ }];
+ } else {
+ [remoteConfig fetchWithCompletionHandler:^(FIRRemoteConfigFetchStatus status, NSError * _Nullable error) {
+ if (status == FIRRemoteConfigFetchStatusSuccess) {
+ CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
+ [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
+ }
+ }];
+ }
+ }];
+}
+
+- (void)activateFetched:(CDVInvokedUrlCommand *)command {
+ [self.commandDelegate runInBackground:^{
+ FIRRemoteConfig* remoteConfig = [FIRRemoteConfig remoteConfig];
+ BOOL activated = [remoteConfig activateFetched];
+ CDVPluginResult *pluginResult;
+ if (activated) {
+ pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
+ } else {
+ pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR];
+ }
+
+ [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
+ }];
+}
+
+- (void)getValue:(CDVInvokedUrlCommand *)command {
+ [self.commandDelegate runInBackground:^{
+ NSString* key = [command.arguments objectAtIndex:0];
+ FIRRemoteConfig* remoteConfig = [FIRRemoteConfig remoteConfig];
+ NSString* value = remoteConfig[key].stringValue;
+ CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:value];
+ [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
+ }];
+}
+
+@end
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseRemoteConfig.framework/FirebaseRemoteConfig b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseRemoteConfig.framework/FirebaseRemoteConfig
new file mode 100755
index 00000000..45637862
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseRemoteConfig.framework/FirebaseRemoteConfig
Binary files differ
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseRemoteConfig.framework/Headers/FIRRemoteConfig.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseRemoteConfig.framework/Headers/FIRRemoteConfig.h
new file mode 100755
index 00000000..395020ca
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseRemoteConfig.framework/Headers/FIRRemoteConfig.h
@@ -0,0 +1,224 @@
+//
+// FIRRemoteConfig.h
+// Firebase Remote Config service SDK
+// Copyright 2016 Google Inc. All rights reserved.
+//
+#import <Foundation/Foundation.h>
+
+/// The Firebase Remote Config service default namespace, to be used if the API method does not
+/// specify a different namespace. Use the default namespace if configuring from the Google Firebase
+/// service.
+extern NSString *const __nonnull FIRNamespaceGoogleMobilePlatform;
+
+/// Key used to manage throttling in NSError user info when the refreshing of Remote Config
+/// parameter values (data) is throttled. The value of this key is the elapsed time since 1970,
+/// measured in seconds.
+extern NSString *const __nonnull FIRRemoteConfigThrottledEndTimeInSecondsKey;
+
+/// Indicates whether updated data was successfully fetched.
+typedef NS_ENUM(NSInteger, FIRRemoteConfigFetchStatus) {
+ /// Config has never been fetched.
+ FIRRemoteConfigFetchStatusNoFetchYet,
+ /// Config fetch succeeded.
+ FIRRemoteConfigFetchStatusSuccess,
+ /// Config fetch failed.
+ FIRRemoteConfigFetchStatusFailure,
+ /// Config fetch was throttled.
+ FIRRemoteConfigFetchStatusThrottled,
+};
+
+/// Remote Config error domain that handles errors when fetching data from the service.
+extern NSString *const __nonnull FIRRemoteConfigErrorDomain;
+/// Firebase Remote Config service fetch error.
+typedef NS_ENUM(NSInteger, FIRRemoteConfigError) {
+ /// Unknown or no error.
+ FIRRemoteConfigErrorUnknown = 8001,
+ /// Frequency of fetch requests exceeds throttled limit.
+ FIRRemoteConfigErrorThrottled = 8002,
+ /// Internal error that covers all internal HTTP errors.
+ FIRRemoteConfigErrorInternalError = 8003,
+};
+
+/// Enumerated value that indicates the source of Remote Config data. Data can come from
+/// the Remote Config service, the DefaultConfig that is available when the app is first installed,
+/// or a static initialized value if data is not available from the service or DefaultConfig.
+typedef NS_ENUM(NSInteger, FIRRemoteConfigSource) {
+ FIRRemoteConfigSourceRemote, ///< The data source is the Remote Config service.
+ FIRRemoteConfigSourceDefault, ///< The data source is the DefaultConfig defined for this app.
+ FIRRemoteConfigSourceStatic, ///< The data doesn't exist, return a static initialized value.
+};
+
+/// Completion handler invoked by fetch methods when they get a response from the server.
+///
+/// @param status Config fetching status.
+/// @param error Error message on failure.
+typedef void (^FIRRemoteConfigFetchCompletion)(FIRRemoteConfigFetchStatus status,
+ NSError *__nullable error);
+
+#pragma mark - FIRRemoteConfigValue
+/// This class provides a wrapper for Remote Config parameter values, with methods to get parameter
+/// values as different data types.
+@interface FIRRemoteConfigValue : NSObject<NSCopying>
+/// Gets the value as a string.
+@property(nonatomic, readonly, nullable) NSString *stringValue;
+/// Gets the value as a number value.
+@property(nonatomic, readonly, nullable) NSNumber *numberValue;
+/// Gets the value as a NSData object.
+@property(nonatomic, readonly, nonnull) NSData *dataValue;
+/// Gets the value as a boolean.
+@property(nonatomic, readonly) BOOL boolValue;
+/// Identifies the source of the fetched value.
+@property(nonatomic, readonly) FIRRemoteConfigSource source;
+@end
+
+#pragma mark - FIRRemoteConfigSettings
+/// Firebase Remote Config settings.
+@interface FIRRemoteConfigSettings : NSObject
+/// Indicates whether Developer Mode is enabled.
+@property(nonatomic, readonly) BOOL isDeveloperModeEnabled;
+/// Initializes FIRRemoteConfigSettings, which is used to set properties for custom settings. To
+/// make custom settings take effect, pass the FIRRemoteConfigSettings instance to the
+/// configSettings property of FIRRemoteConfig.
+- (nullable FIRRemoteConfigSettings *)initWithDeveloperModeEnabled:(BOOL)developerModeEnabled
+ NS_DESIGNATED_INITIALIZER;
+@end
+
+#pragma mark - FIRRemoteConfig
+/// Firebase Remote Config class. The shared instance method +remoteConfig can be created and used
+/// to fetch, activate and read config results and set default config results.
+@interface FIRRemoteConfig : NSObject<NSFastEnumeration>
+/// Last successful fetch completion time.
+@property(nonatomic, readonly, strong, nullable) NSDate *lastFetchTime;
+/// Last fetch status. The status can be any enumerated value from FIRRemoteConfigFetchStatus.
+@property(nonatomic, readonly, assign) FIRRemoteConfigFetchStatus lastFetchStatus;
+/// Config settings are custom settings.
+@property(nonatomic, readwrite, strong, nonnull) FIRRemoteConfigSettings *configSettings;
+
+/// Returns the FIRRemoteConfig instance shared throughout your app. This singleton object contains
+/// the complete set of Remote Config parameter values available to the app, including the Active
+/// Config and Default Config. This object also caches values fetched from the Remote Config Server
+/// until they are copied to the Active Config by calling activateFetched.
+/// When you fetch values from the Remote Config Server using the default Firebase namespace
+/// service, you should use this class method to create a shared instance of the FIRRemoteConfig
+/// object to ensure that your app will function properly with the Remote Config Server and the
+/// Firebase service.
++ (nonnull FIRRemoteConfig *)remoteConfig NS_SWIFT_NAME(remoteConfig());
+
+/// Unavailable. Use +remoteConfig instead.
+- (nonnull instancetype)init __attribute__((unavailable("Use +remoteConfig instead.")));
+
+#pragma mark - Fetch
+/// Fetches Remote Config data with a callback. Call activateFetched to make fetched data available
+/// to your app.
+/// @param completionHandler Fetch operation callback.
+- (void)fetchWithCompletionHandler:(nullable FIRRemoteConfigFetchCompletion)completionHandler;
+
+/// Fetches Remote Config data and sets a duration that specifies how long config data lasts.
+/// Call activateFetched to make fetched data available to your app.
+/// @param expirationDuration Duration that defines how long fetched config data is available, in
+/// seconds. When the config data expires, a new fetch is required.
+/// @param completionHandler Fetch operation callback.
+- (void)fetchWithExpirationDuration:(NSTimeInterval)expirationDuration
+ completionHandler:(nullable FIRRemoteConfigFetchCompletion)completionHandler;
+
+#pragma mark - Apply
+/// Applies Fetched Config data to the Active Config, causing updates to the behavior and appearance
+/// of the app to take effect (depending on how config data is used in the app).
+/// Returns true if there was a Fetched Config, and it was activated.
+/// Returns false if no Fetched Config was found, or the Fetched Config was already activated.
+- (BOOL)activateFetched;
+
+#pragma mark - Get Config
+/// Enables access to configuration values by using object subscripting syntax.
+/// This is used to get the config value of the default namespace.
+/// <pre>
+/// // Example:
+/// FIRRemoteConfig *config = [FIRRemoteConfig remoteConfig];
+/// FIRRemoteConfigValue *value = config[@"yourKey"];
+/// BOOL b = value.boolValue;
+/// NSNumber *number = config[@"yourKey"].numberValue;
+/// </pre>
+- (nonnull FIRRemoteConfigValue *)objectForKeyedSubscript:(nonnull NSString *)key;
+
+/// Gets the config value of the default namespace.
+/// @param key Config key.
+- (nonnull FIRRemoteConfigValue *)configValueForKey:(nullable NSString *)key;
+
+/// Gets the config value of a given namespace.
+/// @param key Config key.
+/// @param aNamespace Config results under a given namespace.
+- (nonnull FIRRemoteConfigValue *)configValueForKey:(nullable NSString *)key
+ namespace:(nullable NSString *)aNamespace;
+
+/// Gets the config value of a given namespace and a given source.
+/// @param key Config key.
+/// @param aNamespace Config results under a given namespace.
+/// @param source Config value source.
+- (nonnull FIRRemoteConfigValue *)configValueForKey:(nullable NSString *)key
+ namespace:(nullable NSString *)aNamespace
+ source:(FIRRemoteConfigSource)source;
+
+/// Gets all the parameter keys from a given source and a given namespace.
+///
+/// @param source The config data source.
+/// @param aNamespace The config data namespace.
+/// @return An array of keys under the given source and namespace.
+- (nonnull NSArray<NSString *> *)allKeysFromSource:(FIRRemoteConfigSource)source
+ namespace:(nullable NSString *)aNamespace;
+
+/// Returns the set of parameter keys that start with the given prefix, from the default namespace
+/// in the active config.
+///
+/// @param prefix The key prefix to look for. If prefix is nil or empty, returns all the
+/// keys.
+/// @return The set of parameter keys that start with the specified prefix.
+- (nonnull NSSet<NSString *> *)keysWithPrefix:(nullable NSString *)prefix;
+
+/// Returns the set of parameter keys that start with the given prefix, from the given namespace in
+/// the active config.
+///
+/// @param prefix The key prefix to look for. If prefix is nil or empty, returns all the
+/// keys in the given namespace.
+/// @param aNamespace The namespace in which to look up the keys. If the namespace is invalid,
+/// returns an empty set.
+/// @return The set of parameter keys that start with the specified prefix.
+- (nonnull NSSet<NSString *> *)keysWithPrefix:(nullable NSString *)prefix
+ namespace:(nullable NSString *)aNamespace;
+
+#pragma mark - Defaults
+/// Sets config defaults for parameter keys and values in the default namespace config.
+///
+/// @param defaultConfig A dictionary mapping a NSString * key to a NSObject * value.
+- (void)setDefaults:(nullable NSDictionary<NSString *, NSObject *> *)defaults;
+
+/// Sets config defaults for parameter keys and values in the default namespace config.
+///
+/// @param defaultConfig A dictionary mapping a NSString * key to a NSObject * value.
+/// @param aNamespace Config under a given namespace.
+- (void)setDefaults:(nullable NSDictionary<NSString *, NSObject *> *)defaultConfig
+ namespace:(nullable NSString *)aNamespace;
+
+/// Sets default configs from plist for default namespace;
+/// @param fileName The plist file name, with no file name extension. For example, if the plist file
+/// is defaultSamples.plist, call:
+/// [[FIRRemoteConfig remoteConfig] setDefaultsFromPlistFileName:@"defaultSamples"];
+- (void)setDefaultsFromPlistFileName:(nullable NSString *)fileName;
+
+/// Sets default configs from plist for a given namespace;
+/// @param fileName The plist file name, with no file name extension. For example, if the plist file
+/// is defaultSamples.plist, call:
+/// [[FIRRemoteConfig remoteConfig] setDefaultsFromPlistFileName:@"defaultSamples"];
+/// @param aNamespace The namespace where the default config is set.
+- (void)setDefaultsFromPlistFileName:(nullable NSString *)fileName
+ namespace:(nullable NSString *)aNamespace;
+
+/// Returns the default value of a given key and a given namespace from the default config.
+///
+/// @param key The parameter key of default config.
+/// @param aNamespace The namespace of default config.
+/// @return Returns the default value of the specified key and namespace. Returns
+/// nil if the key or namespace doesn't exist in the default config.
+- (nullable FIRRemoteConfigValue *)defaultValueForKey:(nullable NSString *)key
+ namespace:(nullable NSString *)aNamespace;
+
+@end
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseRemoteConfig.framework/Headers/FirebaseRemoteConfig.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseRemoteConfig.framework/Headers/FirebaseRemoteConfig.h
new file mode 100755
index 00000000..eedc4fce
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseRemoteConfig.framework/Headers/FirebaseRemoteConfig.h
@@ -0,0 +1 @@
+#import "FIRRemoteConfig.h"
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseRemoteConfig.framework/Modules/module.modulemap b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseRemoteConfig.framework/Modules/module.modulemap
new file mode 100755
index 00000000..a6627f5e
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/FirebaseRemoteConfig.framework/Modules/module.modulemap
@@ -0,0 +1,11 @@
+framework module FirebaseRemoteConfig {
+ umbrella header "FirebaseRemoteConfig.h"
+ export *
+ module * { export *}
+ link "c++"
+ link "sqlite3"
+ link "z"
+ link framework "CoreGraphics"
+ link framework "Foundation"
+ link framework "UIKit"
+} \ No newline at end of file
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/GoogleToolboxForMac.framework/GoogleToolboxForMac b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/GoogleToolboxForMac.framework/GoogleToolboxForMac
new file mode 100644
index 00000000..345b889c
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/GoogleToolboxForMac.framework/GoogleToolboxForMac
Binary files differ
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/Protobuf.framework/Protobuf b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/Protobuf.framework/Protobuf
new file mode 100644
index 00000000..546e02ec
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-firebase/Protobuf.framework/Protobuf
Binary files differ
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAI.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAI.h
deleted file mode 100644
index 7f3f7029..00000000
--- a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAI.h
+++ /dev/null
@@ -1,192 +0,0 @@
-/*!
- @header GAI.h
- @abstract Google Analytics iOS SDK Header
- @version 3.14
- @copyright Copyright 2015 Google Inc. All rights reserved.
- */
-
-#import <Foundation/Foundation.h>
-
-#import "GAILogger.h"
-#import "GAITrackedViewController.h"
-#import "GAITracker.h"
-
-typedef NS_ENUM(NSUInteger, GAIDispatchResult) {
- kGAIDispatchNoData,
- kGAIDispatchGood,
- kGAIDispatchError
-};
-
-/*! Google Analytics product string. */
-extern NSString *const kGAIProduct;
-
-/*! Google Analytics version string. */
-extern NSString *const kGAIVersion;
-
-/*!
- NSError objects returned by the Google Analytics SDK may have this error domain
- to indicate that the error originated in the Google Analytics SDK.
- */
-extern NSString *const kGAIErrorDomain;
-
-/*! Google Analytics error codes. */
-typedef enum {
- // This error code indicates that there was no error. Never used.
- kGAINoError = 0,
-
- // This error code indicates that there was a database-related error.
- kGAIDatabaseError,
-
- // This error code indicates that there was a network-related error.
- kGAINetworkError,
-} GAIErrorCode;
-
-/*!
- Google Analytics iOS top-level class. Provides facilities to create trackers
- and set behaviorial flags.
- */
-@interface GAI : NSObject
-
-/*!
- For convenience, this class exposes a default tracker instance.
- This is initialized to `nil` and will be set to the first tracker that is
- instantiated in trackerWithTrackingId:. It may be overridden as desired.
-
- The GAITrackedViewController class will, by default, use this tracker instance.
- */
-@property(nonatomic, assign) id<GAITracker> defaultTracker;
-
-/*!
- The GAILogger to use.
- */
-@property(nonatomic, retain) id<GAILogger> logger;
-
-/*!
- When this is true, no tracking information will be gathered; tracking calls
- will effectively become no-ops. When set to true, all tracking information that
- has not yet been submitted. The value of this flag will be persisted
- automatically by the SDK. Developers can optionally use this flag to implement
- an opt-out setting in the app to allows users to opt out of Google Analytics
- tracking.
-
- This is set to `NO` the first time the Google Analytics SDK is used on a
- device, and is persisted thereafter.
- */
-@property(nonatomic, assign) BOOL optOut;
-
-/*!
- If this value is positive, tracking information will be automatically
- dispatched every dispatchInterval seconds. Otherwise, tracking information must
- be sent manually by calling dispatch.
-
- By default, this is set to `120`, which indicates tracking information should
- be dispatched automatically every 120 seconds.
- */
-@property(nonatomic, assign) NSTimeInterval dispatchInterval;
-
-/*!
- When set to true, the SDK will record the currently registered uncaught
- exception handler, and then register an uncaught exception handler which tracks
- the exceptions that occurred using defaultTracker. If defaultTracker is not
- `nil`, this function will track the exception on the tracker and attempt to
- dispatch any outstanding tracking information for 5 seconds. It will then call
- the previously registered exception handler, if any. When set back to false,
- the previously registered uncaught exception handler will be restored.
- */
-@property(nonatomic, assign) BOOL trackUncaughtExceptions;
-
-/*!
- When this is 'YES', no tracking information will be sent. Defaults to 'NO'.
- */
-@property(nonatomic, assign) BOOL dryRun;
-
-/*! Get the shared instance of the Google Analytics for iOS class. */
-+ (GAI *)sharedInstance;
-
-/*!
- Creates or retrieves a GAITracker implementation with the specified name and
- tracking ID. If the tracker for the specified name does not already exist, then
- it will be created and returned; otherwise, the existing tracker will be
- returned. If the existing tracker for the respective name has a different
- tracking ID, that tracking ID is not changed by this method. If defaultTracker
- is not set, it will be set to the tracker instance returned here.
-
- @param name The name of this tracker. Must not be `nil` or empty.
-
- @param trackingId The tracking ID to use for this tracker. It should be of
- the form `UA-xxxxx-y`.
-
- @return A GAITracker associated with the specified name. The tracker
- can be used to send tracking data to Google Analytics. The first time this
- method is called with a particular name, the tracker for that name will be
- returned, and subsequent calls with the same name will return the same
- instance. It is not necessary to retain the tracker because the tracker will be
- retained internally by the library.
-
- If an error occurs or the name is not valid, this method will return
- `nil`.
- */
-- (id<GAITracker>)trackerWithName:(NSString *)name
- trackingId:(NSString *)trackingId;
-
-/*!
- Creates or retrieves a GAITracker implementation with name equal to
- the specified tracking ID. If the tracker for the respective name does not
- already exist, it is created, has it's tracking ID set to |trackingId|,
- and is returned; otherwise, the existing tracker is returned. If the existing
- tracker for the respective name has a different tracking ID, that tracking ID
- is not changed by this method. If defaultTracker is not set, it is set to the
- tracker instance returned here.
-
- @param trackingId The tracking ID to use for this tracker. It should be of
- the form `UA-xxxxx-y`. The name of the tracker will be the same as trackingID.
-
- @return A GAITracker associated with the specified trackingID. The tracker
- can be used to send tracking data to Google Analytics. The first time this
- method is called with a particular trackingID, the tracker for the respective
- name will be returned, and subsequent calls with the same trackingID
- will return the same instance. It is not necessary to retain the tracker
- because the tracker will be retained internally by the library.
-
- If an error occurs or the trackingId is not valid, this method will return
- `nil`.
- */
-- (id<GAITracker>)trackerWithTrackingId:(NSString *)trackingId;
-
-/*!
- Remove a tracker from the trackers dictionary. If it is the default tracker,
- clears the default tracker as well.
-
- @param name The name of the tracker.
- */
-- (void)removeTrackerByName:(NSString *)name;
-
-/*!
- Dispatches any pending tracking information.
-
- Note that this does not have any effect on dispatchInterval, and can be used in
- conjunction with periodic dispatch. */
-- (void)dispatch;
-
-/*!
- Dispatches the next tracking beacon in the queue, calling completionHandler when
- the tracking beacon has either been sent (returning kGAIDispatchGood) or an error has resulted
- (returning kGAIDispatchError). If there is no network connection or there is no data to send,
- kGAIDispatchNoData is returned.
-
- Note that calling this method with a non-nil completionHandler disables periodic dispatch.
- Periodic dispatch can be reenabled by setting the dispatchInterval to a positive number when
- the app resumes from the background.
-
- Calling this method with a nil completionHandler is the same as calling the dispatch
- above.
-
- This method can be used for background data fetching in iOS 7.0 or later. It would be wise to
- call this when the application is exiting to initiate the submission of any unsubmitted
- tracking information.
-
- @param completionHandler The block to run after a single dispatch request. The GAIDispatchResult
- param indicates whether the dispatch succeeded, had an error, or had no hits to dispatch.
- */
-- (void)dispatchWithCompletionHandler:(void (^)(GAIDispatchResult result))completionHandler;
-@end
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAIDictionaryBuilder.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAIDictionaryBuilder.h
deleted file mode 100644
index b8c5fdab..00000000
--- a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAIDictionaryBuilder.h
+++ /dev/null
@@ -1,217 +0,0 @@
-/*!
- @header GAIDictionaryBuilder.h
- @abstract Google Analytics iOS SDK Hit Format Header
- @copyright Copyright 2013 Google Inc. All rights reserved.
- */
-
-#import <Foundation/Foundation.h>
-
-#import "GAIEcommerceProduct.h"
-#import "GAIEcommerceProductAction.h"
-#import "GAIEcommercePromotion.h"
-
-/*!
- * Helper class to build a dictionary of hit parameters and values.
- * <br>
- * Examples:
- * <code>
- * id<GAITracker> t = // get a tracker.
- * [t send:[[[GAIDictionaryBuilder createEventWithCategory:@"EventCategory"
- * action:@"EventAction"
- * label:nil
- * value:nil]
- * set:@"dimension1" forKey:[GAIFields customDimensionForIndex:1]] build]];
- * </code>
- * This will send an event hit type with the specified parameters
- * and a custom dimension parameter.
- * <br>
- * If you want to send a parameter with all hits, set it on GAITracker directly.
- * <code>
- * [t set:kGAIScreenName value:@"Home"];
- * [t send:[[GAIDictionaryBuilder createSocialWithNetwork:@"Google+"
- * action:@"PlusOne"
- * target:@"SOME_URL"] build]];
- * [t send:[[GAIDictionaryBuilder createSocialWithNetwork:@"Google+"
- * action:@"Share"
- * target:@"SOME_POST"] build]];
- * [t send:[[GAIDictionaryBuilder createSocialWithNetwork:@"Google+"
- * action:@"HangOut"
- * target:@"SOME_CIRCLE"]
- * build]];
- * </code>
- * You can override a value set on the tracker by adding it to the dictionary.
- * <code>
- * [t set:kGAIScreenName value:@"Home"];
- * [t send:...];
- * [t send[[[GAIDictionaryBuilder createEventWithCategory:@"click"
- * action:@"popup"
- * label:nil
- * value:nil]
- * set:@"popup title" forKey:kGAIScreenName] build]];
- * </code>
- * The values set via [GAIDictionaryBuilder set] or
- * [GAIDictionaryBuilder setAll] will override any existing values in the
- * GAIDictionaryBuilder object (i.e. initialized by
- * [GAIDictionaryBuilder createXYZ]). e.g.
- * <code>
- * GAIDictionaryBuilder *m =
- * GAIDictionaryBuilder createTimingWithCategory:@"category"
- * interval:@0
- * name:@"name"
- * label:nil];
- * [t send:[m.set:@"10" forKey:kGAITimingVar] build];
- * [t send:[m.set:@"20" forKey:kGAITimingVar] build];
- * </code>
- */
-@interface GAIDictionaryBuilder : NSObject
-
-- (GAIDictionaryBuilder *)set:(NSString *)value
- forKey:(NSString *)key;
-
-/*!
- * Copies all the name-value pairs from params into this object, ignoring any
- * keys that are not NSString and any values that are neither NSString or
- * NSNull.
- */
-- (GAIDictionaryBuilder *)setAll:(NSDictionary *)params;
-
-/*!
- * Returns the value for the input parameter paramName, or nil if paramName
- * is not present.
- */
-- (NSString *)get:(NSString *)paramName;
-
-/*!
- * Return an NSMutableDictionary object with all the parameters set in this
- */
-- (NSMutableDictionary *)build;
-
-/*!
- * Parses and translates utm campaign parameters to analytics campaign param
- * and returns them as a map.
- *
- * @param urlString url containing utm campaign parameters.
- *
- * Valid campaign parameters are:
- * <ul>
- * <li>utm_id</li>
- * <li>utm_campaign</li>
- * <li>utm_content</li>
- * <li>utm_medium</li>
- * <li>utm_source</li>
- * <li>utm_term</li>
- * <li>dclid</li>
- * <li>gclid</li>
- * <li>gmob_t</li>
- * <li>aclid</li>
- * <li>anid</li>
- * </ul>
- * <p>
- * Example:
- * http://my.site.com/index.html?utm_campaign=wow&utm_source=source
- * utm_campaign=wow&utm_source=source.
- * <p>
- * For more information on auto-tagging, see
- * http://support.google.com/googleanalytics/bin/answer.py?hl=en&answer=55590
- * <p>
- * For more information on manual tagging, see
- * http://support.google.com/googleanalytics/bin/answer.py?hl=en&answer=55518
- */
-- (GAIDictionaryBuilder *)setCampaignParametersFromUrl:(NSString *)urlString;
-
-/*!
- Returns a GAIDictionaryBuilder object with parameters specific to an appview
- hit.
-
- Note that using this method will not set the screen name for followon hits. To
- do that you need to call set:kGAIDescription value:<screenName> on the
- GAITracker instance.
-
- This method is deprecated. Use createScreenView instead.
- */
-+ (GAIDictionaryBuilder *)createAppView DEPRECATED_MSG_ATTRIBUTE("Use createScreenView instead.");
-
-/*!
- Returns a GAIDictionaryBuilder object with parameters specific to a screenview
- hit.
-
- Note that using this method will not set the screen name for followon hits. To
- do that you need to call set:kGAIDescription value:<screenName> on the
- GAITracker instance.
- */
-+ (GAIDictionaryBuilder *)createScreenView;
-
-/*!
- Returns a GAIDictionaryBuilder object with parameters specific to an event hit.
- */
-+ (GAIDictionaryBuilder *)createEventWithCategory:(NSString *)category
- action:(NSString *)action
- label:(NSString *)label
- value:(NSNumber *)value;
-
-/*!
- Returns a GAIDictionaryBuilder object with parameters specific to an exception
- hit.
- */
-+ (GAIDictionaryBuilder *)createExceptionWithDescription:(NSString *)description
- withFatal:(NSNumber *)fatal;
-
-/*!
- Returns a GAIDictionaryBuilder object with parameters specific to an item hit.
- */
-+ (GAIDictionaryBuilder *)createItemWithTransactionId:(NSString *)transactionId
- name:(NSString *)name
- sku:(NSString *)sku
- category:(NSString *)category
- price:(NSNumber *)price
- quantity:(NSNumber *)quantity
- currencyCode:(NSString *)currencyCode;
-
-/*!
- Returns a GAIDictionaryBuilder object with parameters specific to a social hit.
- */
-+ (GAIDictionaryBuilder *)createSocialWithNetwork:(NSString *)network
- action:(NSString *)action
- target:(NSString *)target;
-
-/*!
- Returns a GAIDictionaryBuilder object with parameters specific to a timing hit.
- */
-+ (GAIDictionaryBuilder *)createTimingWithCategory:(NSString *)category
- interval:(NSNumber *)intervalMillis
- name:(NSString *)name
- label:(NSString *)label;
-
-/*!
- Returns a GAIDictionaryBuilder object with parameters specific to a transaction
- hit.
- */
-+ (GAIDictionaryBuilder *)createTransactionWithId:(NSString *)transactionId
- affiliation:(NSString *)affiliation
- revenue:(NSNumber *)revenue
- tax:(NSNumber *)tax
- shipping:(NSNumber *)shipping
- currencyCode:(NSString *)currencyCode;
-
-/*!
- Set the product action field for this hit.
- */
-- (GAIDictionaryBuilder *)setProductAction:(GAIEcommerceProductAction *)productAction;
-
-/*!
- Adds a product to this hit.
- */
-- (GAIDictionaryBuilder *)addProduct:(GAIEcommerceProduct *)product;
-
-/*!
- Add a product impression to this hit.
- */
-- (GAIDictionaryBuilder *)addProductImpression:(GAIEcommerceProduct *)product
- impressionList:(NSString *)name
- impressionSource:(NSString *)source;
-
-/*!
- Add a promotion to this hit.
- */
-- (GAIDictionaryBuilder *)addPromotion:(GAIEcommercePromotion *)promotion;
-@end
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAIEcommerceFields.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAIEcommerceFields.h
deleted file mode 100644
index b3ba60ae..00000000
--- a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAIEcommerceFields.h
+++ /dev/null
@@ -1,124 +0,0 @@
-/*!
- @header GAIEcommerceFields.h
- @abstract Google Analytics iOS SDK Ecommerce Hit Format Header
- @copyright Copyright 2014 Google Inc. All rights reserved.
- */
-
-#import <Foundation/Foundation.h>
-
-/*!
- This class provides several fields and methods useful as wire format parameters for
- Enhanced Ecommerce. See the online developer guides for Enhanced Ecommerce for details
- on how to use the Enhanced Ecommerce features.
- */
-
-// Enhanced Ecommerce Product fields
-extern NSString *const kGAIProductId;
-extern NSString *const kGAIProductName;
-extern NSString *const kGAIProductBrand;
-extern NSString *const kGAIProductCategory;
-extern NSString *const kGAIProductVariant;
-extern NSString *const kGAIProductPrice;
-extern NSString *const kGAIProductQuantity;
-extern NSString *const kGAIProductCouponCode;
-extern NSString *const kGAIProductPosition;
-
-extern NSString *const kGAIProductAction;
-
-// product action values
-extern NSString *const kGAIPADetail;
-extern NSString *const kGAIPAClick;
-extern NSString *const kGAIPAAdd;
-extern NSString *const kGAIPARemove;
-extern NSString *const kGAIPACheckout;
-extern NSString *const kGAIPACheckoutOption;
-extern NSString *const kGAIPAPurchase;
-extern NSString *const kGAIPARefund;
-
-// product action fields
-// used for 'purchase' and 'refund' actions
-extern NSString *const kGAIPATransactionId;
-extern NSString *const kGAIPAAffiliation;
-extern NSString *const kGAIPARevenue;
-extern NSString *const kGAIPATax;
-extern NSString *const kGAIPAShipping;
-extern NSString *const kGAIPACouponCode;
-// used for 'checkout' action
-extern NSString *const kGAICheckoutStep;
-extern NSString *const kGAICheckoutOption;
-// used for 'detail' and 'click' actions
-extern NSString *const kGAIProductActionList;
-extern NSString *const kGAIProductListSource;
-
-// Enhanced Ecommerce Impressions fields
-extern NSString *const kGAIImpressionName;
-extern NSString *const kGAIImpressionListSource;
-extern NSString *const kGAIImpressionProduct;
-extern NSString *const kGAIImpressionProductId;
-extern NSString *const kGAIImpressionProductName;
-extern NSString *const kGAIImpressionProductBrand;
-extern NSString *const kGAIImpressionProductCategory;
-extern NSString *const kGAIImpressionProductVariant;
-extern NSString *const kGAIImpressionProductPosition;
-extern NSString *const kGAIImpressionProductPrice;
-
-// Enhanced Ecommerce Promotions fields
-extern NSString *const kGAIPromotionId;
-extern NSString *const kGAIPromotionName;
-extern NSString *const kGAIPromotionCreative;
-extern NSString *const kGAIPromotionPosition;
-
-// Promotion actions
-extern NSString *const kGAIPromotionAction;
-extern NSString *const kGAIPromotionView;
-extern NSString *const kGAIPromotionClick;
-
-@interface GAIEcommerceFields : NSObject
-
-/*!
- Generates an enhanced ecommerce product field. Note that field names generated by
- customDimensionForIndex and customMetricForIndex can be used as suffixes.
-
- @param index the index of the product
- @param suffix the product field suffix (such as kGAIProductPrice).
-
- @return an NSString representing the product field parameter
- */
-+ (NSString *)productFieldForIndex:(NSUInteger)index suffix:(NSString *)suffix;
-
-/*!
- Genrates an enhanced ecommerce impression list field name with an index. The return value of
- this method should also be used as input to the productImpressionForList method below.
-
- @param index the index of the impression list
-
- @return an NSString representing the impression list parameter
- */
-+ (NSString *)impressionListForIndex:(NSUInteger)index;
-
-/*!
- Generates an enhanced ecommerce product impression field with the impression list, product index
- and product suffix as parameters. The output of the method impressionListForIndex above should be
- used as the input list for this method. The output of customDimensionForIndex and
- customMetricForIndex can be used as suffixes.
-
- @param list the impression list for this product impression
- @param index the index of this product in the impression list
- @param suffix the product impression suffix for this field
-
- @return an NSString representing this product impression field parameter
- */
-+ (NSString *)productImpressionForList:(NSString *)list
- index:(NSUInteger)index
- suffix:(NSString *)Suffix;
-
-/*!
- Generates an enhanced ecommerce promotion field with an index and suffix.
-
- @param index the index of the promotion
- @param suffix the promotion suffix (such as kGAIPromotionId)
-
- @return an NSString representing this promotion field paramter
- */
-+ (NSString *)promotionForIndex:(NSUInteger)index suffix:(NSString *)suffix;
-@end
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAIEcommerceProduct.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAIEcommerceProduct.h
deleted file mode 100644
index 029f7638..00000000
--- a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAIEcommerceProduct.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/*!
- @header GAIEcommerceProduct.h
- @abstract Google Analytics iOS SDK Hit Format Header
- @copyright Copyright 2014 Google Inc. All rights reserved.
- */
-
-#import <Foundation/Foundation.h>
-
-/*!
- * Class to construct product related information for a Google Analytics beacon. Use this class to
- * report information about products sold by merchants or impressions of products seen by users.
- * Instances of this class can be associated with both Product Actions and Product
- * Impression Lists.
- * <br>
- * Typical usage:
- * <code>
- * [tracker set:kGAIScreenName value:@"MyScreen"];
- * GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createScreenView];
- * GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
- * [product setId:@""PID-1234""];
- * [product setName:@"Space Monkeys!"];
- * [product setPrice:@100];
- * [product setQuantity:@2];
- * [builder addProductImpression:product impressionList:@"listName"];
- * [tracker send:[builder build]];
- * </code>
- */
-@interface GAIEcommerceProduct : NSObject
-
-/*!
- Sets the id that is used to identify a product in GA reports.
- */
-- (GAIEcommerceProduct *)setId:(NSString *)productId;
-
-/*!
- Sets the name that is used to indentify the product in GA reports.
- */
-- (GAIEcommerceProduct *)setName:(NSString *)productName;
-
-/*!
- Sets the brand associated with the product in GA reports.
- */
-- (GAIEcommerceProduct *)setBrand:(NSString *)productBrand;
-
-/*!
- Sets the category associated with the product in GA reports.
- */
-- (GAIEcommerceProduct *)setCategory:(NSString *)productCategory;
-
-/*!
- Sets the variant of the product.
- */
-- (GAIEcommerceProduct *)setVariant:(NSString *)productVariant;
-
-/*!
- Sets the price of the product.
- */
-- (GAIEcommerceProduct *)setPrice:(NSNumber *)productPrice;
-
-/*!
- Sets the quantity of the product. This field is usually not used with product impressions.
- */
-- (GAIEcommerceProduct *)setQuantity:(NSNumber *)productQuantity;
-
-/*!
- Sets the coupon code associated with the product. This field is usually not used with product
- impressions.
- */
-- (GAIEcommerceProduct *)setCouponCode:(NSString *)productCouponCode;
-
-/*!
- Sets the position of the product on the screen/product impression list, etc.
- */
-- (GAIEcommerceProduct *)setPosition:(NSNumber *)productPosition;
-
-/*!
- Sets the custom dimension associated with this product.
- */
-- (GAIEcommerceProduct *)setCustomDimension:(NSUInteger)index value:(NSString *)value;
-
-/*!
- Sets the custom metric associated with this product.
- */
-- (GAIEcommerceProduct *)setCustomMetric:(NSUInteger)index value:(NSNumber *)value;
-
-/*!
- Builds an NSDictionary of fields stored in this instance suitable for a product action. The
- index parameter is the index of this product in the product action list.
- <br>
- Normally, users will have no need to call this method.
- */
-- (NSDictionary *)buildWithIndex:(NSUInteger)index;
-
-/*!
- Builds an NSDictionary of fields stored in this instance suitable for an impression list. The
- lIndex parameter is the index of the product impression list while the index parameter is the
- index of this product in that impression list.
- <br>
- Normally, users will have no need to call this method.
- */
-- (NSDictionary *)buildWithListIndex:(NSUInteger)lIndex index:(NSUInteger)index;
-@end
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAIEcommerceProductAction.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAIEcommerceProductAction.h
deleted file mode 100644
index e3da1c15..00000000
--- a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAIEcommerceProductAction.h
+++ /dev/null
@@ -1,107 +0,0 @@
-/*!
- @header GAIProductAction.h
- @abstract Google Analytics iOS SDK Hit Format Header
- @copyright Copyright 2014 Google Inc. All rights reserved.
- */
-
-#import <Foundation/Foundation.h>
-
-/*!
- * Class to construct transaction/checkout or other product interaction related information for a
- * Google Analytics hit. Use this class to report information about products sold, viewed or
- * refunded. This class is intended to be used with GAIDictionaryBuilder.
- * <br>
- * Typical usage:
- * <code>
- * [tracker set:kGAIScreenName value:@"MyScreen"];
- * GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createScreenView];
- * GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
- * [action setAction:kGAIPAPurchase];
- * [action setTransactionId:@"TT-1234"];
- * [action setRevenue:@3.14];
- * [action setCouponCode:@"EXTRA100"];
- * [builder setProductAction:action];
- * GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
- * [product setId:@""PID-1234""];
- * [product setName:@"Space Monkeys!"];
- * [product setPrice:@100];
- * [product setQuantity:@2];
- * [builder addProduct:product];
- * [tracker send:[builder build]];
- * </code>
- */
-@interface GAIEcommerceProductAction : NSObject
-
-/*!
- Sets the product action field for this product action. Valid values can be found in
- GAIEcommerceFields.h under "product action values".
- */
-- (GAIEcommerceProductAction *)setAction:(NSString *)productAction;
-
-/*!
- The unique id associated with the transaction. This value is used for kGAIPAPurchase and
- kGAIPARefund product actions.
- */
-- (GAIEcommerceProductAction *)setTransactionId:(NSString *)transactionId;
-
-/*!
- Sets the transaction's affiliation value. This value is used for kGAIPAPurchase and
- kGAIPARefund product actions.
- */
-- (GAIEcommerceProductAction *)setAffiliation:(NSString *)affiliation;
-
-/*!
- Sets the transaction's total revenue. This value is used for kGAIPAPurchase and kGAIPARefund
- product actions.
- */
-- (GAIEcommerceProductAction *)setRevenue:(NSNumber *)revenue;
-
-/*!
- Sets the transaction's total tax. This value is used for kGAIPAPurchase and kGAIPARefund
- product actions.
- */
-- (GAIEcommerceProductAction *)setTax:(NSNumber *)tax;
-
-/*!
- Sets the transaction's total shipping costs. This value is used for kGAIPAPurchase and
- kGAIPARefund product actions.
- */
-- (GAIEcommerceProductAction *)setShipping:(NSNumber *)shipping;
-
-/*!
- Sets the coupon code used in this transaction. This value is used for kGAIPAPurchase and
- kGAIPARefund product actions.
- */
-- (GAIEcommerceProductAction *)setCouponCode:(NSString *)couponCode;
-
-/*!
- Sets the checkout process's progress. This value is used for kGAICheckout and
- kGAICheckoutOptions product actions.
- */
-- (GAIEcommerceProductAction *)setCheckoutStep:(NSNumber *)checkoutStep;
-
-/*!
- Sets the option associated with the checkout. This value is used for kGAICheckout and
- kGAICheckoutOptions product actions.
- */
-- (GAIEcommerceProductAction *)setCheckoutOption:(NSString *)checkoutOption;
-
-/*!
- Sets the list name associated with the products in Google Analytics beacons. This value is
- used in kGAIPADetail and kGAIPAClick product actions.
- */
-- (GAIEcommerceProductAction *)setProductActionList:(NSString *)productActionList;
-
-/*!
- Sets the list source name associated with the products in Google Analytics beacons. This value
- is used in kGAIPADetail and kGAIPAClick product actions.
- */
-- (GAIEcommerceProductAction *)setProductListSource:(NSString *)productListSource;
-
-/*!
- Builds an NSDictionary of fields stored in this instance representing this product action.
- <br>
- Normally, users will have no need to call this method.
- */
-- (NSDictionary *)build;
-@end
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAIEcommercePromotion.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAIEcommercePromotion.h
deleted file mode 100644
index c7bf25af..00000000
--- a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAIEcommercePromotion.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*!
- @header GAIEcommercePromotion.h
- @abstract Google Analytics iOS SDK Hit Format Header
- @copyright Copyright 2014 Google Inc. All rights reserved.
- */
-
-#import <Foundation/Foundation.h>
-
-/*!
- * Class to construct promotion related fields for Google Analytics hits. The fields from this class
- * can be used to represent internal promotions that run within an app, such as banners, banner ads
- * etc.
- *
- * Typical usage:
- * <code>
- * GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createScreenView];
- * GAIEcommercePromotion *promotion = [[GAIEcommercePromotion alloc] init];
- * [promotion setId:@"PROMO-ID1234"];
- * [promotion setName:@"Home screen banner"];
- * [builder set:kGAIPromotionClick forKey:kGAIPromotionAction];
- * [builder addPromotion:promotion];
- * [tracker send:builder.build]];
- * </code>
- */
-@interface GAIEcommercePromotion : NSObject
-
-/*!
- Sets the id that is used to identify a promotion in GA reports.
- */
-- (GAIEcommercePromotion *)setId:(NSString *)pid;
-
-/*!
- Sets the name that is used to identify a promotion in GA reports.
- */
-- (GAIEcommercePromotion *)setName:(NSString *)name;
-
-/*!
- Sets the name of the creative associated with the promotion.
- */
-- (GAIEcommercePromotion *)setCreative:(NSString *)creative;
-
-/*!
- Sets the position of the promotion.
- */
-- (GAIEcommercePromotion *)setPosition:(NSString *)position;
-
-/*!
- Builds an NSDictionary of fields stored in this instance. The index parameter is the
- index of this promotion in that promotion list.
- <br>
- Normally, users will have no need to call this method.
- */
-- (NSDictionary *)buildWithIndex:(NSUInteger)index;
-@end
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAIFields.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAIFields.h
deleted file mode 100644
index e54cef03..00000000
--- a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAIFields.h
+++ /dev/null
@@ -1,133 +0,0 @@
-/*!
- @header GAIFields.h
- @abstract Google Analytics iOS SDK Hit Format Header
- @copyright Copyright 2013 Google Inc. All rights reserved.
- */
-
-#import <Foundation/Foundation.h>
-
-/*!
- These fields can be used for the wire format parameter names required by
- the |GAITracker| get, set and send methods as well as the set methods in the
- |GAIDictionaryBuilder| class.
- */
-extern NSString *const kGAIUseSecure;
-
-extern NSString *const kGAIHitType;
-extern NSString *const kGAITrackingId;
-extern NSString *const kGAIClientId;
-extern NSString *const kGAIDataSource;
-extern NSString *const kGAIAnonymizeIp;
-extern NSString *const kGAISessionControl;
-extern NSString *const kGAIDeviceModelVersion;
-extern NSString *const kGAIScreenResolution;
-extern NSString *const kGAIViewportSize;
-extern NSString *const kGAIEncoding;
-extern NSString *const kGAIScreenColors;
-extern NSString *const kGAILanguage;
-extern NSString *const kGAIJavaEnabled;
-extern NSString *const kGAIFlashVersion;
-extern NSString *const kGAINonInteraction;
-extern NSString *const kGAIReferrer;
-extern NSString *const kGAILocation;
-extern NSString *const kGAIHostname;
-extern NSString *const kGAIPage;
-extern NSString *const kGAIDescription; // synonym for kGAIScreenName
-extern NSString *const kGAIScreenName; // synonym for kGAIDescription
-extern NSString *const kGAITitle;
-extern NSString *const kGAIAdMobHitId;
-extern NSString *const kGAIAppName;
-extern NSString *const kGAIAppVersion;
-extern NSString *const kGAIAppId;
-extern NSString *const kGAIAppInstallerId;
-extern NSString *const kGAIUserId;
-
-extern NSString *const kGAIEventCategory;
-extern NSString *const kGAIEventAction;
-extern NSString *const kGAIEventLabel;
-extern NSString *const kGAIEventValue;
-
-extern NSString *const kGAISocialNetwork;
-extern NSString *const kGAISocialAction;
-extern NSString *const kGAISocialTarget;
-
-extern NSString *const kGAITransactionId;
-extern NSString *const kGAITransactionAffiliation;
-extern NSString *const kGAITransactionRevenue;
-extern NSString *const kGAITransactionShipping;
-extern NSString *const kGAITransactionTax;
-extern NSString *const kGAICurrencyCode;
-
-extern NSString *const kGAIItemPrice;
-extern NSString *const kGAIItemQuantity;
-extern NSString *const kGAIItemSku;
-extern NSString *const kGAIItemName;
-extern NSString *const kGAIItemCategory;
-
-extern NSString *const kGAICampaignSource;
-extern NSString *const kGAICampaignMedium;
-extern NSString *const kGAICampaignName;
-extern NSString *const kGAICampaignKeyword;
-extern NSString *const kGAICampaignContent;
-extern NSString *const kGAICampaignId;
-extern NSString *const kGAICampaignAdNetworkClickId;
-extern NSString *const kGAICampaignAdNetworkId;
-
-extern NSString *const kGAITimingCategory;
-extern NSString *const kGAITimingVar;
-extern NSString *const kGAITimingValue;
-extern NSString *const kGAITimingLabel;
-
-extern NSString *const kGAIExDescription;
-extern NSString *const kGAIExFatal;
-
-extern NSString *const kGAISampleRate;
-
-extern NSString *const kGAIIdfa;
-extern NSString *const kGAIAdTargetingEnabled;
-
-// hit types
-extern NSString *const kGAIAppView DEPRECATED_MSG_ATTRIBUTE("Use kGAIScreenView instead.");
-extern NSString *const kGAIScreenView;
-extern NSString *const kGAIEvent;
-extern NSString *const kGAISocial;
-extern NSString *const kGAITransaction;
-extern NSString *const kGAIItem;
-extern NSString *const kGAIException;
-extern NSString *const kGAITiming;
-
-/*!
- This class provides several fields and methods useful as wire format parameter
- names. The methods are used for wire format parameter names that are indexed.
- */
-
-@interface GAIFields : NSObject
-
-/*!
- Generates the correct parameter name for a content group with an index.
-
- @param index the index of the content group.
-
- @return an NSString representing the content group parameter for the index.
- */
-+ (NSString *)contentGroupForIndex:(NSUInteger)index;
-
-/*!
- Generates the correct parameter name for a custon dimension with an index.
-
- @param index the index of the custom dimension.
-
- @return an NSString representing the custom dimension parameter for the index.
- */
-+ (NSString *)customDimensionForIndex:(NSUInteger)index;
-
-/*!
- Generates the correct parameter name for a custom metric with an index.
-
- @param index the index of the custom metric.
-
- @return an NSString representing the custom metric parameter for the index.
- */
-+ (NSString *)customMetricForIndex:(NSUInteger)index;
-
-@end
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAILogger.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAILogger.h
deleted file mode 100644
index 06291f2c..00000000
--- a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAILogger.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*!
- @header GAILogger.h
- @abstract Google Analytics iOS SDK Source
- @copyright Copyright 2011 Google Inc. All rights reserved.
- */
-
-#import <Foundation/Foundation.h>
-
-typedef NS_ENUM(NSUInteger, GAILogLevel) {
- kGAILogLevelNone = 0,
- kGAILogLevelError = 1,
- kGAILogLevelWarning = 2,
- kGAILogLevelInfo = 3,
- kGAILogLevelVerbose = 4
-};
-
-/*!
- Protocol to be used for logging debug and informational messages from the SDK.
- Implementations of this protocol can be provided to the |GAI| class,
- to be used as the logger by the SDK. See the |logger| property in GAI.h.
- */
-@protocol GAILogger<NSObject>
-@required
-
-/*!
- Only messages of |logLevel| and below are logged.
- */
-@property (nonatomic, assign) GAILogLevel logLevel;
-
-/*!
- Logs message with log level |kGAILogLevelVerbose|.
- */
-- (void)verbose:(NSString *)message;
-
-/*!
- Logs message with log level |kGAILogLevelInfo|.
- */
-- (void)info:(NSString *)message;
-
-/*!
- Logs message with log level |kGAILogLevelWarning|.
- */
-- (void)warning:(NSString *)message;
-
-/*!
- Logs message with log level |kGAILogLevelError|.
- */
-- (void)error:(NSString *)message;
-@end
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAITrackedViewController.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAITrackedViewController.h
deleted file mode 100644
index de19def0..00000000
--- a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAITrackedViewController.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*!
- @header GAITrackedViewController.h
- @abstract Google Analytics for iOS Tracked View Controller Header
- @copyright Copyright 2012 Google Inc. All rights reserved.
- */
-
-#import <Foundation/Foundation.h>
-#import <UIKit/UIKit.h>
-
-@protocol GAITracker;
-
-/*!
- Extends UIViewController to generate Google Analytics screenview calls
- whenever the view appears; this is done by overriding the `viewDidAppear:`
- method. The screen name must be set for any tracking calls to be made.
-
- By default, this will use [GAI defaultTracker] for tracking calls, but one can
- override this by setting the tracker property.
- */
-@interface GAITrackedViewController : UIViewController
-
-/*!
- The tracker on which view tracking calls are be made, or `nil`, in which case
- [GAI defaultTracker] will be used.
- */
-@property(nonatomic, assign) id<GAITracker> tracker;
-/*!
- The screen name, for purposes of Google Analytics tracking. If this is `nil`,
- no tracking calls will be made.
- */
-@property(nonatomic, copy) NSString *screenName;
-
-@end
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAITracker.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAITracker.h
deleted file mode 100644
index fdc5c5df..00000000
--- a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/GAITracker.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*!
- @header GAITracker.h
- @abstract Google Analytics iOS SDK Tracker Header
- @copyright Copyright 2013 Google Inc. All rights reserved.
-*/
-
-#import <Foundation/Foundation.h>
-
-/*!
- Google Analytics tracking interface. Obtain instances of this interface from
- [GAI trackerWithTrackingId:] to track screens, events, transactions, timing,
- and exceptions. The implementation of this interface is thread-safe, and no
- calls are expected to block or take a long time. All network and disk activity
- will take place in the background.
- */
-@protocol GAITracker<NSObject>
-
-/*!
- Name of this tracker.
- */
-@property(nonatomic, readonly) NSString *name;
-
-/*!
- Allow collection of IDFA and related fields if set to true. Default is false.
- */
-@property(nonatomic) BOOL allowIDFACollection;
-
-/*!
- Set a tracking parameter.
-
- @param parameterName The parameter name.
-
- @param value The value to set for the parameter. If this is nil, the
- value for the parameter will be cleared.
- */
-- (void)set:(NSString *)parameterName
- value:(NSString *)value;
-
-/*!
- Get a tracking parameter.
-
- @param parameterName The parameter name.
-
- @returns The parameter value, or nil if no value for the given parameter is
- set.
- */
-- (NSString *)get:(NSString *)parameterName;
-
-/*!
- Queue tracking information with the given parameter values.
-
- @param parameters A map from parameter names to parameter values which will be
- set just for this piece of tracking information, or nil for none.
- */
-- (void)send:(NSDictionary *)parameters;
-
-@end
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/UniversalAnalyticsPlugin.h b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/UniversalAnalyticsPlugin.h
deleted file mode 100644
index dde480ac..00000000
--- a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/UniversalAnalyticsPlugin.h
+++ /dev/null
@@ -1,34 +0,0 @@
-//UniversalAnalyticsPlugin.h
-//Created by Daniel Wilson 2013-09-19
-
-#import <Foundation/Foundation.h>
-#import <Cordova/CDV.h>
-#import "GAI.h"
-
-@interface UniversalAnalyticsPlugin : CDVPlugin {
- bool _trackerStarted;
- bool _debugMode;
- NSMutableDictionary *_customDimensions;
-}
-
-- (void) startTrackerWithId: (CDVInvokedUrlCommand*)command;
-- (void) setAllowIDFACollection: (CDVInvokedUrlCommand*) command;
-- (void) setUserId: (CDVInvokedUrlCommand*)command;
-- (void) setAppVersion: (CDVInvokedUrlCommand*)command;
-- (void) getVar: (CDVInvokedUrlCommand*)command;
-- (void) setVar: (CDVInvokedUrlCommand*)command;
-- (void) dispatch: (CDVInvokedUrlCommand*)command;
-- (void) debugMode: (CDVInvokedUrlCommand*)command;
-- (void) setOptOut: (CDVInvokedUrlCommand*)command;
-- (void) enableUncaughtExceptionReporting: (CDVInvokedUrlCommand*)command;
-- (void) addCustomDimension: (CDVInvokedUrlCommand*)command;
-- (void) trackEvent: (CDVInvokedUrlCommand*)command;
-- (void) trackMetric: (CDVInvokedUrlCommand*)command;
-- (void) trackTiming: (CDVInvokedUrlCommand*)command;
-- (void) trackView: (CDVInvokedUrlCommand*)command;
-- (void) trackException: (CDVInvokedUrlCommand*)command;
-- (void) addTransaction: (CDVInvokedUrlCommand*)command;
-- (void) addTransactionItem: (CDVInvokedUrlCommand*)command;
-
-@end
-
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/UniversalAnalyticsPlugin.m b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/UniversalAnalyticsPlugin.m
deleted file mode 100644
index 12355da6..00000000
--- a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/UniversalAnalyticsPlugin.m
+++ /dev/null
@@ -1,543 +0,0 @@
-//UniversalAnalyticsPlugin.m
-//Created by Daniel Wilson 2013-09-19
-
-#import "UniversalAnalyticsPlugin.h"
-#import "GAI.h"
-#import "GAIDictionaryBuilder.h"
-#import "GAIFields.h"
-
-@implementation UniversalAnalyticsPlugin
-
-- (void) pluginInitialize
-{
- _debugMode = false;
- _trackerStarted = false;
- _customDimensions = nil;
-}
-
-- (void) startTrackerWithId: (CDVInvokedUrlCommand*)command
-{
- [self.commandDelegate runInBackground:^{
- CDVPluginResult* pluginResult = nil;
- NSString* accountId = [command.arguments objectAtIndex:0];
- NSNumber* dispatchPeriod = [command.arguments objectAtIndex:1];
-
- if ([dispatchPeriod isKindOfClass:[NSNumber class]])
- [GAI sharedInstance].dispatchInterval = [dispatchPeriod doubleValue];
- else
- [GAI sharedInstance].dispatchInterval = 30;
-
- [[GAI sharedInstance] trackerWithTrackingId:accountId];
-
- _trackerStarted = true;
- pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
- [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
- }];
- /* NSLog(@"successfully started GAI tracker"); */
-}
-
-- (void) setAllowIDFACollection: (CDVInvokedUrlCommand*) command
-{
- CDVPluginResult* pluginResult = nil;
- if ( ! _trackerStarted) {
- pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString:@"Tracker not started"];
- [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
- return;
- }
-
- id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
- tracker.allowIDFACollection = [[command argumentAtIndex:0 withDefault:@(NO)] boolValue];
-}
-
-- (void) addCustomDimensionsToTracker: (id<GAITracker>)tracker
-{
- if (_customDimensions) {
- for (NSString *key in _customDimensions.allKeys) {
- NSString *value = [_customDimensions objectForKey:key];
-
- NSNumberFormatter *f = [[NSNumberFormatter alloc] init];
- f.numberStyle = NSNumberFormatterDecimalStyle;
- NSNumber *myKey = [f numberFromString:key];
-
- /* NSLog(@"Setting tracker dimension slot %@: <%@>", key, value); */
- [tracker set:[GAIFields customDimensionForIndex:myKey.unsignedIntegerValue]
- value:value];
- }
- }
-}
-
-- (void) getVar: (CDVInvokedUrlCommand*) command
-{
- [self.commandDelegate runInBackground:^{
- CDVPluginResult* pluginResult = nil;
- if ( ! _trackerStarted) {
- pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString:@"Tracker not started"];
- [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
- return;
- }
-
- id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
- NSString* parameterName = [command.arguments objectAtIndex:0];
- NSString* result = [tracker get:parameterName];
-
- pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:result];
- [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
- }];
-}
-
-- (void) setVar: (CDVInvokedUrlCommand*) command
-{
- [self.commandDelegate runInBackground:^{
- CDVPluginResult* pluginResult = nil;
- if ( ! _trackerStarted) {
- pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString:@"Tracker not started"];
- [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
- return;
- }
-
- id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
- NSString* parameterName = [command.arguments objectAtIndex:0];
- NSString* parameter = [command.arguments objectAtIndex:1];
- [tracker set:parameterName value:parameter];
-
- pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
- [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
- }];
-}
-
-- (void) dispatch: (CDVInvokedUrlCommand*) command
-{
- [[GAI sharedInstance] dispatch];
-}
-
-- (void) debugMode: (CDVInvokedUrlCommand*) command
-{
- _debugMode = true;
- [[GAI sharedInstance].logger setLogLevel:kGAILogLevelVerbose];
-}
-
-- (void) setUserId: (CDVInvokedUrlCommand*)command
-{
- CDVPluginResult* pluginResult = nil;
- NSString* userId = [command.arguments objectAtIndex:0];
-
- if ( ! _trackerStarted) {
- pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString:@"Tracker not started"];
- [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
- return;
- }
-
- id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
- [tracker set:@"&uid" value: userId];
-
- pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
- [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
-}
-
-- (void) setAnonymizeIp: (CDVInvokedUrlCommand*)command
-{
- CDVPluginResult* pluginResult = nil;
- NSString* anonymize = [command.arguments objectAtIndex:0];
-
- if ( ! _trackerStarted) {
- pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString:@"Tracker not started"];
- [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
- return;
- }
-
- id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
- [tracker set:kGAIAnonymizeIp value:anonymize];
-
- pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
- [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
-}
-
-- (void) setOptOut: (CDVInvokedUrlCommand*)command
-{
- CDVPluginResult* pluginResult = nil;
- bool optout = [[command.arguments objectAtIndex:0] boolValue];
-
- if ( ! _trackerStarted) {
- pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString:@"Tracker not started"];
- [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
- return;
- }
-
- [[GAI sharedInstance] setOptOut:optout];
-
- pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
- [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
-}
-
-- (void) setAppVersion: (CDVInvokedUrlCommand*)command
-{
- CDVPluginResult* pluginResult = nil;
- NSString* version = [command.arguments objectAtIndex:0];
-
- if ( ! _trackerStarted) {
- pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString:@"Tracker not started"];
- [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
- return;
- }
-
- id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
- [tracker set:@"&av" value: version];
-
- pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
- [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
-}
-
-- (void) enableUncaughtExceptionReporting: (CDVInvokedUrlCommand*)command
-{
- CDVPluginResult* pluginResult = nil;
-
- if ( ! _trackerStarted) {
- pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString:@"Tracker not started"];
- [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
- return;
- }
-
- bool enabled = [[command.arguments objectAtIndex:0] boolValue];
- [[GAI sharedInstance] setTrackUncaughtExceptions:enabled];
-
- pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
- [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
-}
-
-- (void) addCustomDimension: (CDVInvokedUrlCommand*)command
-{
- CDVPluginResult* pluginResult = nil;
- NSNumber* key = [command.arguments objectAtIndex:0];
- NSString* value = [command.arguments objectAtIndex:1];
-
- if ( ! _customDimensions) {
- _customDimensions = [[NSMutableDictionary alloc] init];
- }
-
- _customDimensions[key.stringValue] = value;
-
- pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
- [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
-}
-
-- (void) trackMetric: (CDVInvokedUrlCommand*)command
-{
- CDVPluginResult* pluginResult = nil;
-
- if ( ! _trackerStarted) {
- pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString:@"Tracker not started"];
- [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
- return;
- }
-
- [self.commandDelegate runInBackground:^{
- CDVPluginResult* pluginResult = nil;
- NSNumber *key = nil;
- NSString *value = nil;
-
- if ([command.arguments count] > 0)
- key = [command.arguments objectAtIndex:0];
-
- if ([command.arguments count] > 1)
- value = [command.arguments objectAtIndex:1];
-
- id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
-
- [tracker set:[GAIFields customMetricForIndex:[key intValue]] value:value];
-
-
- pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
- [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
- }];
-}
-
-- (void) trackEvent: (CDVInvokedUrlCommand*)command
-{
- CDVPluginResult* pluginResult = nil;
-
- if ( ! _trackerStarted) {
- pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString:@"Tracker not started"];
- [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
- return;
- }
-
- [self.commandDelegate runInBackground:^{
- CDVPluginResult* pluginResult = nil;
- NSString *category = nil;
- NSString *action = nil;
- NSString *label = nil;
- NSNumber *value = nil;
-
- if ([command.arguments count] > 0)
- category = [command.arguments objectAtIndex:0];
-
- if ([command.arguments count] > 1)
- action = [command.arguments objectAtIndex:1];
-
- if ([command.arguments count] > 2)
- label = [command.arguments objectAtIndex:2];
-
- if ([command.arguments count] > 3)
- value = [command.arguments objectAtIndex:3];
-
- bool newSession = [[command argumentAtIndex:4 withDefault:@(NO)] boolValue];
-
- id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
-
- [self addCustomDimensionsToTracker:tracker];
-
- GAIDictionaryBuilder *builder = [GAIDictionaryBuilder
- createEventWithCategory: category //required
- action: action //required
- label: label
- value: value];
- if(newSession){
- [builder set:@"start" forKey:kGAISessionControl];
- }
- [tracker send:[builder build]];
-
- pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
- [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
-
- }];
-
-}
-
-- (void) trackException: (CDVInvokedUrlCommand*)command
-{
- CDVPluginResult* pluginResult = nil;
-
- if ( ! _trackerStarted) {
- pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString:@"Tracker not started"];
- [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
- return;
- }
-
- [self.commandDelegate runInBackground:^{
- CDVPluginResult* pluginResult = nil;
- NSString *description = nil;
- NSNumber *fatal = nil;
-
- if ([command.arguments count] > 0)
- description = [command.arguments objectAtIndex:0];
-
- if ([command.arguments count] > 1)
- fatal = [command.arguments objectAtIndex:1];
-
- id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
-
- [self addCustomDimensionsToTracker:tracker];
-
- [tracker send:[[GAIDictionaryBuilder createScreenView] build]];
-
- [tracker send:[[GAIDictionaryBuilder
- createExceptionWithDescription: description
- withFatal: fatal] build]];
-
- pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
- [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
- }];
-}
-
-- (void) trackView: (CDVInvokedUrlCommand*)command
-{
- CDVPluginResult* pluginResult = nil;
-
- if ( ! _trackerStarted) {
- pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString:@"Tracker not started"];
- [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
- return;
- }
-
- [self.commandDelegate runInBackground:^{
- CDVPluginResult* pluginResult = nil;
- NSString* screenName = [command.arguments objectAtIndex:0];
-
- id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
- [self addCustomDimensionsToTracker:tracker];
-
- NSString* deepLinkUrl = [command.arguments objectAtIndex:1];
- GAIDictionaryBuilder* openParams = [[GAIDictionaryBuilder alloc] init];
-
- if (deepLinkUrl && deepLinkUrl != (NSString *)[NSNull null]) {
- [[openParams setCampaignParametersFromUrl:deepLinkUrl] build];
- }
-
- bool newSession = [[command argumentAtIndex:2 withDefault:@(NO)] boolValue];
- if(newSession){
- [openParams set:@"start" forKey:kGAISessionControl];
- }
-
- NSDictionary *hitParamsDict = [openParams build];
-
- [tracker set:kGAIScreenName value:screenName];
- [tracker send:[[[GAIDictionaryBuilder createScreenView] setAll:hitParamsDict] build]];
-
- pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
- [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
- }];
-}
-
-- (void) trackTiming: (CDVInvokedUrlCommand*)command
-{
- CDVPluginResult* pluginResult = nil;
-
- if ( ! _trackerStarted) {
- pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString:@"Tracker not started"];
- [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
- return;
- }
-
- [self.commandDelegate runInBackground:^{
- CDVPluginResult* pluginResult = nil;
-
- NSString *category = nil;
- NSNumber *intervalInMilliseconds = nil;
- NSString *name = nil;
- NSString *label = nil;
-
- if ([command.arguments count] > 0)
- category = [command.arguments objectAtIndex:0];
-
- if ([command.arguments count] > 1)
- intervalInMilliseconds = [command.arguments objectAtIndex:1];
-
- if ([command.arguments count] > 2)
- name = [command.arguments objectAtIndex:2];
-
- if ([command.arguments count] > 3)
- label = [command.arguments objectAtIndex:3];
-
- id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
-
- [self addCustomDimensionsToTracker:tracker];
-
- [tracker send:[[GAIDictionaryBuilder
- createTimingWithCategory: category //required
- interval: intervalInMilliseconds //required
- name: name
- label: label] build]];
-
- pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
- [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
- }];
-}
-
-- (void) addTransaction: (CDVInvokedUrlCommand*)command
-{
- CDVPluginResult* pluginResult = nil;
-
- if ( ! _trackerStarted) {
- pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString:@"Tracker not started"];
- [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
- return;
- }
-
- [self.commandDelegate runInBackground:^{
- CDVPluginResult* pluginResult = nil;
-
- NSString *transactionId = nil;
- NSString *affiliation = nil;
- NSNumber *revenue = nil;
- NSNumber *tax = nil;
- NSNumber *shipping = nil;
- NSString *currencyCode = nil;
-
-
- if ([command.arguments count] > 0)
- transactionId = [command.arguments objectAtIndex:0];
-
- if ([command.arguments count] > 1)
- affiliation = [command.arguments objectAtIndex:1];
-
- if ([command.arguments count] > 2)
- revenue = [command.arguments objectAtIndex:2];
-
- if ([command.arguments count] > 3)
- tax = [command.arguments objectAtIndex:3];
-
- if ([command.arguments count] > 4)
- shipping = [command.arguments objectAtIndex:4];
-
- if ([command.arguments count] > 5)
- currencyCode = [command.arguments objectAtIndex:5];
-
- id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
-
-
- [tracker send:[[GAIDictionaryBuilder createTransactionWithId:transactionId // (NSString) Transaction ID
- affiliation:affiliation // (NSString) Affiliation
- revenue:revenue // (NSNumber) Order revenue (including tax and shipping)
- tax:tax // (NSNumber) Tax
- shipping:shipping // (NSNumber) Shipping
- currencyCode:currencyCode] build]]; // (NSString) Currency code
-
-
- pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
- [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
- }];
-}
-
-
-
-- (void) addTransactionItem: (CDVInvokedUrlCommand*)command
-{
- CDVPluginResult* pluginResult = nil;
-
- if ( ! _trackerStarted) {
- pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString:@"Tracker not started"];
- [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
- return;
- }
-
- [self.commandDelegate runInBackground:^{
-
- CDVPluginResult* pluginResult = nil;
- NSString *transactionId = nil;
- NSString *name = nil;
- NSString *sku = nil;
- NSString *category = nil;
- NSNumber *price = nil;
- NSNumber *quantity = nil;
- NSString *currencyCode = nil;
-
-
- if ([command.arguments count] > 0)
- transactionId = [command.arguments objectAtIndex:0];
-
- if ([command.arguments count] > 1)
- name = [command.arguments objectAtIndex:1];
-
- if ([command.arguments count] > 2)
- sku = [command.arguments objectAtIndex:2];
-
- if ([command.arguments count] > 3)
- category = [command.arguments objectAtIndex:3];
-
- if ([command.arguments count] > 4)
- price = [command.arguments objectAtIndex:4];
-
- if ([command.arguments count] > 5)
- quantity = [command.arguments objectAtIndex:5];
-
- if ([command.arguments count] > 6)
- currencyCode = [command.arguments objectAtIndex:6];
-
- id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
-
-
- [tracker send:[[GAIDictionaryBuilder createItemWithTransactionId:transactionId // (NSString) Transaction ID
- name:name // (NSString) Product Name
- sku:sku // (NSString) Product SKU
- category:category // (NSString) Product category
- price:price // (NSNumber) Product price
- quantity:quantity // (NSNumber) Product quantity
- currencyCode:currencyCode] build]]; // (NSString) Currency code
-
-
- pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
- [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
- }];
-}
-
-@end
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/libAdIdAccess.a b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/libAdIdAccess.a
deleted file mode 100644
index 9813beaf..00000000
--- a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/libAdIdAccess.a
+++ /dev/null
Binary files differ
diff --git a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/libGoogleAnalyticsServices.a b/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/libGoogleAnalyticsServices.a
deleted file mode 100644
index 45ca87e8..00000000
--- a/StoneIsland/platforms/ios/Stone Island/Plugins/cordova-plugin-google-analytics/libGoogleAnalyticsServices.a
+++ /dev/null
Binary files differ
diff --git a/StoneIsland/platforms/ios/Stone Island/Resources/GoogleService-Info.plist b/StoneIsland/platforms/ios/Stone Island/Resources/GoogleService-Info.plist
new file mode 100644
index 00000000..5516ebf3
--- /dev/null
+++ b/StoneIsland/platforms/ios/Stone Island/Resources/GoogleService-Info.plist
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+</dict>
+</plist> \ No newline at end of file
diff --git a/StoneIsland/platforms/ios/Stone Island/config.xml b/StoneIsland/platforms/ios/Stone Island/config.xml
index 409c6a57..d955ecf8 100755
--- a/StoneIsland/platforms/ios/Stone Island/config.xml
+++ b/StoneIsland/platforms/ios/Stone Island/config.xml
@@ -47,9 +47,6 @@
<feature name="PushNotification">
<param name="ios-package" value="PushPlugin" />
</feature>
- <feature name="UniversalAnalytics">
- <param name="ios-package" value="UniversalAnalyticsPlugin" />
- </feature>
<feature name="StatusBar">
<param name="ios-package" value="CDVStatusBar" />
<param name="onload" value="true" />
@@ -93,4 +90,8 @@
<preference name="SplashMaintainAspectRatio" value="true" />
<preference name="ShowSplashScreenSpinner" value="false" />
<preference name="AutoHideSplashScreen" value="false" />
+ <feature name="FirebasePlugin">
+ <param name="ios-package" value="FirebasePlugin" />
+ <param name="onload" value="true" />
+ </feature>
</widget>
diff --git a/StoneIsland/platforms/ios/frameworks.json b/StoneIsland/platforms/ios/frameworks.json
index dc881b1d..6cb97880 100644
--- a/StoneIsland/platforms/ios/frameworks.json
+++ b/StoneIsland/platforms/ios/frameworks.json
@@ -2,14 +2,10 @@
"AudioToolbox.framework": 1,
"CoreLocation.framework": 1,
"Social.framework": 1,
- "SystemConfiguration.framework": 2,
+ "SystemConfiguration.framework": 1,
"CoreTelephony.framework": 1,
"MessageUI.framework": 1,
"AddressBook.framework": 1,
"libsqlite3.tbd": 1,
- "libz.tbd": 1,
- "CoreData.framework": 1,
- "AdSupport.framework": 1,
- "libz.dylib": 1,
- "libsqlite3.dylib": 1
+ "libz.tbd": 1
} \ No newline at end of file
diff --git a/StoneIsland/platforms/ios/ios.json b/StoneIsland/platforms/ios/ios.json
index 741c049c..9596fcd6 100644
--- a/StoneIsland/platforms/ios/ios.json
+++ b/StoneIsland/platforms/ios/ios.json
@@ -49,10 +49,6 @@
"count": 1
},
{
- "xml": "<feature name=\"UniversalAnalytics\"><param name=\"ios-package\" value=\"UniversalAnalyticsPlugin\" /></feature>",
- "count": 1
- },
- {
"xml": "<feature name=\"StatusBar\"><param name=\"ios-package\" value=\"CDVStatusBar\" /><param name=\"onload\" value=\"true\" /></feature>",
"count": 1
},
@@ -63,6 +59,10 @@
{
"xml": "<preference name=\"StatusBarStyle\" value=\"lightcontent\" />",
"count": 1
+ },
+ {
+ "xml": "<feature name=\"FirebasePlugin\"><param name=\"ios-package\" value=\"FirebasePlugin\" /><param name=\"onload\" value=\"true\" /></feature>",
+ "count": 1
}
]
}
@@ -120,6 +120,26 @@
}
]
}
+ },
+ "*/Entitlements-Debug.plist": {
+ "parents": {
+ "aps-environment": [
+ {
+ "xml": "<string>development</string>",
+ "count": 1
+ }
+ ]
+ }
+ },
+ "*/Entitlements-Release.plist": {
+ "parents": {
+ "aps-environment": [
+ {
+ "xml": "<string>production</string>",
+ "count": 1
+ }
+ ]
+ }
}
}
},
@@ -165,10 +185,10 @@
"SENDER_ID": "XXXXXXX",
"PACKAGE_NAME": "us.okfoc.stoneisland"
},
- "cordova-plugin-google-analytics": {
+ "cordova-plugin-statusbar": {
"PACKAGE_NAME": "us.okfoc.stoneisland"
},
- "cordova-plugin-statusbar": {
+ "cordova-plugin-firebase": {
"PACKAGE_NAME": "us.okfoc.stoneisland"
}
},
@@ -306,21 +326,20 @@
]
},
{
- "id": "cordova-plugin-google-analytics.UniversalAnalytics",
- "file": "plugins/cordova-plugin-google-analytics/www/analytics.js",
- "pluginId": "cordova-plugin-google-analytics",
- "clobbers": [
- "analytics",
- "ga"
- ]
- },
- {
"id": "cordova-plugin-statusbar.statusbar",
"file": "plugins/cordova-plugin-statusbar/www/statusbar.js",
"pluginId": "cordova-plugin-statusbar",
"clobbers": [
"window.StatusBar"
]
+ },
+ {
+ "id": "cordova-plugin-firebase.FirebasePlugin",
+ "file": "plugins/cordova-plugin-firebase/www/firebase.js",
+ "pluginId": "cordova-plugin-firebase",
+ "clobbers": [
+ "FirebasePlugin"
+ ]
}
],
"plugin_metadata": {
@@ -337,7 +356,7 @@
"cordova-plugin-x-socialsharing": "5.1.3",
"ionic-plugin-keyboard": "2.2.1",
"phonegap-plugin-push": "1.9.2",
- "cordova-plugin-google-analytics": "1.8.3",
- "cordova-plugin-statusbar": "2.2.3"
+ "cordova-plugin-statusbar": "2.2.3",
+ "cordova-plugin-firebase": "0.1.24"
}
} \ No newline at end of file
diff --git a/StoneIsland/platforms/ios/platform_www/cordova_plugins.js b/StoneIsland/platforms/ios/platform_www/cordova_plugins.js
index e80f5bbb..e39888f0 100644
--- a/StoneIsland/platforms/ios/platform_www/cordova_plugins.js
+++ b/StoneIsland/platforms/ios/platform_www/cordova_plugins.js
@@ -132,21 +132,20 @@ module.exports = [
]
},
{
- "id": "cordova-plugin-google-analytics.UniversalAnalytics",
- "file": "plugins/cordova-plugin-google-analytics/www/analytics.js",
- "pluginId": "cordova-plugin-google-analytics",
- "clobbers": [
- "analytics",
- "ga"
- ]
- },
- {
"id": "cordova-plugin-statusbar.statusbar",
"file": "plugins/cordova-plugin-statusbar/www/statusbar.js",
"pluginId": "cordova-plugin-statusbar",
"clobbers": [
"window.StatusBar"
]
+ },
+ {
+ "id": "cordova-plugin-firebase.FirebasePlugin",
+ "file": "plugins/cordova-plugin-firebase/www/firebase.js",
+ "pluginId": "cordova-plugin-firebase",
+ "clobbers": [
+ "FirebasePlugin"
+ ]
}
];
module.exports.metadata =
@@ -165,8 +164,8 @@ module.exports.metadata =
"cordova-plugin-x-socialsharing": "5.1.3",
"ionic-plugin-keyboard": "2.2.1",
"phonegap-plugin-push": "1.9.2",
- "cordova-plugin-google-analytics": "1.8.3",
- "cordova-plugin-statusbar": "2.2.3"
+ "cordova-plugin-statusbar": "2.2.3",
+ "cordova-plugin-firebase": "0.1.24"
};
// BOTTOM OF METADATA
}); \ No newline at end of file
diff --git a/StoneIsland/platforms/ios/platform_www/plugins/cordova-plugin-firebase/www/firebase.js b/StoneIsland/platforms/ios/platform_www/plugins/cordova-plugin-firebase/www/firebase.js
new file mode 100644
index 00000000..e1e423d1
--- /dev/null
+++ b/StoneIsland/platforms/ios/platform_www/plugins/cordova-plugin-firebase/www/firebase.js
@@ -0,0 +1,124 @@
+cordova.define("cordova-plugin-firebase.FirebasePlugin", function(require, exports, module) {
+var exec = require('cordova/exec');
+
+exports.getInstanceId = function(success, error) {
+ exec(success, error, "FirebasePlugin", "getInstanceId", []);
+};
+
+exports.getToken = function(success, error) {
+ exec(success, error, "FirebasePlugin", "getToken", []);
+};
+
+exports.onNotificationOpen = function(success, error) {
+ exec(success, error, "FirebasePlugin", "onNotificationOpen", []);
+};
+
+exports.onTokenRefresh = function(success, error) {
+ exec(success, error, "FirebasePlugin", "onTokenRefresh", []);
+};
+
+exports.grantPermission = function(success, error) {
+ exec(success, error, "FirebasePlugin", "grantPermission", []);
+};
+
+exports.hasPermission = function(success, error) {
+ exec(success, error, "FirebasePlugin", "hasPermission", []);
+};
+
+exports.setBadgeNumber = function(number, success, error) {
+ exec(success, error, "FirebasePlugin", "setBadgeNumber", [number]);
+};
+
+exports.getBadgeNumber = function(success, error) {
+ exec(success, error, "FirebasePlugin", "getBadgeNumber", []);
+};
+
+exports.subscribe = function(topic, success, error) {
+ exec(success, error, "FirebasePlugin", "subscribe", [topic]);
+};
+
+exports.unsubscribe = function(topic, success, error) {
+ exec(success, error, "FirebasePlugin", "unsubscribe", [topic]);
+};
+
+exports.unregister = function(success, error) {
+ exec(success, error, "FirebasePlugin", "unregister", []);
+};
+
+exports.logEvent = function(name, params, success, error) {
+ exec(success, error, "FirebasePlugin", "logEvent", [name, params]);
+};
+
+exports.logError = function(message, success, error) {
+ exec(success, error, "FirebasePlugin", "logError", [message]);
+};
+
+exports.setScreenName = function(name, success, error) {
+ exec(success, error, "FirebasePlugin", "setScreenName", [name]);
+};
+
+exports.setUserId = function(id, success, error) {
+ exec(success, error, "FirebasePlugin", "setUserId", [id]);
+};
+
+exports.setUserProperty = function(name, value, success, error) {
+ exec(success, error, "FirebasePlugin", "setUserProperty", [name, value]);
+};
+
+exports.activateFetched = function (success, error) {
+ exec(success, error, "FirebasePlugin", "activateFetched", []);
+};
+
+exports.fetch = function (cacheExpirationSeconds, success, error) {
+ var args = [];
+ if (typeof cacheExpirationSeconds === 'number') {
+ args.push(cacheExpirationSeconds);
+ } else {
+ error = success;
+ success = cacheExpirationSeconds;
+ }
+ exec(success, error, "FirebasePlugin", "fetch", args);
+};
+
+exports.getByteArray = function (key, namespace, success, error) {
+ var args = [key];
+ if (typeof namespace === 'string') {
+ args.push(namespace);
+ } else {
+ error = success;
+ success = namespace;
+ }
+ exec(success, error, "FirebasePlugin", "getByteArray", args);
+};
+
+exports.getValue = function (key, namespace, success, error) {
+ var args = [key];
+ if (typeof namespace === 'string') {
+ args.push(namespace);
+ } else {
+ error = success;
+ success = namespace;
+ }
+ exec(success, error, "FirebasePlugin", "getValue", args);
+};
+
+exports.getInfo = function (success, error) {
+ exec(success, error, "FirebasePlugin", "getInfo", []);
+};
+
+exports.setConfigSettings = function (settings, success, error) {
+ exec(success, error, "FirebasePlugin", "setConfigSettings", [settings]);
+};
+
+exports.setDefaults = function (defaults, namespace, success, error) {
+ var args = [defaults];
+ if (typeof namespace === 'string') {
+ args.push(namespace);
+ } else {
+ error = success;
+ success = namespace;
+ }
+ exec(success, error, "FirebasePlugin", "setDefaults", args);
+};
+
+});
diff --git a/StoneIsland/platforms/ios/platform_www/plugins/cordova-plugin-google-analytics/www/analytics.js b/StoneIsland/platforms/ios/platform_www/plugins/cordova-plugin-google-analytics/www/analytics.js
deleted file mode 100644
index b46b19ea..00000000
--- a/StoneIsland/platforms/ios/platform_www/plugins/cordova-plugin-google-analytics/www/analytics.js
+++ /dev/null
@@ -1,130 +0,0 @@
-cordova.define("cordova-plugin-google-analytics.UniversalAnalytics", function(require, exports, module) {
-function UniversalAnalyticsPlugin() {}
-
-UniversalAnalyticsPlugin.prototype.startTrackerWithId = function(id, dispatchPeriod, success, error) {
- if (typeof dispatchPeriod === 'undefined' || dispatchPeriod === null) {
- dispatchPeriod = 30;
- } else if (typeof dispatchPeriod === 'function' && typeof error === 'undefined') {
- // Called without dispatchPeriod but with a callback.
- // Looks like the original API was used so shift parameters over to remain compatible.
- error = success;
- success = dispatchPeriod;
- dispatchPeriod = 30;
- }
- cordova.exec(success, error, 'UniversalAnalytics', 'startTrackerWithId', [id, dispatchPeriod]);
-};
-
-UniversalAnalyticsPlugin.prototype.setAllowIDFACollection = function(enable, success, error) {
- cordova.exec(success, error, 'UniversalAnalytics', 'setAllowIDFACollection', [enable]);
-};
-
-UniversalAnalyticsPlugin.prototype.setUserId = function(id, success, error) {
- cordova.exec(success, error, 'UniversalAnalytics', 'setUserId', [id]);
-};
-
-UniversalAnalyticsPlugin.prototype.setAnonymizeIp = function(anonymize, success, error) {
- cordova.exec(success, error, 'UniversalAnalytics', 'setAnonymizeIp', [anonymize]);
-};
-
-UniversalAnalyticsPlugin.prototype.setOptOut = function(optout, success, error) {
- cordova.exec(success, error, 'UniversalAnalytics', 'setOptOut', [optout]);
-};
-
-UniversalAnalyticsPlugin.prototype.setAppVersion = function(version, success, error) {
- cordova.exec(success, error, 'UniversalAnalytics', 'setAppVersion', [version]);
-};
-
-UniversalAnalyticsPlugin.prototype.getVar = function(variable, success, error) {
- cordova.exec(success, error, 'UniversalAnalytics', 'getVar', [variable]);
-};
-
-UniversalAnalyticsPlugin.prototype.setVar = function(variable, value, success, error) {
- cordova.exec(success, error, 'UniversalAnalytics', 'setVar', [variable, value]);
-};
-
-UniversalAnalyticsPlugin.prototype.dispatch = function(success, error) {
- cordova.exec(success, error, 'UniversalAnalytics', 'dispatch', []);
-};
-
-/* enables verbose logging */
-UniversalAnalyticsPlugin.prototype.debugMode = function(success, error) {
- cordova.exec(success, error, 'UniversalAnalytics', 'debugMode', []);
-};
-
-UniversalAnalyticsPlugin.prototype.trackMetric = function(key, value, success, error) {
- cordova.exec(success, error, 'UniversalAnalytics', 'trackMetric', [key, value]);
-};
-
-UniversalAnalyticsPlugin.prototype.trackView = function(screen, campaignUrl, newSession, success, error) {
- if (typeof campaignUrl === 'undefined' || campaignUrl === null) {
- campaignUrl = '';
- }
-
- if (typeof newSession === 'undefined' || newSession === null) {
- newSession = false;
- }
-
- cordova.exec(success, error, 'UniversalAnalytics', 'trackView', [screen, campaignUrl, newSession]);
-};
-
-UniversalAnalyticsPlugin.prototype.addCustomDimension = function(key, value, success, error) {
- if (typeof key !== "number") {
- throw Error("key must be a valid integer not '" + typeof key + "'");
- }
- cordova.exec(success, error, 'UniversalAnalytics', 'addCustomDimension', [key, value]);
-};
-
-UniversalAnalyticsPlugin.prototype.trackEvent = function(category, action, label, value, newSession, success, error) {
- if (typeof label === 'undefined' || label === null) {
- label = '';
- }
- if (typeof value === 'undefined' || value === null) {
- value = 0;
- }
-
- if (typeof newSession === 'undefined' || newSession === null) {
- newSession = false;
- }
-
- cordova.exec(success, error, 'UniversalAnalytics', 'trackEvent', [category, action, label, value, newSession]);
-};
-
-/**
- * https://developers.google.com/analytics/devguides/collection/android/v3/exceptions
- */
-UniversalAnalyticsPlugin.prototype.trackException = function(description, fatal, success, error) {
- cordova.exec(success, error, 'UniversalAnalytics', 'trackException', [description, fatal]);
-};
-
-UniversalAnalyticsPlugin.prototype.trackTiming = function(category, intervalInMilliseconds, name, label, success, error) {
- if (typeof intervalInMilliseconds === 'undefined' || intervalInMilliseconds === null) {
- intervalInMilliseconds = 0;
- }
- if (typeof name === 'undefined' || name === null) {
- name = '';
- }
- if (typeof label === 'undefined' || label === null) {
- label = '';
- }
-
- cordova.exec(success, error, 'UniversalAnalytics', 'trackTiming', [category, intervalInMilliseconds, name, label]);
-};
-
-/* Google Analytics e-Commerce Tracking */
-/* https://developers.google.com/analytics/devguides/collection/analyticsjs/ecommerce */
-UniversalAnalyticsPlugin.prototype.addTransaction = function(transactionId, affiliation, revenue, tax, shipping, currencyCode, success, error) {
- cordova.exec(success, error, 'UniversalAnalytics', 'addTransaction', [transactionId, affiliation, revenue, tax, shipping, currencyCode]);
-};
-
-UniversalAnalyticsPlugin.prototype.addTransactionItem = function(transactionId, name ,sku, category, price, quantity, currencyCode, success, error) {
- cordova.exec(success, error, 'UniversalAnalytics', 'addTransactionItem', [transactionId, name ,sku, category, price, quantity, currencyCode]);
-};
-
-/* automatic uncaught exception tracking */
-UniversalAnalyticsPlugin.prototype.enableUncaughtExceptionReporting = function (enable, success, error) {
- cordova.exec(success, error, 'UniversalAnalytics', 'enableUncaughtExceptionReporting', [enable]);
-};
-
-module.exports = new UniversalAnalyticsPlugin();
-
-});
diff --git a/StoneIsland/platforms/ios/www/cordova_plugins.js b/StoneIsland/platforms/ios/www/cordova_plugins.js
index e80f5bbb..e39888f0 100644
--- a/StoneIsland/platforms/ios/www/cordova_plugins.js
+++ b/StoneIsland/platforms/ios/www/cordova_plugins.js
@@ -132,21 +132,20 @@ module.exports = [
]
},
{
- "id": "cordova-plugin-google-analytics.UniversalAnalytics",
- "file": "plugins/cordova-plugin-google-analytics/www/analytics.js",
- "pluginId": "cordova-plugin-google-analytics",
- "clobbers": [
- "analytics",
- "ga"
- ]
- },
- {
"id": "cordova-plugin-statusbar.statusbar",
"file": "plugins/cordova-plugin-statusbar/www/statusbar.js",
"pluginId": "cordova-plugin-statusbar",
"clobbers": [
"window.StatusBar"
]
+ },
+ {
+ "id": "cordova-plugin-firebase.FirebasePlugin",
+ "file": "plugins/cordova-plugin-firebase/www/firebase.js",
+ "pluginId": "cordova-plugin-firebase",
+ "clobbers": [
+ "FirebasePlugin"
+ ]
}
];
module.exports.metadata =
@@ -165,8 +164,8 @@ module.exports.metadata =
"cordova-plugin-x-socialsharing": "5.1.3",
"ionic-plugin-keyboard": "2.2.1",
"phonegap-plugin-push": "1.9.2",
- "cordova-plugin-google-analytics": "1.8.3",
- "cordova-plugin-statusbar": "2.2.3"
+ "cordova-plugin-statusbar": "2.2.3",
+ "cordova-plugin-firebase": "0.1.24"
};
// BOTTOM OF METADATA
}); \ No newline at end of file
diff --git a/StoneIsland/platforms/ios/www/plugins/cordova-plugin-firebase/www/firebase.js b/StoneIsland/platforms/ios/www/plugins/cordova-plugin-firebase/www/firebase.js
new file mode 100644
index 00000000..e1e423d1
--- /dev/null
+++ b/StoneIsland/platforms/ios/www/plugins/cordova-plugin-firebase/www/firebase.js
@@ -0,0 +1,124 @@
+cordova.define("cordova-plugin-firebase.FirebasePlugin", function(require, exports, module) {
+var exec = require('cordova/exec');
+
+exports.getInstanceId = function(success, error) {
+ exec(success, error, "FirebasePlugin", "getInstanceId", []);
+};
+
+exports.getToken = function(success, error) {
+ exec(success, error, "FirebasePlugin", "getToken", []);
+};
+
+exports.onNotificationOpen = function(success, error) {
+ exec(success, error, "FirebasePlugin", "onNotificationOpen", []);
+};
+
+exports.onTokenRefresh = function(success, error) {
+ exec(success, error, "FirebasePlugin", "onTokenRefresh", []);
+};
+
+exports.grantPermission = function(success, error) {
+ exec(success, error, "FirebasePlugin", "grantPermission", []);
+};
+
+exports.hasPermission = function(success, error) {
+ exec(success, error, "FirebasePlugin", "hasPermission", []);
+};
+
+exports.setBadgeNumber = function(number, success, error) {
+ exec(success, error, "FirebasePlugin", "setBadgeNumber", [number]);
+};
+
+exports.getBadgeNumber = function(success, error) {
+ exec(success, error, "FirebasePlugin", "getBadgeNumber", []);
+};
+
+exports.subscribe = function(topic, success, error) {
+ exec(success, error, "FirebasePlugin", "subscribe", [topic]);
+};
+
+exports.unsubscribe = function(topic, success, error) {
+ exec(success, error, "FirebasePlugin", "unsubscribe", [topic]);
+};
+
+exports.unregister = function(success, error) {
+ exec(success, error, "FirebasePlugin", "unregister", []);
+};
+
+exports.logEvent = function(name, params, success, error) {
+ exec(success, error, "FirebasePlugin", "logEvent", [name, params]);
+};
+
+exports.logError = function(message, success, error) {
+ exec(success, error, "FirebasePlugin", "logError", [message]);
+};
+
+exports.setScreenName = function(name, success, error) {
+ exec(success, error, "FirebasePlugin", "setScreenName", [name]);
+};
+
+exports.setUserId = function(id, success, error) {
+ exec(success, error, "FirebasePlugin", "setUserId", [id]);
+};
+
+exports.setUserProperty = function(name, value, success, error) {
+ exec(success, error, "FirebasePlugin", "setUserProperty", [name, value]);
+};
+
+exports.activateFetched = function (success, error) {
+ exec(success, error, "FirebasePlugin", "activateFetched", []);
+};
+
+exports.fetch = function (cacheExpirationSeconds, success, error) {
+ var args = [];
+ if (typeof cacheExpirationSeconds === 'number') {
+ args.push(cacheExpirationSeconds);
+ } else {
+ error = success;
+ success = cacheExpirationSeconds;
+ }
+ exec(success, error, "FirebasePlugin", "fetch", args);
+};
+
+exports.getByteArray = function (key, namespace, success, error) {
+ var args = [key];
+ if (typeof namespace === 'string') {
+ args.push(namespace);
+ } else {
+ error = success;
+ success = namespace;
+ }
+ exec(success, error, "FirebasePlugin", "getByteArray", args);
+};
+
+exports.getValue = function (key, namespace, success, error) {
+ var args = [key];
+ if (typeof namespace === 'string') {
+ args.push(namespace);
+ } else {
+ error = success;
+ success = namespace;
+ }
+ exec(success, error, "FirebasePlugin", "getValue", args);
+};
+
+exports.getInfo = function (success, error) {
+ exec(success, error, "FirebasePlugin", "getInfo", []);
+};
+
+exports.setConfigSettings = function (settings, success, error) {
+ exec(success, error, "FirebasePlugin", "setConfigSettings", [settings]);
+};
+
+exports.setDefaults = function (defaults, namespace, success, error) {
+ var args = [defaults];
+ if (typeof namespace === 'string') {
+ args.push(namespace);
+ } else {
+ error = success;
+ success = namespace;
+ }
+ exec(success, error, "FirebasePlugin", "setDefaults", args);
+};
+
+});
diff --git a/StoneIsland/platforms/ios/www/plugins/cordova-plugin-google-analytics/www/analytics.js b/StoneIsland/platforms/ios/www/plugins/cordova-plugin-google-analytics/www/analytics.js
deleted file mode 100644
index b46b19ea..00000000
--- a/StoneIsland/platforms/ios/www/plugins/cordova-plugin-google-analytics/www/analytics.js
+++ /dev/null
@@ -1,130 +0,0 @@
-cordova.define("cordova-plugin-google-analytics.UniversalAnalytics", function(require, exports, module) {
-function UniversalAnalyticsPlugin() {}
-
-UniversalAnalyticsPlugin.prototype.startTrackerWithId = function(id, dispatchPeriod, success, error) {
- if (typeof dispatchPeriod === 'undefined' || dispatchPeriod === null) {
- dispatchPeriod = 30;
- } else if (typeof dispatchPeriod === 'function' && typeof error === 'undefined') {
- // Called without dispatchPeriod but with a callback.
- // Looks like the original API was used so shift parameters over to remain compatible.
- error = success;
- success = dispatchPeriod;
- dispatchPeriod = 30;
- }
- cordova.exec(success, error, 'UniversalAnalytics', 'startTrackerWithId', [id, dispatchPeriod]);
-};
-
-UniversalAnalyticsPlugin.prototype.setAllowIDFACollection = function(enable, success, error) {
- cordova.exec(success, error, 'UniversalAnalytics', 'setAllowIDFACollection', [enable]);
-};
-
-UniversalAnalyticsPlugin.prototype.setUserId = function(id, success, error) {
- cordova.exec(success, error, 'UniversalAnalytics', 'setUserId', [id]);
-};
-
-UniversalAnalyticsPlugin.prototype.setAnonymizeIp = function(anonymize, success, error) {
- cordova.exec(success, error, 'UniversalAnalytics', 'setAnonymizeIp', [anonymize]);
-};
-
-UniversalAnalyticsPlugin.prototype.setOptOut = function(optout, success, error) {
- cordova.exec(success, error, 'UniversalAnalytics', 'setOptOut', [optout]);
-};
-
-UniversalAnalyticsPlugin.prototype.setAppVersion = function(version, success, error) {
- cordova.exec(success, error, 'UniversalAnalytics', 'setAppVersion', [version]);
-};
-
-UniversalAnalyticsPlugin.prototype.getVar = function(variable, success, error) {
- cordova.exec(success, error, 'UniversalAnalytics', 'getVar', [variable]);
-};
-
-UniversalAnalyticsPlugin.prototype.setVar = function(variable, value, success, error) {
- cordova.exec(success, error, 'UniversalAnalytics', 'setVar', [variable, value]);
-};
-
-UniversalAnalyticsPlugin.prototype.dispatch = function(success, error) {
- cordova.exec(success, error, 'UniversalAnalytics', 'dispatch', []);
-};
-
-/* enables verbose logging */
-UniversalAnalyticsPlugin.prototype.debugMode = function(success, error) {
- cordova.exec(success, error, 'UniversalAnalytics', 'debugMode', []);
-};
-
-UniversalAnalyticsPlugin.prototype.trackMetric = function(key, value, success, error) {
- cordova.exec(success, error, 'UniversalAnalytics', 'trackMetric', [key, value]);
-};
-
-UniversalAnalyticsPlugin.prototype.trackView = function(screen, campaignUrl, newSession, success, error) {
- if (typeof campaignUrl === 'undefined' || campaignUrl === null) {
- campaignUrl = '';
- }
-
- if (typeof newSession === 'undefined' || newSession === null) {
- newSession = false;
- }
-
- cordova.exec(success, error, 'UniversalAnalytics', 'trackView', [screen, campaignUrl, newSession]);
-};
-
-UniversalAnalyticsPlugin.prototype.addCustomDimension = function(key, value, success, error) {
- if (typeof key !== "number") {
- throw Error("key must be a valid integer not '" + typeof key + "'");
- }
- cordova.exec(success, error, 'UniversalAnalytics', 'addCustomDimension', [key, value]);
-};
-
-UniversalAnalyticsPlugin.prototype.trackEvent = function(category, action, label, value, newSession, success, error) {
- if (typeof label === 'undefined' || label === null) {
- label = '';
- }
- if (typeof value === 'undefined' || value === null) {
- value = 0;
- }
-
- if (typeof newSession === 'undefined' || newSession === null) {
- newSession = false;
- }
-
- cordova.exec(success, error, 'UniversalAnalytics', 'trackEvent', [category, action, label, value, newSession]);
-};
-
-/**
- * https://developers.google.com/analytics/devguides/collection/android/v3/exceptions
- */
-UniversalAnalyticsPlugin.prototype.trackException = function(description, fatal, success, error) {
- cordova.exec(success, error, 'UniversalAnalytics', 'trackException', [description, fatal]);
-};
-
-UniversalAnalyticsPlugin.prototype.trackTiming = function(category, intervalInMilliseconds, name, label, success, error) {
- if (typeof intervalInMilliseconds === 'undefined' || intervalInMilliseconds === null) {
- intervalInMilliseconds = 0;
- }
- if (typeof name === 'undefined' || name === null) {
- name = '';
- }
- if (typeof label === 'undefined' || label === null) {
- label = '';
- }
-
- cordova.exec(success, error, 'UniversalAnalytics', 'trackTiming', [category, intervalInMilliseconds, name, label]);
-};
-
-/* Google Analytics e-Commerce Tracking */
-/* https://developers.google.com/analytics/devguides/collection/analyticsjs/ecommerce */
-UniversalAnalyticsPlugin.prototype.addTransaction = function(transactionId, affiliation, revenue, tax, shipping, currencyCode, success, error) {
- cordova.exec(success, error, 'UniversalAnalytics', 'addTransaction', [transactionId, affiliation, revenue, tax, shipping, currencyCode]);
-};
-
-UniversalAnalyticsPlugin.prototype.addTransactionItem = function(transactionId, name ,sku, category, price, quantity, currencyCode, success, error) {
- cordova.exec(success, error, 'UniversalAnalytics', 'addTransactionItem', [transactionId, name ,sku, category, price, quantity, currencyCode]);
-};
-
-/* automatic uncaught exception tracking */
-UniversalAnalyticsPlugin.prototype.enableUncaughtExceptionReporting = function (enable, success, error) {
- cordova.exec(success, error, 'UniversalAnalytics', 'enableUncaughtExceptionReporting', [enable]);
-};
-
-module.exports = new UniversalAnalyticsPlugin();
-
-});