├── .gitignore ├── Documentation ├── 01_add_plugin.png ├── 02_add_script.png ├── 03_add_component.png ├── 04_script_vars.png ├── 05_plist.png ├── 06_build_settings.png ├── 07_player_settings.png ├── 09_add_dependencies.png ├── 10_portal_metrics.png └── Changelog.md ├── ExampleGame ├── Assets │ ├── Editor.meta │ ├── Editor │ │ ├── PostBuildTrigger.cs │ │ └── PostBuildTrigger.cs.meta │ ├── HockeyAppUnityIOS.meta │ ├── HockeyAppUnityIOS │ │ ├── ExamplePlugin.h │ │ ├── ExamplePlugin.h.meta │ │ ├── ExamplePluginWrapper.h │ │ ├── ExamplePluginWrapper.h.meta │ │ ├── ExamplePluginWrapper.m │ │ ├── ExamplePluginWrapper.m.meta │ │ ├── HockeyAppUnity-Scripts.meta │ │ ├── HockeyAppUnity-Scripts │ │ │ ├── HockeyAppIOS.cs │ │ │ └── HockeyAppIOS.cs.meta │ │ ├── HockeyAppUnity.h │ │ ├── HockeyAppUnity.h.meta │ │ ├── HockeyAppUnityWrapper.m │ │ ├── HockeyAppUnityWrapper.m.meta │ │ ├── HockeySDKResources.bundle.meta │ │ ├── HockeySDKResources.bundle │ │ │ ├── AppIconPlaceHolder.png │ │ │ ├── Arrow.png │ │ │ ├── Arrow@2x.png │ │ │ ├── Arrow@3x.png │ │ │ ├── Blur.png │ │ │ ├── Blur@2x.png │ │ │ ├── Blur@3x.png │ │ │ ├── Cancel.png │ │ │ ├── Cancel@2x.png │ │ │ ├── Cancel@3x.png │ │ │ ├── FeedbackPlaceholder.png │ │ │ ├── IconGradient.png │ │ │ ├── IconGradient@2x.png │ │ │ ├── Info.plist │ │ │ ├── Ok.png │ │ │ ├── Ok@2x.png │ │ │ ├── Ok@3x.png │ │ │ ├── Rectangle.png │ │ │ ├── Rectangle@2x.png │ │ │ ├── Rectangle@3x.png │ │ │ ├── authorize_denied.png │ │ │ ├── authorize_denied@2x.png │ │ │ ├── authorize_denied@3x.png │ │ │ ├── bg.png │ │ │ ├── buttonRoundedDelete.png │ │ │ ├── buttonRoundedDelete@2x.png │ │ │ ├── buttonRoundedDeleteHighlighted.png │ │ │ ├── buttonRoundedDeleteHighlighted@2x.png │ │ │ ├── buttonRoundedRegular.png │ │ │ ├── buttonRoundedRegular@2x.png │ │ │ ├── buttonRoundedRegularHighlighted.png │ │ │ ├── buttonRoundedRegularHighlighted@2x.png │ │ │ ├── de.lproj │ │ │ │ └── HockeySDK.strings │ │ │ ├── en.lproj │ │ │ │ └── HockeySDK.strings │ │ │ ├── es.lproj │ │ │ │ └── HockeySDK.strings │ │ │ ├── fa.lproj │ │ │ │ └── HockeySDK.strings │ │ │ ├── feedbackActivity.png │ │ │ ├── feedbackActivity@2x.png │ │ │ ├── feedbackActivity@2x~ipad.png │ │ │ ├── feedbackActivity@3x.png │ │ │ ├── feedbackActivity~ipad.png │ │ │ ├── fr.lproj │ │ │ │ └── HockeySDK.strings │ │ │ ├── hr.lproj │ │ │ │ └── HockeySDK.strings │ │ │ ├── hu.lproj │ │ │ │ └── HockeySDK.strings │ │ │ ├── iconCamera.png │ │ │ ├── iconCamera@2x.png │ │ │ ├── it.lproj │ │ │ │ └── HockeySDK.strings │ │ │ ├── ja.lproj │ │ │ │ └── HockeySDK.strings │ │ │ ├── nb.lproj │ │ │ │ └── HockeySDK.strings │ │ │ ├── nl.lproj │ │ │ │ └── HockeySDK.strings │ │ │ ├── pt-PT.lproj │ │ │ │ └── HockeySDK.strings │ │ │ ├── pt.lproj │ │ │ │ └── HockeySDK.strings │ │ │ ├── ru.lproj │ │ │ │ └── HockeySDK.strings │ │ │ ├── tr.lproj │ │ │ │ └── HockeySDK.strings │ │ │ └── zh-Hans.lproj │ │ │ │ └── HockeySDK.strings │ │ ├── README.pdf │ │ ├── libExamplePlugin.a │ │ ├── libExamplePlugin.a.meta │ │ └── libHockeySDK-5.2.0.a │ ├── TestScene.unity │ ├── TestScene.unity.meta │ ├── TestUI.meta │ └── TestUI │ │ ├── Ressources.meta │ │ ├── Ressources │ │ ├── btn_active.png │ │ ├── btn_active.png.meta │ │ ├── btn_normal.png │ │ └── btn_normal.png.meta │ │ ├── TestUI.cs │ │ ├── TestUI.cs.meta │ │ ├── TestUISkin.guiskin │ │ └── TestUISkin.guiskin.meta └── ProjectSettings │ ├── AudioManager.asset │ ├── ClusterInputManager.asset │ ├── DynamicsManager.asset │ ├── EditorBuildSettings.asset │ ├── EditorSettings.asset │ ├── GraphicsSettings.asset │ ├── InputManager.asset │ ├── NavMeshAreas.asset │ ├── NetworkManager.asset │ ├── Physics2DSettings.asset │ ├── ProjectSettings.asset │ ├── ProjectVersion.txt │ ├── QualitySettings.asset │ ├── TagManager.asset │ ├── TimeManager.asset │ └── UnityConnectSettings.asset ├── LICENSE ├── Plugins ├── Editor │ └── PostBuildTrigger.cs ├── HockeyAppUnityIOS │ ├── HockeyAppUnity-Scripts │ │ └── HockeyAppIOS.cs │ ├── HockeyAppUnity.h │ ├── HockeyAppUnityWrapper.m │ ├── HockeySDKResources.bundle │ │ ├── AppIconPlaceHolder.png │ │ ├── Arrow.png │ │ ├── Arrow@2x.png │ │ ├── Arrow@3x.png │ │ ├── Blur.png │ │ ├── Blur@2x.png │ │ ├── Blur@3x.png │ │ ├── Cancel.png │ │ ├── Cancel@2x.png │ │ ├── Cancel@3x.png │ │ ├── FeedbackPlaceholder.png │ │ ├── IconGradient.png │ │ ├── IconGradient@2x.png │ │ ├── Info.plist │ │ ├── Ok.png │ │ ├── Ok@2x.png │ │ ├── Ok@3x.png │ │ ├── Rectangle.png │ │ ├── Rectangle@2x.png │ │ ├── Rectangle@3x.png │ │ ├── authorize_denied.png │ │ ├── authorize_denied@2x.png │ │ ├── authorize_denied@3x.png │ │ ├── bg.png │ │ ├── buttonRoundedDelete.png │ │ ├── buttonRoundedDelete@2x.png │ │ ├── buttonRoundedDeleteHighlighted.png │ │ ├── buttonRoundedDeleteHighlighted@2x.png │ │ ├── buttonRoundedRegular.png │ │ ├── buttonRoundedRegular@2x.png │ │ ├── buttonRoundedRegularHighlighted.png │ │ ├── buttonRoundedRegularHighlighted@2x.png │ │ ├── de.lproj │ │ │ └── HockeySDK.strings │ │ ├── en.lproj │ │ │ └── HockeySDK.strings │ │ ├── es.lproj │ │ │ └── HockeySDK.strings │ │ ├── fa.lproj │ │ │ └── HockeySDK.strings │ │ ├── feedbackActivity.png │ │ ├── feedbackActivity@2x.png │ │ ├── feedbackActivity@2x~ipad.png │ │ ├── feedbackActivity@3x.png │ │ ├── feedbackActivity~ipad.png │ │ ├── fr.lproj │ │ │ └── HockeySDK.strings │ │ ├── hr.lproj │ │ │ └── HockeySDK.strings │ │ ├── hu.lproj │ │ │ └── HockeySDK.strings │ │ ├── iconCamera.png │ │ ├── iconCamera@2x.png │ │ ├── it.lproj │ │ │ └── HockeySDK.strings │ │ ├── ja.lproj │ │ │ └── HockeySDK.strings │ │ ├── nb.lproj │ │ │ └── HockeySDK.strings │ │ ├── nl.lproj │ │ │ └── HockeySDK.strings │ │ ├── pt-PT.lproj │ │ │ └── HockeySDK.strings │ │ ├── pt.lproj │ │ │ └── HockeySDK.strings │ │ ├── ru.lproj │ │ │ └── HockeySDK.strings │ │ ├── tr.lproj │ │ │ └── HockeySDK.strings │ │ └── zh-Hans.lproj │ │ │ └── HockeySDK.strings │ └── libHockeySDK-5.2.0.a └── README.pdf ├── README.md └── UnityPluginSources ├── HockeyAppUnity.xcodeproj └── project.pbxproj └── HockeyAppUnity ├── BITAuthenticator.h ├── BITCrashAttachment.h ├── BITCrashDetails.h ├── BITCrashManager.h ├── BITCrashManagerDelegate.h ├── BITCrashMetaData.h ├── BITFeedbackActivity.h ├── BITFeedbackComposeViewController.h ├── BITFeedbackComposeViewControllerDelegate.h ├── BITFeedbackListViewController.h ├── BITFeedbackManager.h ├── BITFeedbackManagerDelegate.h ├── BITHockeyAttachment.h ├── BITHockeyBaseManager.h ├── BITHockeyBaseViewController.h ├── BITHockeyManager.h ├── BITHockeyManagerDelegate.h ├── BITMetricsManager.h ├── BITStoreUpdateManager.h ├── BITStoreUpdateManagerDelegate.h ├── BITUpdateManager.h ├── BITUpdateManagerDelegate.h ├── BITUpdateViewController.h ├── BITUtils.h ├── BITUtils.m ├── HockeyAppUnity-Prefix.pch ├── HockeyAppUnity.h ├── HockeyAppUnity.m ├── HockeySDK-5.1.2.a ├── HockeySDK.h ├── HockeySDKEnums.h ├── HockeySDKFeatureConfig.h └── HockeySDKNullability.h /.gitignore: -------------------------------------------------------------------------------- 1 | # =============== # 2 | # Xcode generated # 3 | # =============== # 4 | build/ 5 | *.pbxuser 6 | !default.pbxuser 7 | *.mode1v3 8 | !default.mode1v3 9 | *.mode2v3 10 | !default.mode2v3 11 | *.perspectivev3 12 | !default.perspectivev3 13 | *.xcworkspace 14 | !default.xcworkspace 15 | xcuserdata 16 | profile 17 | *.moved-aside 18 | DerivedData 19 | .idea/ 20 | 21 | # =============== # 22 | # Unity generated # 23 | # =============== # 24 | Temp/ 25 | Obj/ 26 | UnityGenerated/ 27 | Library/ 28 | *.pyc 29 | 30 | # ===================================== # 31 | # Visual Studio / MonoDevelop generated # 32 | # ===================================== # 33 | ExportedObj/ 34 | *.svd 35 | *.userprefs 36 | *.csproj 37 | *.pidb 38 | *.suo 39 | *.sln 40 | *.user 41 | *.unityproj 42 | *.booproj 43 | 44 | # ============ # 45 | # OS generated # 46 | # ============ # 47 | .DS_Store 48 | .DS_Store? 49 | ._* 50 | .Spotlight-V100 51 | .Trashes 52 | Icon? 53 | ehthumbs.db 54 | Thumbs.db -------------------------------------------------------------------------------- /Documentation/01_add_plugin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Documentation/01_add_plugin.png -------------------------------------------------------------------------------- /Documentation/02_add_script.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Documentation/02_add_script.png -------------------------------------------------------------------------------- /Documentation/03_add_component.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Documentation/03_add_component.png -------------------------------------------------------------------------------- /Documentation/04_script_vars.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Documentation/04_script_vars.png -------------------------------------------------------------------------------- /Documentation/05_plist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Documentation/05_plist.png -------------------------------------------------------------------------------- /Documentation/06_build_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Documentation/06_build_settings.png -------------------------------------------------------------------------------- /Documentation/07_player_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Documentation/07_player_settings.png -------------------------------------------------------------------------------- /Documentation/09_add_dependencies.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Documentation/09_add_dependencies.png -------------------------------------------------------------------------------- /Documentation/10_portal_metrics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Documentation/10_portal_metrics.png -------------------------------------------------------------------------------- /Documentation/Changelog.md: -------------------------------------------------------------------------------- 1 | ## Changelog 2 | 3 | ### 5.2.0 4 | 5 | This version wraps HockeySDK-iOS 5.1.2. It contains the following changes 6 | 7 | - [FEATURE] Added bindings for `trackEvent` apis. [#44](https://github.com/bitstadium/HockeySDK-Unity-iOS/pull/44) 8 | 9 | #### HockeySDK-iOS 5.1.2 10 | 11 | - [IMPROVEMENT] This release can be compiled with Xcode 9.2 without warnings. [#502](https://github.com/bitstadium/HockeySDK-iOS/pull/503) 12 | - [BUGFIX] Fix warnings when integrating the SDK as source in Xcode 9. [#501](https://github.com/bitstadium/HockeySDK-iOS/pull/501) 13 | - [BUGFIX] Fix a potential memory leak in `BITChannel`. [#500](https://github.com/bitstadium/HockeySDK-iOS/pull/500) 14 | - [BUGFIX] Version 5.1.X broke support for app extension. We're sorry about this and we've updated our test matrix to make sure this does not happen again. [#499](https://github.com/bitstadium/HockeySDK-iOS/pull/499) 15 | - [BUGFIX] Fix a bug in the Feedback UI when Feedback was shown in landscape. [#498](https://github.com/bitstadium/HockeySDK-iOS/pull/498) 16 | 17 | ### 5.1.0 18 | 19 | This version wraps HockeySDK-iOS 5.1.1. It contains the following changes: 20 | 21 | #### HockeySDK-iOS 5.1.1 22 | 23 | - [BUGFIX] Fixes a critical bug that would cause apps to freeze when calling `trackEvent` in UIApplicationDelegate callbacks. [#492](https://github.com/bitstadium/HockeySDK-iOS/pull/493) 24 | - [BUGFIX] Fix a critical bug in the crashonly variant of the SDK. [#49](https://github.com/bitstadium/HockeySDK-iOS/pull/494) 25 | 26 | #### HockeySDK-iOS 5.1.0 27 | 28 | - [FEATURE] Add Turkish localization thanks to [Ozgur](https://github.com/ozgur).[#478](https://github.com/bitstadium/HockeySDK-iOS/pull/478) 29 | - [FEATURE] Add support to detect low memory and OS kill heuristics for extensions. Thx to [Dave Weston](https://github.com/dtweston) for this! [#470](https://github.com/bitstadium/HockeySDK-iOS/pull/470) 30 | - [IMPROVEMENT] Support tracking events in the background. [#475](https://github.com/bitstadium/HockeySDK-iOS/pull/475) 31 | - [FIX] Improvements around thread-safety and concurrency for Metrics. [#471](https://github.com/bitstadium/HockeySDK-iOS/pull/471) [#479](https://github.com/bitstadium/HockeySDK-iOS/pull/479) 32 | - [FIX] Fix runtime warnings of Xcode 9's main thread checker tool. [#484](https://github.com/bitstadium/HockeySDK-iOS/pull/484) 33 | - [FIX] Fix caching of previews for attachments to Feedback. [#487](https://github.com/bitstadium/HockeySDK-iOS/pull/487) 34 | 35 | 36 | ### 5.0.0 37 | 38 | This version wraps the latest iOS SDK and makes sure the SDK is fully compatible with iOS 11. 39 | 40 | The most notable changes are: 41 | 42 | * The SDK is now supporting iOS 8 and later. 43 | * This version brings back the Feedback feature, which requires that you add the `NSPhotoLibraryUsageDescription` key to your `Info.plist` to avoid an AppStore rejection during upload of your app. 44 | * We now use the plugin**S** folder instead of `Plugin`. 45 | 46 | Please also check out the full changelog below: 47 | 48 | - [FEATURE] Added support for Metrics in app extensions. [#449](https://github.com/bitstadium/HockeySDK-iOS/pull/449) 49 | - [FEATURE] User Metrics can now be enabled after it was disabled. [#451](https://github.com/bitstadium/HockeySDK-iOS/pull/451) 50 | - [IMPROVEMENT] The code has been cleaned up as we have decided to drop support for iOS 7. 51 | - [IMPROVEMENT] All properties of type `NSString` now use the `copy` attribute. 52 | - [IMPROVEMENT] Use `UIAlertController` in Feedback instead of `UIAlertView`. [#460](https://github.com/bitstadium/HockeySDK-iOS/pull/460) 53 | - [IMPROVEMENT] Don't use `UIAlertView` but `UIAlertController`.[#446](https://github.com/bitstadium/HockeySDK-iOS/pull/446) 54 | - [IMPROVEMENT] `BITAttributedLabel` is now based on `TTTAttributedLabel` 2.0. [#450](https://github.com/bitstadium/HockeySDK-iOS/pull/450) 55 | - [BUGFIX] Fix a bug in `BITAuthenticator`. [#447](https://github.com/bitstadium/HockeySDK-iOS/pull/447) 56 | - [BUGFIX] Fix a bug in `BITImageAnnotation`. [#453](https://github.com/bitstadium/HockeySDK-iOS/pull/453) 57 | - [BUGFIX] The logic that makes sure that the directory for HockeySDK-iOS is excluded from backups was changed, to make sure it doesn't block app launch [#443](https://github.com/bitstadium/HockeySDK-iOS/pull/443). 58 | - [BUGFIX] Fix bugs in the Feedback UI on iOS 11. [#459](https://github.com/bitstadium/HockeySDK-iOS/pull/459) 59 | 60 | ### 1.1.8 61 | 62 | * [IMPROVEMENT] Upgrade to HockeySDK for iOS 4.1.6 63 | * [IMPROVEMENT] Metrics info will be send to the backend every time the application goes from foreground to background 64 | 65 | ### 1.1.7 66 | This release officially drops the support for iOS 6. 67 | 68 | * [IMPROVEMENT] Upgrade to HockeySDK for iOS 4.1.5 69 | 70 | ### 1.1.6 71 | * [BUGFIX] Fix plugin initialization bug 72 | 73 | ### 1.1.5 74 | * [IMPROVEMENT] Upgrade to HockeySDK for iOS 4.1.4 75 | * [UPDATE] Minor bugfixes 76 | 77 | ### 1.1.4 78 | * [IMPROVEMENT] Upgrade to HockeySDK for iOS 4.1.3 79 | * [NEW] Norwegian (Bokmal) localization 80 | * [NEW] Persian (Farsi) localization 81 | 82 | ### 1.1.3 83 | * [BREAKING CHANGE] Feedback not supported by version 1.1.3 or higher. 84 | * [IMPROVEMENT] Upgrade to PLCrashReporter 1.3 85 | * [IMPROVEMENT] Upgrade to HockeySDK for iOS 4.1.2 86 | * [IMPROVEMENT] Updated Chinese translations 87 | 88 | ### 1.1.2 89 | * [BUGFIX] Fix bug where report for managed exceptions didn't contain a CrashReporter Key. The key is needed to get proper user statistics on the portal 90 | * [UPDATE] Plugin now uses HockeySDK iOS 4.0.1 91 | * [UPDATE] Prefix Objective-C classes do avoid duplicate symbol errors 92 | 93 | ### 1.1.1 94 | 95 | * [BUGFIX] Fixes an issue where the whole app's Application Support directory was accidentally excluded from backups. 96 | This SDK release explicitly includes the Application Support directory into backups. If you want to opt-out of this fix and keep the Application Directory's backup flag untouched, add the following to the code of your exported Xcode project: 97 | 98 | ```objectivec 99 | [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"kBITExcludeApplicationSupportFromBackup"]; 100 | ``` 101 | 102 | ### 1.1.0 103 | * [NEW] User Metrics (user and session tracking) 104 | * [NEW] Trigger version update check explicitly 105 | * [IMPROVEMENT] Bitcode support 106 | * [BUGFIX] Issue #22: Avoid app crash when first launching app without internet connection 107 | * [BUGFIX] Fix crash in native SDK that occured after authentication 108 | * [UPDATE] Plugin now uses HockeySDK iOS 4.0.0 109 | * [UPDATE] Minor bugfixes 110 | 111 | ### 1.0.11 112 | 113 | * Update plugin to HockeySDK iOS 3.8.5 114 | * Fix a crash where appStoreReceiptURL was accidentally accessed on iOS 6 115 | 116 | ### 1.0.10 117 | 118 | * Update plugin to HockeySDK iOS 3.8.4 119 | * Replace old post build script 120 | * Minor bugfixes 121 | 122 | ### 1.0.9 123 | 124 | * Update plugin to HockeySDK iOS 3.8.2 125 | * Add iOS 9 support 126 | * Minor bugfixes 127 | 128 | ### 1.0.8 129 | 130 | * Update plugin to HockeySDK iOS 3.7.1 131 | * Append SDK and App information to managed exception reports 132 | * SDK name & version 133 | * App code & version 134 | 135 | ### 1.0.7 136 | 137 | * Update plugin to HockeySDK iOS 3.6.4 138 | * Fix broken interop & warnings in HockeyAppUnityWrapper.m (thanks to Andy Mroczkowski) 139 | * Fix exception handling 140 | * Report Error types 141 | * Update version numbers 142 | * Extend demo project 143 | 144 | ### 1.0.6 145 | 146 | * Fix 'Example Project' 147 | * Add readme section: Add dependencies 148 | * Add entry in troubleshooting section: Disable ARC 149 | 150 | ### 1.0.5 151 | 152 | * Add Unity 5 support 153 | * Remove warnings 154 | * Allow custom plugin folder structure 155 | * Ease plugin configuration 156 | -------------------------------------------------------------------------------- /ExampleGame/Assets/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f9e32c5d381c04d238dc98d134fd00b8 3 | folderAsset: yes 4 | timeCreated: 1424097726 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ExampleGame/Assets/Editor/PostBuildTrigger.cs: -------------------------------------------------------------------------------- 1 | using System.IO; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using System.Text; 5 | using UnityEngine; 6 | using UnityEditor; 7 | using UnityEditor.Callbacks; 8 | using UnityEditor.iOS.Xcode; 9 | 10 | public static class PostBuildTrigger 11 | { 12 | enum Position { Begin, End }; 13 | 14 | private static string rn = "\n"; 15 | 16 | private static string PATH_AUTH = "/Classes/UnityAppController.mm"; 17 | private static string SIGNATURE_AUTH = 18 | "- (BOOL)application:(UIApplication*)application openURL:(NSURL*)url sourceApplication:(NSString*)sourceApplication annotation:(id)annotation"; 19 | private static string CODE_AUTH = rn + 20 | "if([HockeyAppUnity handleOpenURL:url sourceApplication:sourceApplication annotation:annotation]){" + rn + 21 | "return YES;" + rn + 22 | "}" + rn; 23 | private static string CODE_LIB_IMPORT = 24 | "#import \"HockeyAppUnity.h\"" + rn; 25 | 26 | [PostProcessBuild(100)] 27 | public static void OnPostProcessBuild(BuildTarget target, string path) 28 | { 29 | Debug.Log( "HockeyApp Unity: Post build script starts"); 30 | if (target == BuildTarget.iOS) 31 | { 32 | // Get target for Xcode project 33 | string projPath = PBXProject.GetPBXProjectPath(path); 34 | Debug.Log( "HockeyApp Unity: Project path is " + projPath); 35 | 36 | PBXProject proj = new PBXProject(); 37 | proj.ReadFromString(File.ReadAllText(projPath)); 38 | 39 | string targetName = PBXProject.GetUnityTargetName(); 40 | string projectTarget = proj.TargetGuidByName(targetName); 41 | 42 | // Add dependencies 43 | Debug.Log( "HockeyApp Unity: Adding frameworks"); 44 | 45 | proj.AddFrameworkToProject(projectTarget, "AssetsLibrary.framework", false); 46 | proj.AddFrameworkToProject(projectTarget, "CoreText.framework", false); 47 | proj.AddFrameworkToProject(projectTarget, "MobileCoreServices.framework", false); 48 | proj.AddFrameworkToProject(projectTarget, "QuickLook.framework", false); 49 | proj.AddFrameworkToProject(projectTarget, "Security.framework", false); 50 | proj.AddFrameworkToProject(projectTarget, "Photos.framework", false); 51 | proj.AddFrameworkToProject(projectTarget, "libz.dylib", false); 52 | 53 | File.WriteAllText(projPath, proj.WriteToString()); 54 | 55 | // Insert callback code 56 | Debug.Log( "HockeyApp Unity: Insert code"); 57 | 58 | InsertCodeIntoControllerClass(path); 59 | } 60 | } 61 | 62 | private static void InsertCodeIntoControllerClass(string projectPath) { 63 | string filepath = projectPath + PATH_AUTH; 64 | string[] methodSignatures = {SIGNATURE_AUTH}; 65 | string[] valuesToAppend = {CODE_AUTH}; 66 | Position[] positionsInMethod = new Position[]{Position.Begin}; 67 | 68 | InsertCodeIntoClass (filepath, methodSignatures, valuesToAppend, positionsInMethod); 69 | } 70 | 71 | private static void InsertCodeIntoClass(string filepath, string[] methodSignatures, string[] valuesToAppend, Position[]positionsInMethod) { 72 | if (!File.Exists (filepath)) { 73 | return; 74 | } 75 | 76 | string fileContent = File.ReadAllText (filepath); 77 | List ignoredIndices = new List (); 78 | 79 | for (int i = 0; i < valuesToAppend.Length; i++) { 80 | string val = valuesToAppend [i]; 81 | 82 | if (fileContent.Contains (val)) { 83 | ignoredIndices.Add (i); 84 | } 85 | } 86 | 87 | string[] fileLines = File.ReadAllLines(filepath); 88 | List newContents = new List(); 89 | bool found = false; 90 | int foundIndex = -1; 91 | 92 | newContents.Add (CODE_LIB_IMPORT); 93 | foreach(string line in fileLines) { 94 | if (line.Trim().Contains(CODE_LIB_IMPORT.Trim())){ 95 | continue; 96 | } 97 | 98 | newContents.Add(line + rn); 99 | for(int j = 0;j 2 | 3 | #ifdef __cplusplus 4 | extern "C" { 5 | #endif 6 | 7 | void UnitySendMessage(const char *obj, const char *method, const char *msg); 8 | 9 | #ifdef __cplusplus 10 | } 11 | #endif 12 | 13 | @interface HockeyAppUnity : NSObject 14 | 15 | #pragma mark - Setup SDK 16 | 17 | + (void)startManagerWithIdentifier:(NSString *)appIdentifier 18 | serverURL:(NSString *)serverURL 19 | authType:(NSString *)authType 20 | secret:(NSString *)secret 21 | updateManagerEnabled:(BOOL)updateManagerEnabled 22 | userMetricsEnabled:(BOOL)userMetricsEnabled 23 | autoSendEnabled:(BOOL)autoSendEnabled; 24 | + (BOOL)handleOpenURL:(NSURL *)url 25 | sourceApplication:(NSString *)sourceApplication 26 | annotation:(id)annotation; 27 | 28 | #pragma mark - SDK features 29 | 30 | + (void)showFeedbackListView; 31 | + (void)checkForUpdate; 32 | + (void)trackEventWithName:(NSString *)eventName; 33 | + (void)trackEventWithName:(NSString *)eventName 34 | properties:(NSDictionary *)properties 35 | measurements:(NSDictionary *)measurements; 36 | + (NSString *)versionCode; 37 | + (NSString *)versionName; 38 | + (NSString *)bundleIdentifier; 39 | + (NSString *)sdkVersion; 40 | + (NSString *)sdkName; 41 | + (NSString *)crashReporterKey; 42 | 43 | @end 44 | -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeyAppUnity.h.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 30781a6d2004a45d594c0688064b1d91 3 | timeCreated: 1500506047 4 | licenseType: Pro 5 | PluginImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | iconMap: {} 9 | executionOrder: {} 10 | isPreloaded: 0 11 | isOverridable: 0 12 | platformData: 13 | - first: 14 | '': Any 15 | second: 16 | enabled: 0 17 | settings: 18 | Exclude Android: 1 19 | Exclude Editor: 1 20 | Exclude Linux: 1 21 | Exclude Linux64: 1 22 | Exclude LinuxUniversal: 1 23 | Exclude OSXUniversal: 1 24 | Exclude Win: 1 25 | Exclude Win64: 1 26 | Exclude iOS: 0 27 | - first: 28 | '': data 29 | second: 30 | enabled: 0 31 | settings: {} 32 | - first: 33 | Android: Android 34 | second: 35 | enabled: 0 36 | settings: 37 | CPU: ARMv7 38 | - first: 39 | Editor: Editor 40 | second: 41 | enabled: 0 42 | settings: 43 | CPU: AnyCPU 44 | DefaultValueInitialized: true 45 | OS: AnyOS 46 | - first: 47 | Facebook: Win 48 | second: 49 | enabled: 0 50 | settings: 51 | CPU: AnyCPU 52 | - first: 53 | Facebook: Win64 54 | second: 55 | enabled: 0 56 | settings: 57 | CPU: AnyCPU 58 | - first: 59 | Standalone: Linux 60 | second: 61 | enabled: 0 62 | settings: 63 | CPU: x86 64 | - first: 65 | Standalone: Linux64 66 | second: 67 | enabled: 0 68 | settings: 69 | CPU: x86_64 70 | - first: 71 | Standalone: OSXUniversal 72 | second: 73 | enabled: 0 74 | settings: 75 | CPU: AnyCPU 76 | - first: 77 | Standalone: Win 78 | second: 79 | enabled: 0 80 | settings: 81 | CPU: AnyCPU 82 | - first: 83 | Standalone: Win64 84 | second: 85 | enabled: 0 86 | settings: 87 | CPU: AnyCPU 88 | - first: 89 | iPhone: iOS 90 | second: 91 | enabled: 1 92 | settings: 93 | CompileFlags: 94 | FrameworkDependencies: 95 | userData: 96 | assetBundleName: 97 | assetBundleVariant: 98 | -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeyAppUnityWrapper.m: -------------------------------------------------------------------------------- 1 | #import "HockeyAppUnity.h" 2 | 3 | static NSDictionary* ConvertPropertiesDictionary(char **keys, char **values, int count) { 4 | if (!keys || !values || !count) { 5 | return nil; 6 | } 7 | id result = [[NSMutableDictionary alloc] init]; 8 | for (int i = 0; i < count; i++) { 9 | NSString *key = [NSString stringWithUTF8String:keys[i]]; 10 | NSString *value = [NSString stringWithUTF8String:values[i]]; 11 | [result setValue:value forKey:key]; 12 | } 13 | return result; 14 | } 15 | 16 | static NSDictionary* ConvertMeasurementsDictionary(char **keys, double *values, int count) { 17 | if (!keys || !values || !count) { 18 | return nil; 19 | } 20 | id result = [[NSMutableDictionary alloc] init]; 21 | for (int i = 0; i < count; i++) { 22 | NSString *key = [NSString stringWithUTF8String:keys[i]]; 23 | NSNumber *value = [NSNumber numberWithDouble:values[i]]; 24 | [result setValue:value forKey:key]; 25 | } 26 | return result; 27 | } 28 | 29 | void HockeyApp_StartHockeyManager(char *appID, char *serverURL, char *authType, char *secret, 30 | bool updateManagerEnabled, bool userMetricsEnabled, bool autoSendEnabled) { 31 | [HockeyAppUnity startManagerWithIdentifier:[NSString stringWithUTF8String:appID] 32 | serverURL:[NSString stringWithUTF8String:serverURL] 33 | authType:[NSString stringWithUTF8String:authType] 34 | secret:[NSString stringWithUTF8String:secret] 35 | updateManagerEnabled:updateManagerEnabled 36 | userMetricsEnabled:userMetricsEnabled 37 | autoSendEnabled:autoSendEnabled]; 38 | } 39 | 40 | void HockeyApp_ShowFeedbackListView() { 41 | 42 | [HockeyAppUnity showFeedbackListView]; 43 | } 44 | 45 | void HockeyApp_CheckForUpdate() { 46 | 47 | [HockeyAppUnity checkForUpdate]; 48 | } 49 | 50 | void HockeyApp_TrackEvent(char *eventName) { 51 | [HockeyAppUnity trackEventWithName:[NSString stringWithUTF8String:eventName]]; 52 | } 53 | 54 | void HockeyApp_TrackEventWithPropertiesAndMeasurements(char *eventName, 55 | char **propertiesKeys, char **propertiesValues, int propertiesCount, 56 | char **measurementsKeys, double *measurementsValues, int measurementsCount) { 57 | [HockeyAppUnity trackEventWithName:[NSString stringWithUTF8String:eventName] 58 | properties:ConvertPropertiesDictionary(propertiesKeys, propertiesValues, propertiesCount) 59 | measurements:ConvertMeasurementsDictionary(measurementsKeys, measurementsValues, measurementsCount)]; 60 | } 61 | 62 | char* HockeyApp_GetVersionCode() { 63 | 64 | const char* versionCode = [[HockeyAppUnity versionCode] UTF8String]; 65 | char* res = (char*)malloc(strlen(versionCode) + 1); 66 | strcpy(res, versionCode); 67 | 68 | return res; 69 | } 70 | 71 | char* HockeyApp_GetVersionName() { 72 | 73 | const char* versionName = [[HockeyAppUnity versionName] UTF8String]; 74 | char* res = (char*)malloc(strlen(versionName) + 1); 75 | strcpy(res, versionName); 76 | 77 | return res; 78 | } 79 | 80 | char* HockeyApp_GetSdkVersion() { 81 | 82 | const char* sdkVersion = [[HockeyAppUnity sdkVersion] UTF8String]; 83 | char* res = (char*)malloc(strlen(sdkVersion) + 1); 84 | strcpy(res, sdkVersion); 85 | 86 | return res; 87 | } 88 | 89 | char* HockeyApp_GetSdkName() { 90 | 91 | const char* sdkName = [[HockeyAppUnity sdkName] UTF8String]; 92 | char* res = (char*)malloc(strlen(sdkName) + 1); 93 | strcpy(res, sdkName); 94 | 95 | return res; 96 | } 97 | 98 | char* HockeyApp_GetBundleIdentifier() { 99 | 100 | const char* bundleIdentifier = [[HockeyAppUnity bundleIdentifier] UTF8String]; 101 | char* res = (char*)malloc(strlen(bundleIdentifier) + 1); 102 | strcpy(res, bundleIdentifier); 103 | 104 | return res; 105 | } 106 | 107 | char* HockeyApp_GetCrashReporterKey() { 108 | 109 | const char* crashReporterKey = [[HockeyAppUnity crashReporterKey] UTF8String]; 110 | char* res = (char*)malloc(strlen(crashReporterKey) + 1); 111 | strcpy(res, crashReporterKey); 112 | 113 | return res; 114 | } 115 | -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeyAppUnityWrapper.m.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d27f84d264aa04264a69ccc7d1087e2e 3 | timeCreated: 1494500901 4 | licenseType: Pro 5 | PluginImporter: 6 | serializedVersion: 2 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | isOverridable: 0 11 | platformData: 12 | data: 13 | first: 14 | Any: 15 | second: 16 | enabled: 0 17 | settings: {} 18 | data: 19 | first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | data: 26 | first: 27 | iPhone: iOS 28 | second: 29 | enabled: 1 30 | settings: {} 31 | data: 32 | first: 33 | tvOS: tvOS 34 | second: 35 | enabled: 1 36 | settings: {} 37 | userData: 38 | assetBundleName: 39 | assetBundleVariant: 40 | -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 521e3443a25564ebbb844bcb74bab5be 3 | folderAsset: yes 4 | timeCreated: 1477907591 5 | licenseType: Pro 6 | PluginImporter: 7 | externalObjects: {} 8 | serializedVersion: 2 9 | iconMap: {} 10 | executionOrder: {} 11 | isPreloaded: 0 12 | isOverridable: 0 13 | platformData: 14 | - first: 15 | '': Any 16 | second: 17 | enabled: 0 18 | settings: 19 | Exclude Android: 1 20 | Exclude Editor: 1 21 | Exclude Linux: 1 22 | Exclude Linux64: 1 23 | Exclude LinuxUniversal: 1 24 | Exclude OSXUniversal: 1 25 | Exclude Win: 1 26 | Exclude Win64: 1 27 | Exclude iOS: 0 28 | - first: 29 | '': data 30 | second: 31 | enabled: 0 32 | settings: {} 33 | - first: 34 | Android: Android 35 | second: 36 | enabled: 0 37 | settings: 38 | CPU: ARMv7 39 | - first: 40 | Editor: Editor 41 | second: 42 | enabled: 0 43 | settings: 44 | CPU: AnyCPU 45 | DefaultValueInitialized: true 46 | OS: AnyOS 47 | - first: 48 | Facebook: Win 49 | second: 50 | enabled: 0 51 | settings: 52 | CPU: AnyCPU 53 | - first: 54 | Facebook: Win64 55 | second: 56 | enabled: 0 57 | settings: 58 | CPU: AnyCPU 59 | - first: 60 | Standalone: Linux 61 | second: 62 | enabled: 0 63 | settings: 64 | CPU: x86 65 | - first: 66 | Standalone: Linux64 67 | second: 68 | enabled: 0 69 | settings: 70 | CPU: x86_64 71 | - first: 72 | Standalone: OSXUniversal 73 | second: 74 | enabled: 0 75 | settings: 76 | CPU: AnyCPU 77 | - first: 78 | Standalone: Win 79 | second: 80 | enabled: 0 81 | settings: 82 | CPU: AnyCPU 83 | - first: 84 | Standalone: Win64 85 | second: 86 | enabled: 0 87 | settings: 88 | CPU: AnyCPU 89 | - first: 90 | iPhone: iOS 91 | second: 92 | enabled: 1 93 | settings: 94 | CompileFlags: 95 | FrameworkDependencies: 96 | userData: 97 | assetBundleName: 98 | assetBundleVariant: 99 | -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/AppIconPlaceHolder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/AppIconPlaceHolder.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/Arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/Arrow.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/Arrow@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/Arrow@2x.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/Arrow@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/Arrow@3x.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/Blur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/Blur.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/Blur@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/Blur@2x.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/Blur@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/Blur@3x.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/Cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/Cancel.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/Cancel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/Cancel@2x.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/Cancel@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/Cancel@3x.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/FeedbackPlaceholder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/FeedbackPlaceholder.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/IconGradient.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/IconGradient.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/IconGradient@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/IconGradient@2x.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/Info.plist -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/Ok.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/Ok.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/Ok@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/Ok@2x.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/Ok@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/Ok@3x.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/Rectangle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/Rectangle.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/Rectangle@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/Rectangle@2x.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/Rectangle@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/Rectangle@3x.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/authorize_denied.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/authorize_denied.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/authorize_denied@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/authorize_denied@2x.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/authorize_denied@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/authorize_denied@3x.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/bg.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/buttonRoundedDelete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/buttonRoundedDelete.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/buttonRoundedDelete@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/buttonRoundedDelete@2x.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/buttonRoundedDeleteHighlighted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/buttonRoundedDeleteHighlighted.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/buttonRoundedDeleteHighlighted@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/buttonRoundedDeleteHighlighted@2x.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/buttonRoundedRegular.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/buttonRoundedRegular.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/buttonRoundedRegular@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/buttonRoundedRegular@2x.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/buttonRoundedRegularHighlighted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/buttonRoundedRegularHighlighted.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/buttonRoundedRegularHighlighted@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/buttonRoundedRegularHighlighted@2x.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/de.lproj/HockeySDK.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/de.lproj/HockeySDK.strings -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/en.lproj/HockeySDK.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/en.lproj/HockeySDK.strings -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/es.lproj/HockeySDK.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/es.lproj/HockeySDK.strings -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/fa.lproj/HockeySDK.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/fa.lproj/HockeySDK.strings -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/feedbackActivity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/feedbackActivity.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/feedbackActivity@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/feedbackActivity@2x.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/feedbackActivity@2x~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/feedbackActivity@2x~ipad.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/feedbackActivity@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/feedbackActivity@3x.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/feedbackActivity~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/feedbackActivity~ipad.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/fr.lproj/HockeySDK.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/fr.lproj/HockeySDK.strings -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/hr.lproj/HockeySDK.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/hr.lproj/HockeySDK.strings -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/hu.lproj/HockeySDK.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/hu.lproj/HockeySDK.strings -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/iconCamera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/iconCamera.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/iconCamera@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/iconCamera@2x.png -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/it.lproj/HockeySDK.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/it.lproj/HockeySDK.strings -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/ja.lproj/HockeySDK.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/ja.lproj/HockeySDK.strings -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/nb.lproj/HockeySDK.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/nb.lproj/HockeySDK.strings -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/nl.lproj/HockeySDK.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/nl.lproj/HockeySDK.strings -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/pt-PT.lproj/HockeySDK.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/pt-PT.lproj/HockeySDK.strings -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/pt.lproj/HockeySDK.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/pt.lproj/HockeySDK.strings -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/ru.lproj/HockeySDK.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/ru.lproj/HockeySDK.strings -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/tr.lproj/HockeySDK.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/tr.lproj/HockeySDK.strings -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/zh-Hans.lproj/HockeySDK.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/HockeySDKResources.bundle/zh-Hans.lproj/HockeySDK.strings -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/README.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/README.pdf -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/libExamplePlugin.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/libExamplePlugin.a -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/libExamplePlugin.a.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a5474fb2da4e54b168450677f18521a9 3 | timeCreated: 1433451967 4 | licenseType: Pro 5 | PluginImporter: 6 | serializedVersion: 1 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | platformData: 11 | Android: 12 | enabled: 0 13 | settings: 14 | CPU: AnyCPU 15 | Any: 16 | enabled: 0 17 | settings: {} 18 | Editor: 19 | enabled: 0 20 | settings: 21 | CPU: AnyCPU 22 | DefaultValueInitialized: true 23 | OS: AnyOS 24 | Linux: 25 | enabled: 0 26 | settings: 27 | CPU: x86 28 | Linux64: 29 | enabled: 0 30 | settings: 31 | CPU: x86_64 32 | OSXIntel: 33 | enabled: 0 34 | settings: 35 | CPU: AnyCPU 36 | OSXIntel64: 37 | enabled: 0 38 | settings: 39 | CPU: AnyCPU 40 | SamsungTV: 41 | enabled: 0 42 | settings: 43 | STV_MODEL: STANDARD_13 44 | Win: 45 | enabled: 0 46 | settings: 47 | CPU: AnyCPU 48 | Win64: 49 | enabled: 0 50 | settings: 51 | CPU: AnyCPU 52 | iOS: 53 | enabled: 1 54 | settings: 55 | CompileFlags: 56 | FrameworkDependencies: 57 | userData: 58 | assetBundleName: 59 | assetBundleVariant: 60 | -------------------------------------------------------------------------------- /ExampleGame/Assets/HockeyAppUnityIOS/libHockeySDK-5.2.0.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/HockeyAppUnityIOS/libHockeySDK-5.2.0.a -------------------------------------------------------------------------------- /ExampleGame/Assets/TestScene.unity: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!29 &1 4 | OcclusionCullingSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_OcclusionBakeSettings: 8 | smallestOccluder: 5 9 | smallestHole: 0.25 10 | backfaceThreshold: 100 11 | m_SceneGUID: 00000000000000000000000000000000 12 | m_OcclusionCullingData: {fileID: 0} 13 | --- !u!104 &2 14 | RenderSettings: 15 | m_ObjectHideFlags: 0 16 | serializedVersion: 8 17 | m_Fog: 0 18 | m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} 19 | m_FogMode: 3 20 | m_FogDensity: 0.01 21 | m_LinearFogStart: 0 22 | m_LinearFogEnd: 300 23 | m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} 24 | m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} 25 | m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} 26 | m_AmbientIntensity: 1 27 | m_AmbientMode: 0 28 | m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} 29 | m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} 30 | m_HaloStrength: 0.5 31 | m_FlareStrength: 1 32 | m_FlareFadeSpeed: 3 33 | m_HaloTexture: {fileID: 0} 34 | m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} 35 | m_DefaultReflectionMode: 0 36 | m_DefaultReflectionResolution: 128 37 | m_ReflectionBounces: 1 38 | m_ReflectionIntensity: 1 39 | m_CustomReflection: {fileID: 0} 40 | m_Sun: {fileID: 0} 41 | m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} 42 | --- !u!157 &4 43 | LightmapSettings: 44 | m_ObjectHideFlags: 0 45 | serializedVersion: 11 46 | m_GIWorkflowMode: 1 47 | m_GISettings: 48 | serializedVersion: 2 49 | m_BounceScale: 1 50 | m_IndirectOutputScale: 1 51 | m_AlbedoBoost: 1 52 | m_TemporalCoherenceThreshold: 1 53 | m_EnvironmentLightingMode: 0 54 | m_EnableBakedLightmaps: 1 55 | m_EnableRealtimeLightmaps: 1 56 | m_LightmapEditorSettings: 57 | serializedVersion: 9 58 | m_Resolution: 2 59 | m_BakeResolution: 40 60 | m_TextureWidth: 1024 61 | m_TextureHeight: 1024 62 | m_AO: 0 63 | m_AOMaxDistance: 1 64 | m_CompAOExponent: 0 65 | m_CompAOExponentDirect: 0 66 | m_Padding: 2 67 | m_LightmapParameters: {fileID: 0} 68 | m_LightmapsBakeMode: 1 69 | m_TextureCompression: 1 70 | m_FinalGather: 0 71 | m_FinalGatherFiltering: 1 72 | m_FinalGatherRayCount: 1024 73 | m_ReflectionCompression: 2 74 | m_MixedBakeMode: 1 75 | m_BakeBackend: 0 76 | m_PVRSampling: 1 77 | m_PVRDirectSampleCount: 32 78 | m_PVRSampleCount: 500 79 | m_PVRBounces: 2 80 | m_PVRFilterTypeDirect: 0 81 | m_PVRFilterTypeIndirect: 0 82 | m_PVRFilterTypeAO: 0 83 | m_PVRFilteringMode: 0 84 | m_PVRCulling: 1 85 | m_PVRFilteringGaussRadiusDirect: 1 86 | m_PVRFilteringGaussRadiusIndirect: 5 87 | m_PVRFilteringGaussRadiusAO: 2 88 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5 89 | m_PVRFilteringAtrousPositionSigmaIndirect: 2 90 | m_PVRFilteringAtrousPositionSigmaAO: 1 91 | m_LightingDataAsset: {fileID: 0} 92 | m_UseShadowmask: 0 93 | --- !u!196 &5 94 | NavMeshSettings: 95 | serializedVersion: 2 96 | m_ObjectHideFlags: 0 97 | m_BuildSettings: 98 | serializedVersion: 2 99 | agentTypeID: 0 100 | agentRadius: 0.5 101 | agentHeight: 2 102 | agentSlope: 45 103 | agentClimb: 0.4 104 | ledgeDropHeight: 0 105 | maxJumpAcrossDistance: 0 106 | minRegionArea: 2 107 | manualCellSize: 0 108 | cellSize: 0.16666667 109 | manualTileSize: 0 110 | tileSize: 256 111 | accuratePlacement: 0 112 | debug: 113 | m_Flags: 0 114 | m_NavMeshData: {fileID: 0} 115 | --- !u!1 &46226169 116 | GameObject: 117 | m_ObjectHideFlags: 0 118 | m_PrefabParentObject: {fileID: 0} 119 | m_PrefabInternal: {fileID: 0} 120 | serializedVersion: 5 121 | m_Component: 122 | - component: {fileID: 46226171} 123 | - component: {fileID: 46226170} 124 | m_Layer: 0 125 | m_Name: HockeyAppUnityIOS 126 | m_TagString: Untagged 127 | m_Icon: {fileID: 0} 128 | m_NavMeshLayer: 0 129 | m_StaticEditorFlags: 0 130 | m_IsActive: 1 131 | --- !u!114 &46226170 132 | MonoBehaviour: 133 | m_ObjectHideFlags: 0 134 | m_PrefabParentObject: {fileID: 0} 135 | m_PrefabInternal: {fileID: 0} 136 | m_GameObject: {fileID: 46226169} 137 | m_Enabled: 1 138 | m_EditorHideFlags: 0 139 | m_Script: {fileID: 11500000, guid: 9988a4f0ea7cd451b957935d6ba405eb, type: 3} 140 | m_Name: 141 | m_EditorClassIdentifier: 142 | appID: your-hockey-app-id 143 | serverURL: your-custom-server-url 144 | authenticatorType: 0 145 | secret: your-hockey-app-secret 146 | autoUploadCrashes: 0 147 | exceptionLogging: 1 148 | userMetrics: 1 149 | updateAlert: 1 150 | --- !u!4 &46226171 151 | Transform: 152 | m_ObjectHideFlags: 0 153 | m_PrefabParentObject: {fileID: 0} 154 | m_PrefabInternal: {fileID: 0} 155 | m_GameObject: {fileID: 46226169} 156 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 157 | m_LocalPosition: {x: 0, y: 0, z: 0} 158 | m_LocalScale: {x: 1, y: 1, z: 1} 159 | m_Children: [] 160 | m_Father: {fileID: 0} 161 | m_RootOrder: 1 162 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 163 | --- !u!1 &445169821 164 | GameObject: 165 | m_ObjectHideFlags: 0 166 | m_PrefabParentObject: {fileID: 0} 167 | m_PrefabInternal: {fileID: 0} 168 | serializedVersion: 5 169 | m_Component: 170 | - component: {fileID: 445169827} 171 | - component: {fileID: 445169826} 172 | - component: {fileID: 445169825} 173 | - component: {fileID: 445169824} 174 | - component: {fileID: 445169823} 175 | - component: {fileID: 445169822} 176 | m_Layer: 0 177 | m_Name: Camera 178 | m_TagString: Untagged 179 | m_Icon: {fileID: 0} 180 | m_NavMeshLayer: 0 181 | m_StaticEditorFlags: 0 182 | m_IsActive: 1 183 | --- !u!114 &445169822 184 | MonoBehaviour: 185 | m_ObjectHideFlags: 0 186 | m_PrefabParentObject: {fileID: 0} 187 | m_PrefabInternal: {fileID: 0} 188 | m_GameObject: {fileID: 445169821} 189 | m_Enabled: 1 190 | m_EditorHideFlags: 0 191 | m_Script: {fileID: 11500000, guid: 7453863bc32a44d8d875d5f68721c3f6, type: 3} 192 | m_Name: 193 | m_EditorClassIdentifier: 194 | customUISkin: {fileID: 11400000, guid: d7fb91a8c54f149948c667b9f0e70c96, type: 2} 195 | --- !u!81 &445169823 196 | AudioListener: 197 | m_ObjectHideFlags: 0 198 | m_PrefabParentObject: {fileID: 0} 199 | m_PrefabInternal: {fileID: 0} 200 | m_GameObject: {fileID: 445169821} 201 | m_Enabled: 1 202 | --- !u!92 &445169824 203 | Behaviour: 204 | m_ObjectHideFlags: 0 205 | m_PrefabParentObject: {fileID: 0} 206 | m_PrefabInternal: {fileID: 0} 207 | m_GameObject: {fileID: 445169821} 208 | m_Enabled: 1 209 | --- !u!124 &445169825 210 | Behaviour: 211 | m_ObjectHideFlags: 0 212 | m_PrefabParentObject: {fileID: 0} 213 | m_PrefabInternal: {fileID: 0} 214 | m_GameObject: {fileID: 445169821} 215 | m_Enabled: 1 216 | --- !u!20 &445169826 217 | Camera: 218 | m_ObjectHideFlags: 0 219 | m_PrefabParentObject: {fileID: 0} 220 | m_PrefabInternal: {fileID: 0} 221 | m_GameObject: {fileID: 445169821} 222 | m_Enabled: 1 223 | serializedVersion: 2 224 | m_ClearFlags: 2 225 | m_BackGroundColor: {r: 1, g: 1, b: 1, a: 0.019607844} 226 | m_NormalizedViewPortRect: 227 | serializedVersion: 2 228 | x: 0 229 | y: 0 230 | width: 1 231 | height: 1 232 | near clip plane: 0.3 233 | far clip plane: 1000 234 | field of view: 60 235 | orthographic: 0 236 | orthographic size: 5 237 | m_Depth: 0 238 | m_CullingMask: 239 | serializedVersion: 2 240 | m_Bits: 4294967295 241 | m_RenderingPath: -1 242 | m_TargetTexture: {fileID: 0} 243 | m_TargetDisplay: 0 244 | m_TargetEye: 3 245 | m_HDR: 0 246 | m_AllowMSAA: 1 247 | m_AllowDynamicResolution: 0 248 | m_ForceIntoRT: 0 249 | m_OcclusionCulling: 1 250 | m_StereoConvergence: 10 251 | m_StereoSeparation: 0.022 252 | --- !u!4 &445169827 253 | Transform: 254 | m_ObjectHideFlags: 0 255 | m_PrefabParentObject: {fileID: 0} 256 | m_PrefabInternal: {fileID: 0} 257 | m_GameObject: {fileID: 445169821} 258 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 259 | m_LocalPosition: {x: 0, y: 0, z: 0} 260 | m_LocalScale: {x: 1, y: 1, z: 1} 261 | m_Children: [] 262 | m_Father: {fileID: 0} 263 | m_RootOrder: 0 264 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 265 | -------------------------------------------------------------------------------- /ExampleGame/Assets/TestScene.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3fb2fbd8250074a3a8c2c03020e97ea5 3 | timeCreated: 1433451947 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /ExampleGame/Assets/TestUI.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f2341526a3d0246bc859279a6d6fdbd2 3 | folderAsset: yes 4 | timeCreated: 1424082600 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /ExampleGame/Assets/TestUI/Ressources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 033d017c1f17d40cab9c64ee75c082f4 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /ExampleGame/Assets/TestUI/Ressources/btn_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/TestUI/Ressources/btn_active.png -------------------------------------------------------------------------------- /ExampleGame/Assets/TestUI/Ressources/btn_active.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aa363a8f65df74a90b43e6a9ded9d668 3 | timeCreated: 1433451961 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: .25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 8 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -1 30 | maxTextureSize: 64 31 | textureSettings: 32 | filterMode: -1 33 | aniso: 1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | spriteMode: 1 41 | spriteExtrude: 1 42 | spriteMeshType: 1 43 | alignment: 0 44 | spritePivot: {x: .5, y: .5} 45 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 46 | spritePixelsToUnits: 64 47 | alphaIsTransparency: 1 48 | textureType: 8 49 | buildTargetSettings: [] 50 | spriteSheet: 51 | sprites: [] 52 | spritePackingTag: 53 | userData: 54 | assetBundleName: 55 | assetBundleVariant: 56 | -------------------------------------------------------------------------------- /ExampleGame/Assets/TestUI/Ressources/btn_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/ExampleGame/Assets/TestUI/Ressources/btn_normal.png -------------------------------------------------------------------------------- /ExampleGame/Assets/TestUI/Ressources/btn_normal.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 33cfd0245ea97475f9cdfff3a86ddfce 3 | timeCreated: 1433451955 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: .25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 8 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -1 30 | maxTextureSize: 64 31 | textureSettings: 32 | filterMode: -1 33 | aniso: 1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | spriteMode: 1 41 | spriteExtrude: 1 42 | spriteMeshType: 1 43 | alignment: 0 44 | spritePivot: {x: .5, y: .5} 45 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 46 | spritePixelsToUnits: 64 47 | alphaIsTransparency: 1 48 | textureType: 8 49 | buildTargetSettings: [] 50 | spriteSheet: 51 | sprites: [] 52 | spritePackingTag: 53 | userData: 54 | assetBundleName: 55 | assetBundleVariant: 56 | -------------------------------------------------------------------------------- /ExampleGame/Assets/TestUI/TestUI.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System; 3 | using System.Collections; 4 | using System.Collections.Generic; 5 | using System.Runtime.InteropServices; 6 | 7 | public class TestUI : MonoBehaviour{ 8 | 9 | public GUISkin customUISkin; 10 | private int controlHeight = 60; 11 | private int horizontalMargin = 16; 12 | private int space = 16; 13 | 14 | #if (UNITY_IPHONE && !UNITY_EDITOR) 15 | [DllImport("__Internal")] 16 | private static extern void ExamplePlugin_ForceAppCrash(); 17 | #endif 18 | 19 | void OnGUI(){ 20 | 21 | AutoResize (640, 1136); 22 | GUI.skin = customUISkin; 23 | 24 | GUI.Label(GetControlRect(1), "Choose an exception type"); 25 | 26 | if(GUI.Button(GetControlRect(2), "Divide By Zero")) 27 | { 28 | 29 | int i = 0; 30 | i = 5 / i; 31 | } 32 | 33 | if(GUI.Button(GetControlRect(3), "Native Code Crash")) 34 | { 35 | ForceAppCrash(); 36 | } 37 | 38 | if(GUI.Button(GetControlRect(4), "Index Out Of Range")) 39 | { 40 | string[] arr = new string[3]; 41 | arr[4] = "Out of Range"; 42 | } 43 | 44 | if(GUI.Button(GetControlRect(5), "Custom Exception")) 45 | { 46 | throw new Exception("My Custom Exception"); 47 | } 48 | 49 | if(GUI.Button(GetControlRect(6), "Custom Coroutine Exception")) 50 | { 51 | StartCoroutine(CorutineCrash()); 52 | } 53 | 54 | if(GUI.Button(GetControlRect(7), "Handled Null Pointer Exception")) 55 | { 56 | try { 57 | NullReferenceException(); 58 | } catch (Exception e) { 59 | throw new Exception("Null Pointer Exception"); 60 | } 61 | } 62 | 63 | if(GUI.Button(GetControlRect(8), "Null Pointer Exception")) 64 | { 65 | NullReferenceException(); 66 | } 67 | 68 | if(GUI.Button(GetControlRect(9), "Coroutine Null Exception")) 69 | { 70 | StartCoroutine(CorutineNullCrash()); 71 | } 72 | 73 | GUI.Label(GetControlRect(10), "Features"); 74 | 75 | if(GUI.Button(GetControlRect(11), "Check For Update")) 76 | { 77 | CheckForUpdate(); 78 | } 79 | 80 | if(GUI.Button(GetControlRect(12), "Check For Update")) 81 | { 82 | CheckForUpdate(); 83 | } 84 | 85 | if (GUI.Button(GetControlRect(13), "Track Event")) 86 | { 87 | TrackEvent(); 88 | } 89 | } 90 | public void AutoResize(int screenWidth, int screenHeight){ 91 | 92 | Vector2 resizeRatio = new Vector2((float)Screen.width / screenWidth, (float)Screen.height / screenHeight); 93 | GUI.matrix = Matrix4x4.TRS(Vector3.zero, Quaternion.identity, new Vector3(resizeRatio.x, resizeRatio.y, 1.0f)); 94 | } 95 | 96 | System.Collections.IEnumerator CorutineNullCrash(){ 97 | 98 | string crash = null; 99 | crash = crash.ToLower(); 100 | yield break; 101 | } 102 | 103 | System.Collections.IEnumerator CorutineCrash(){ 104 | 105 | throw new Exception("Custom Coroutine Exception"); 106 | } 107 | 108 | private Rect GetControlRect(int controlIndex){ 109 | 110 | return new Rect (horizontalMargin, 111 | controlIndex * (controlHeight + space), 112 | 640 - (2 * horizontalMargin), 113 | controlHeight); 114 | } 115 | 116 | public void NullReferenceException(){ 117 | object testObject = null; 118 | testObject.GetHashCode(); 119 | } 120 | 121 | public void ForceAppCrash(){ 122 | 123 | #if (UNITY_IPHONE && !UNITY_EDITOR) 124 | ExamplePlugin_ForceAppCrash(); 125 | #endif 126 | } 127 | 128 | public void CheckForUpdate(){ 129 | Debug.Log("CheckForUpdate"); 130 | HockeyAppIOS.CheckForUpdate (); 131 | } 132 | 133 | public void ShowFeedbackForm(){ 134 | Debug.Log("ShowFeedbackForm"); 135 | HockeyAppIOS.ShowFeedbackForm (); 136 | } 137 | public void TrackEvent(){ 138 | HockeyAppIOS.TrackEvent("Test Unity"); 139 | HockeyAppIOS.TrackEvent("Test Unity with properties and measurements", 140 | new Dictionary { { "Prop1", "Val1" }, { "Prop2", "Val2" } }, 141 | new Dictionary { { "M1", 1.0 }, { "M2", 2.0 } }); 142 | } 143 | } -------------------------------------------------------------------------------- /ExampleGame/Assets/TestUI/TestUI.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7453863bc32a44d8d875d5f68721c3f6 3 | timeCreated: 1433451948 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: 8 | - customUISkin: {fileID: 11400000, guid: d7fb91a8c54f149948c667b9f0e70c96, type: 2} 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /ExampleGame/Assets/TestUI/TestUISkin.guiskin.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d7fb91a8c54f149948c667b9f0e70c96 3 | timeCreated: 1433451967 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /ExampleGame/ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | m_Volume: 1 7 | Rolloff Scale: 1 8 | Doppler Factor: 1 9 | Default Speaker Mode: 2 10 | m_SampleRate: 0 11 | m_DSPBufferSize: 0 12 | m_VirtualVoiceCount: 512 13 | m_RealVoiceCount: 32 14 | m_SpatializerPlugin: 15 | m_AmbisonicDecoderPlugin: 16 | m_DisableAudio: 0 17 | m_VirtualizeEffects: 1 18 | -------------------------------------------------------------------------------- /ExampleGame/ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /ExampleGame/ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 7 7 | m_Gravity: {x: 0, y: -9.81, z: 0} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_BounceThreshold: 2 10 | m_SleepThreshold: 0.005 11 | m_DefaultContactOffset: 0.01 12 | m_DefaultSolverIterations: 6 13 | m_DefaultSolverVelocityIterations: 1 14 | m_QueriesHitBackfaces: 0 15 | m_QueriesHitTriggers: 1 16 | m_EnableAdaptiveForce: 0 17 | m_ClothInterCollisionDistance: 0 18 | m_ClothInterCollisionStiffness: 0 19 | m_ContactsGeneration: 1 20 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 21 | m_AutoSimulation: 1 22 | m_AutoSyncTransforms: 1 23 | m_ClothInterCollisionSettingsToggle: 0 24 | m_ContactPairsMode: 0 25 | m_BroadphaseType: 0 26 | m_WorldBounds: 27 | m_Center: {x: 0, y: 0, z: 0} 28 | m_Extent: {x: 250, y: 250, z: 250} 29 | m_WorldSubdivisions: 8 30 | -------------------------------------------------------------------------------- /ExampleGame/ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: 8 | - enabled: 1 9 | path: Assets/TestScene.unity 10 | guid: 00000000000000000000000000000000 11 | -------------------------------------------------------------------------------- /ExampleGame/ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!159 &1 4 | EditorSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 7 7 | m_ExternalVersionControlSupport: Hidden Meta Files 8 | m_SerializationMode: 2 9 | m_LineEndingsForNewScripts: 1 10 | m_DefaultBehaviorMode: 0 11 | m_SpritePackerMode: 2 12 | m_SpritePackerPaddingPower: 1 13 | m_EtcTextureCompressorBehavior: 0 14 | m_EtcTextureFastCompressor: 2 15 | m_EtcTextureNormalCompressor: 2 16 | m_EtcTextureBestCompressor: 5 17 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp 18 | m_ProjectGenerationRootNamespace: 19 | m_UserGeneratedProjectSuffix: 20 | m_CollabEditorSettings: 21 | inProgressEnabled: 1 22 | -------------------------------------------------------------------------------- /ExampleGame/ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!30 &1 4 | GraphicsSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 12 7 | m_Deferred: 8 | m_Mode: 1 9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} 10 | m_DeferredReflections: 11 | m_Mode: 1 12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} 13 | m_ScreenSpaceShadows: 14 | m_Mode: 1 15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} 16 | m_LegacyDeferred: 17 | m_Mode: 1 18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} 19 | m_DepthNormals: 20 | m_Mode: 1 21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} 22 | m_MotionVectors: 23 | m_Mode: 1 24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} 25 | m_LightHalo: 26 | m_Mode: 1 27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} 28 | m_LensFlare: 29 | m_Mode: 1 30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} 31 | m_AlwaysIncludedShaders: 32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} 34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} 35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} 36 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} 37 | - {fileID: 10782, guid: 0000000000000000f000000000000000, type: 0} 38 | - {fileID: 17000, guid: 0000000000000000f000000000000000, type: 0} 39 | - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0} 40 | m_PreloadedShaders: [] 41 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, 42 | type: 0} 43 | m_CustomRenderPipeline: {fileID: 0} 44 | m_TransparencySortMode: 0 45 | m_TransparencySortAxis: {x: 0, y: 0, z: 1} 46 | m_DefaultRenderingPath: 1 47 | m_DefaultMobileRenderingPath: 1 48 | m_TierSettings: [] 49 | m_LightmapStripping: 0 50 | m_FogStripping: 0 51 | m_InstancingStripping: 0 52 | m_LightmapKeepPlain: 1 53 | m_LightmapKeepDirCombined: 1 54 | m_LightmapKeepDynamicPlain: 1 55 | m_LightmapKeepDynamicDirCombined: 1 56 | m_LightmapKeepShadowMask: 1 57 | m_LightmapKeepSubtractive: 1 58 | m_FogKeepLinear: 1 59 | m_FogKeepExp: 1 60 | m_FogKeepExp2: 1 61 | m_AlbedoSwatchInfos: [] 62 | m_LightsUseLinearIntensity: 0 63 | m_LightsUseColorTemperature: 0 64 | -------------------------------------------------------------------------------- /ExampleGame/ProjectSettings/InputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!13 &1 4 | InputManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Axes: 8 | - serializedVersion: 3 9 | m_Name: Horizontal 10 | descriptiveName: 11 | descriptiveNegativeName: 12 | negativeButton: left 13 | positiveButton: right 14 | altNegativeButton: a 15 | altPositiveButton: d 16 | gravity: 3 17 | dead: 0.001 18 | sensitivity: 3 19 | snap: 1 20 | invert: 0 21 | type: 0 22 | axis: 0 23 | joyNum: 0 24 | - serializedVersion: 3 25 | m_Name: Vertical 26 | descriptiveName: 27 | descriptiveNegativeName: 28 | negativeButton: down 29 | positiveButton: up 30 | altNegativeButton: s 31 | altPositiveButton: w 32 | gravity: 3 33 | dead: 0.001 34 | sensitivity: 3 35 | snap: 1 36 | invert: 0 37 | type: 0 38 | axis: 0 39 | joyNum: 0 40 | - serializedVersion: 3 41 | m_Name: Fire1 42 | descriptiveName: 43 | descriptiveNegativeName: 44 | negativeButton: 45 | positiveButton: left ctrl 46 | altNegativeButton: 47 | altPositiveButton: mouse 0 48 | gravity: 1000 49 | dead: 0.001 50 | sensitivity: 1000 51 | snap: 0 52 | invert: 0 53 | type: 0 54 | axis: 0 55 | joyNum: 0 56 | - serializedVersion: 3 57 | m_Name: Fire2 58 | descriptiveName: 59 | descriptiveNegativeName: 60 | negativeButton: 61 | positiveButton: left alt 62 | altNegativeButton: 63 | altPositiveButton: mouse 1 64 | gravity: 1000 65 | dead: 0.001 66 | sensitivity: 1000 67 | snap: 0 68 | invert: 0 69 | type: 0 70 | axis: 0 71 | joyNum: 0 72 | - serializedVersion: 3 73 | m_Name: Fire3 74 | descriptiveName: 75 | descriptiveNegativeName: 76 | negativeButton: 77 | positiveButton: left cmd 78 | altNegativeButton: 79 | altPositiveButton: mouse 2 80 | gravity: 1000 81 | dead: 0.001 82 | sensitivity: 1000 83 | snap: 0 84 | invert: 0 85 | type: 0 86 | axis: 0 87 | joyNum: 0 88 | - serializedVersion: 3 89 | m_Name: Jump 90 | descriptiveName: 91 | descriptiveNegativeName: 92 | negativeButton: 93 | positiveButton: space 94 | altNegativeButton: 95 | altPositiveButton: 96 | gravity: 1000 97 | dead: 0.001 98 | sensitivity: 1000 99 | snap: 0 100 | invert: 0 101 | type: 0 102 | axis: 0 103 | joyNum: 0 104 | - serializedVersion: 3 105 | m_Name: Mouse X 106 | descriptiveName: 107 | descriptiveNegativeName: 108 | negativeButton: 109 | positiveButton: 110 | altNegativeButton: 111 | altPositiveButton: 112 | gravity: 0 113 | dead: 0 114 | sensitivity: 0.1 115 | snap: 0 116 | invert: 0 117 | type: 1 118 | axis: 0 119 | joyNum: 0 120 | - serializedVersion: 3 121 | m_Name: Mouse Y 122 | descriptiveName: 123 | descriptiveNegativeName: 124 | negativeButton: 125 | positiveButton: 126 | altNegativeButton: 127 | altPositiveButton: 128 | gravity: 0 129 | dead: 0 130 | sensitivity: 0.1 131 | snap: 0 132 | invert: 0 133 | type: 1 134 | axis: 1 135 | joyNum: 0 136 | - serializedVersion: 3 137 | m_Name: Mouse ScrollWheel 138 | descriptiveName: 139 | descriptiveNegativeName: 140 | negativeButton: 141 | positiveButton: 142 | altNegativeButton: 143 | altPositiveButton: 144 | gravity: 0 145 | dead: 0 146 | sensitivity: 0.1 147 | snap: 0 148 | invert: 0 149 | type: 1 150 | axis: 2 151 | joyNum: 0 152 | - serializedVersion: 3 153 | m_Name: Horizontal 154 | descriptiveName: 155 | descriptiveNegativeName: 156 | negativeButton: 157 | positiveButton: 158 | altNegativeButton: 159 | altPositiveButton: 160 | gravity: 0 161 | dead: 0.19 162 | sensitivity: 1 163 | snap: 0 164 | invert: 0 165 | type: 2 166 | axis: 0 167 | joyNum: 0 168 | - serializedVersion: 3 169 | m_Name: Vertical 170 | descriptiveName: 171 | descriptiveNegativeName: 172 | negativeButton: 173 | positiveButton: 174 | altNegativeButton: 175 | altPositiveButton: 176 | gravity: 0 177 | dead: 0.19 178 | sensitivity: 1 179 | snap: 0 180 | invert: 1 181 | type: 2 182 | axis: 1 183 | joyNum: 0 184 | - serializedVersion: 3 185 | m_Name: Fire1 186 | descriptiveName: 187 | descriptiveNegativeName: 188 | negativeButton: 189 | positiveButton: joystick button 0 190 | altNegativeButton: 191 | altPositiveButton: 192 | gravity: 1000 193 | dead: 0.001 194 | sensitivity: 1000 195 | snap: 0 196 | invert: 0 197 | type: 0 198 | axis: 0 199 | joyNum: 0 200 | - serializedVersion: 3 201 | m_Name: Fire2 202 | descriptiveName: 203 | descriptiveNegativeName: 204 | negativeButton: 205 | positiveButton: joystick button 1 206 | altNegativeButton: 207 | altPositiveButton: 208 | gravity: 1000 209 | dead: 0.001 210 | sensitivity: 1000 211 | snap: 0 212 | invert: 0 213 | type: 0 214 | axis: 0 215 | joyNum: 0 216 | - serializedVersion: 3 217 | m_Name: Fire3 218 | descriptiveName: 219 | descriptiveNegativeName: 220 | negativeButton: 221 | positiveButton: joystick button 2 222 | altNegativeButton: 223 | altPositiveButton: 224 | gravity: 1000 225 | dead: 0.001 226 | sensitivity: 1000 227 | snap: 0 228 | invert: 0 229 | type: 0 230 | axis: 0 231 | joyNum: 0 232 | - serializedVersion: 3 233 | m_Name: Jump 234 | descriptiveName: 235 | descriptiveNegativeName: 236 | negativeButton: 237 | positiveButton: joystick button 3 238 | altNegativeButton: 239 | altPositiveButton: 240 | gravity: 1000 241 | dead: 0.001 242 | sensitivity: 1000 243 | snap: 0 244 | invert: 0 245 | type: 0 246 | axis: 0 247 | joyNum: 0 248 | - serializedVersion: 3 249 | m_Name: Submit 250 | descriptiveName: 251 | descriptiveNegativeName: 252 | negativeButton: 253 | positiveButton: return 254 | altNegativeButton: 255 | altPositiveButton: joystick button 0 256 | gravity: 1000 257 | dead: 0.001 258 | sensitivity: 1000 259 | snap: 0 260 | invert: 0 261 | type: 0 262 | axis: 0 263 | joyNum: 0 264 | - serializedVersion: 3 265 | m_Name: Submit 266 | descriptiveName: 267 | descriptiveNegativeName: 268 | negativeButton: 269 | positiveButton: enter 270 | altNegativeButton: 271 | altPositiveButton: space 272 | gravity: 1000 273 | dead: 0.001 274 | sensitivity: 1000 275 | snap: 0 276 | invert: 0 277 | type: 0 278 | axis: 0 279 | joyNum: 0 280 | - serializedVersion: 3 281 | m_Name: Cancel 282 | descriptiveName: 283 | descriptiveNegativeName: 284 | negativeButton: 285 | positiveButton: escape 286 | altNegativeButton: 287 | altPositiveButton: joystick button 1 288 | gravity: 1000 289 | dead: 0.001 290 | sensitivity: 1000 291 | snap: 0 292 | invert: 0 293 | type: 0 294 | axis: 0 295 | joyNum: 0 296 | -------------------------------------------------------------------------------- /ExampleGame/ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshProjectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | areas: 8 | - name: Walkable 9 | cost: 1 10 | - name: Not Walkable 11 | cost: 1 12 | - name: Jump 13 | cost: 2 14 | - name: 15 | cost: 1 16 | - name: 17 | cost: 1 18 | - name: 19 | cost: 1 20 | - name: 21 | cost: 1 22 | - name: 23 | cost: 1 24 | - name: 25 | cost: 1 26 | - name: 27 | cost: 1 28 | - name: 29 | cost: 1 30 | - name: 31 | cost: 1 32 | - name: 33 | cost: 1 34 | - name: 35 | cost: 1 36 | - name: 37 | cost: 1 38 | - name: 39 | cost: 1 40 | - name: 41 | cost: 1 42 | - name: 43 | cost: 1 44 | - name: 45 | cost: 1 46 | - name: 47 | cost: 1 48 | - name: 49 | cost: 1 50 | - name: 51 | cost: 1 52 | - name: 53 | cost: 1 54 | - name: 55 | cost: 1 56 | - name: 57 | cost: 1 58 | - name: 59 | cost: 1 60 | - name: 61 | cost: 1 62 | - name: 63 | cost: 1 64 | - name: 65 | cost: 1 66 | - name: 67 | cost: 1 68 | - name: 69 | cost: 1 70 | - name: 71 | cost: 1 72 | m_LastAgentTypeID: -887442657 73 | m_Settings: 74 | - serializedVersion: 2 75 | agentTypeID: 0 76 | agentRadius: 0.5 77 | agentHeight: 2 78 | agentSlope: 45 79 | agentClimb: 0.75 80 | ledgeDropHeight: 0 81 | maxJumpAcrossDistance: 0 82 | minRegionArea: 2 83 | manualCellSize: 0 84 | cellSize: 0.16666667 85 | manualTileSize: 0 86 | tileSize: 256 87 | accuratePlacement: 0 88 | debug: 89 | m_Flags: 0 90 | m_SettingNames: 91 | - Humanoid 92 | -------------------------------------------------------------------------------- /ExampleGame/ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!149 &1 4 | NetworkManager: 5 | m_ObjectHideFlags: 0 6 | m_DebugLevel: 0 7 | m_Sendrate: 15 8 | m_AssetToPrefab: {} 9 | -------------------------------------------------------------------------------- /ExampleGame/ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!19 &1 4 | Physics2DSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 3 7 | m_Gravity: {x: 0, y: -9.81} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_VelocityIterations: 8 10 | m_PositionIterations: 3 11 | m_VelocityThreshold: 1 12 | m_MaxLinearCorrection: 0.2 13 | m_MaxAngularCorrection: 8 14 | m_MaxTranslationSpeed: 100 15 | m_MaxRotationSpeed: 360 16 | m_BaumgarteScale: 0.2 17 | m_BaumgarteTimeOfImpactScale: 0.75 18 | m_TimeToSleep: 0.5 19 | m_LinearSleepTolerance: 0.01 20 | m_AngularSleepTolerance: 2 21 | m_DefaultContactOffset: 0.01 22 | m_AutoSimulation: 1 23 | m_QueriesHitTriggers: 1 24 | m_QueriesStartInColliders: 1 25 | m_ChangeStopsCallbacks: 0 26 | m_CallbacksOnDisable: 1 27 | m_AutoSyncTransforms: 1 28 | m_AlwaysShowColliders: 0 29 | m_ShowColliderSleep: 1 30 | m_ShowColliderContacts: 0 31 | m_ShowColliderAABB: 0 32 | m_ContactArrowScale: 0.2 33 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} 34 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} 35 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} 36 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} 37 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 38 | -------------------------------------------------------------------------------- /ExampleGame/ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2017.3.0f2 2 | -------------------------------------------------------------------------------- /ExampleGame/ProjectSettings/QualitySettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!47 &1 4 | QualitySettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 5 7 | m_CurrentQuality: 5 8 | m_QualitySettings: 9 | - serializedVersion: 2 10 | name: Fastest 11 | pixelLightCount: 0 12 | shadows: 0 13 | shadowResolution: 0 14 | shadowProjection: 1 15 | shadowCascades: 1 16 | shadowDistance: 15 17 | shadowNearPlaneOffset: 3 18 | shadowCascade2Split: 0.33333334 19 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 20 | shadowmaskMode: 0 21 | blendWeights: 1 22 | textureQuality: 1 23 | anisotropicTextures: 0 24 | antiAliasing: 0 25 | softParticles: 0 26 | softVegetation: 0 27 | realtimeReflectionProbes: 0 28 | billboardsFaceCameraPosition: 0 29 | vSyncCount: 0 30 | lodBias: 0.3 31 | maximumLODLevel: 0 32 | particleRaycastBudget: 4 33 | asyncUploadTimeSlice: 2 34 | asyncUploadBufferSize: 4 35 | resolutionScalingFixedDPIFactor: 1 36 | excludedTargetPlatforms: [] 37 | - serializedVersion: 2 38 | name: Fast 39 | pixelLightCount: 0 40 | shadows: 0 41 | shadowResolution: 0 42 | shadowProjection: 1 43 | shadowCascades: 1 44 | shadowDistance: 20 45 | shadowNearPlaneOffset: 3 46 | shadowCascade2Split: 0.33333334 47 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 48 | shadowmaskMode: 0 49 | blendWeights: 2 50 | textureQuality: 0 51 | anisotropicTextures: 0 52 | antiAliasing: 0 53 | softParticles: 0 54 | softVegetation: 0 55 | realtimeReflectionProbes: 0 56 | billboardsFaceCameraPosition: 0 57 | vSyncCount: 0 58 | lodBias: 0.4 59 | maximumLODLevel: 0 60 | particleRaycastBudget: 16 61 | asyncUploadTimeSlice: 2 62 | asyncUploadBufferSize: 4 63 | resolutionScalingFixedDPIFactor: 1 64 | excludedTargetPlatforms: [] 65 | - serializedVersion: 2 66 | name: Simple 67 | pixelLightCount: 1 68 | shadows: 1 69 | shadowResolution: 0 70 | shadowProjection: 1 71 | shadowCascades: 1 72 | shadowDistance: 20 73 | shadowNearPlaneOffset: 3 74 | shadowCascade2Split: 0.33333334 75 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 76 | shadowmaskMode: 0 77 | blendWeights: 2 78 | textureQuality: 0 79 | anisotropicTextures: 1 80 | antiAliasing: 0 81 | softParticles: 0 82 | softVegetation: 0 83 | realtimeReflectionProbes: 0 84 | billboardsFaceCameraPosition: 0 85 | vSyncCount: 0 86 | lodBias: 0.7 87 | maximumLODLevel: 0 88 | particleRaycastBudget: 64 89 | asyncUploadTimeSlice: 2 90 | asyncUploadBufferSize: 4 91 | resolutionScalingFixedDPIFactor: 1 92 | excludedTargetPlatforms: [] 93 | - serializedVersion: 2 94 | name: Good 95 | pixelLightCount: 2 96 | shadows: 2 97 | shadowResolution: 1 98 | shadowProjection: 1 99 | shadowCascades: 2 100 | shadowDistance: 40 101 | shadowNearPlaneOffset: 3 102 | shadowCascade2Split: 0.33333334 103 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 104 | shadowmaskMode: 1 105 | blendWeights: 2 106 | textureQuality: 0 107 | anisotropicTextures: 1 108 | antiAliasing: 0 109 | softParticles: 0 110 | softVegetation: 1 111 | realtimeReflectionProbes: 1 112 | billboardsFaceCameraPosition: 1 113 | vSyncCount: 1 114 | lodBias: 1 115 | maximumLODLevel: 0 116 | particleRaycastBudget: 256 117 | asyncUploadTimeSlice: 2 118 | asyncUploadBufferSize: 4 119 | resolutionScalingFixedDPIFactor: 1 120 | excludedTargetPlatforms: [] 121 | - serializedVersion: 2 122 | name: Beautiful 123 | pixelLightCount: 3 124 | shadows: 2 125 | shadowResolution: 2 126 | shadowProjection: 1 127 | shadowCascades: 2 128 | shadowDistance: 70 129 | shadowNearPlaneOffset: 3 130 | shadowCascade2Split: 0.33333334 131 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 132 | shadowmaskMode: 1 133 | blendWeights: 4 134 | textureQuality: 0 135 | anisotropicTextures: 2 136 | antiAliasing: 2 137 | softParticles: 1 138 | softVegetation: 1 139 | realtimeReflectionProbes: 1 140 | billboardsFaceCameraPosition: 1 141 | vSyncCount: 1 142 | lodBias: 1.5 143 | maximumLODLevel: 0 144 | particleRaycastBudget: 1024 145 | asyncUploadTimeSlice: 2 146 | asyncUploadBufferSize: 4 147 | resolutionScalingFixedDPIFactor: 1 148 | excludedTargetPlatforms: [] 149 | - serializedVersion: 2 150 | name: Fantastic 151 | pixelLightCount: 4 152 | shadows: 2 153 | shadowResolution: 2 154 | shadowProjection: 0 155 | shadowCascades: 4 156 | shadowDistance: 150 157 | shadowNearPlaneOffset: 3 158 | shadowCascade2Split: 0.33333334 159 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 160 | shadowmaskMode: 1 161 | blendWeights: 4 162 | textureQuality: 0 163 | anisotropicTextures: 2 164 | antiAliasing: 2 165 | softParticles: 1 166 | softVegetation: 1 167 | realtimeReflectionProbes: 1 168 | billboardsFaceCameraPosition: 1 169 | vSyncCount: 1 170 | lodBias: 2 171 | maximumLODLevel: 0 172 | particleRaycastBudget: 4096 173 | asyncUploadTimeSlice: 2 174 | asyncUploadBufferSize: 4 175 | resolutionScalingFixedDPIFactor: 1 176 | excludedTargetPlatforms: [] 177 | m_PerPlatformDefaultQuality: 178 | Android: 2 179 | BlackBerry: 2 180 | GLES Emulation: 5 181 | PS3: 5 182 | PS4: 5 183 | PSM: 5 184 | PSP2: 5 185 | Samsung TV: 2 186 | Standalone: 5 187 | Tizen: 2 188 | WP8: 5 189 | Web: 5 190 | WebGL: 3 191 | Windows Store Apps: 5 192 | XBOX360: 5 193 | XboxOne: 5 194 | iPhone: 2 195 | -------------------------------------------------------------------------------- /ExampleGame/ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | serializedVersion: 2 6 | tags: [] 7 | layers: 8 | - Default 9 | - TransparentFX 10 | - Ignore Raycast 11 | - 12 | - Water 13 | - UI 14 | - 15 | - 16 | - 17 | - 18 | - 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | m_SortingLayers: 41 | - name: Default 42 | uniqueID: 0 43 | locked: 0 44 | -------------------------------------------------------------------------------- /ExampleGame/ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: 0.02 7 | Maximum Allowed Timestep: 0.33333334 8 | m_TimeScale: 1 9 | Maximum Particle Timestep: 0.03 10 | -------------------------------------------------------------------------------- /ExampleGame/ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!310 &1 4 | UnityConnectSettings: 5 | m_ObjectHideFlags: 0 6 | m_Enabled: 0 7 | m_TestMode: 0 8 | m_TestEventUrl: 9 | m_TestConfigUrl: 10 | m_TestInitMode: 0 11 | CrashReportingSettings: 12 | m_EventUrl: https://perf-events.cloud.unity3d.com/api/events/crashes 13 | m_NativeEventUrl: https://perf-events.cloud.unity3d.com/symbolicate 14 | m_Enabled: 0 15 | m_CaptureEditorExceptions: 1 16 | UnityPurchasingSettings: 17 | m_Enabled: 0 18 | m_TestMode: 0 19 | UnityAnalyticsSettings: 20 | m_Enabled: 0 21 | m_InitializeOnStartup: 1 22 | m_TestMode: 0 23 | m_TestEventUrl: 24 | m_TestConfigUrl: 25 | UnityAdsSettings: 26 | m_Enabled: 0 27 | m_InitializeOnStartup: 1 28 | m_TestMode: 0 29 | m_IosGameId: 30 | m_AndroidGameId: 31 | m_GameIds: {} 32 | m_GameId: 33 | PerformanceReportingSettings: 34 | m_Enabled: 0 35 | -------------------------------------------------------------------------------- /Plugins/Editor/PostBuildTrigger.cs: -------------------------------------------------------------------------------- 1 | using System.IO; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using System.Text; 5 | using UnityEngine; 6 | using UnityEditor; 7 | using UnityEditor.Callbacks; 8 | #if UNITY_IOS 9 | using UnityEditor.iOS.Xcode; 10 | #endif 11 | 12 | public static class PostBuildTrigger 13 | { 14 | enum Position { Begin, End }; 15 | 16 | private static string rn = "\n"; 17 | 18 | private static string PATH_AUTH = "/Classes/UnityAppController.mm"; 19 | private static string SIGNATURE_AUTH = 20 | "- (BOOL)application:(UIApplication*)application openURL:(NSURL*)url sourceApplication:(NSString*)sourceApplication annotation:(id)annotation"; 21 | private static string CODE_AUTH = rn + 22 | "if([HockeyAppUnity handleOpenURL:url sourceApplication:sourceApplication annotation:annotation]){" + rn + 23 | "return YES;" + rn + 24 | "}" + rn; 25 | private static string CODE_LIB_IMPORT = 26 | "#import \"HockeyAppUnity.h\"" + rn; 27 | 28 | [PostProcessBuild(100)] 29 | public static void OnPostProcessBuild(BuildTarget target, string path) 30 | { 31 | Debug.Log( "HockeyApp Unity: Post build script starts"); 32 | #if UNITY_IOS 33 | if (target == BuildTarget.iOS) 34 | { 35 | // Get target for Xcode project 36 | string projPath = PBXProject.GetPBXProjectPath(path); 37 | Debug.Log( "HockeyApp Unity: Project path is " + projPath); 38 | 39 | PBXProject proj = new PBXProject(); 40 | proj.ReadFromString(File.ReadAllText(projPath)); 41 | 42 | string targetName = PBXProject.GetUnityTargetName(); 43 | string projectTarget = proj.TargetGuidByName(targetName); 44 | 45 | // Add dependencies 46 | Debug.Log( "HockeyApp Unity: Adding frameworks"); 47 | 48 | proj.AddFrameworkToProject(projectTarget, "AssetsLibrary.framework", false); 49 | proj.AddFrameworkToProject(projectTarget, "CoreText.framework", false); 50 | proj.AddFrameworkToProject(projectTarget, "MobileCoreServices.framework", false); 51 | proj.AddFrameworkToProject(projectTarget, "QuickLook.framework", false); 52 | proj.AddFrameworkToProject(projectTarget, "Security.framework", false); 53 | proj.AddFrameworkToProject(projectTarget, "Photos.framework", false); 54 | proj.AddFrameworkToProject(projectTarget, "libz.dylib", false); 55 | 56 | File.WriteAllText(projPath, proj.WriteToString()); 57 | 58 | // Insert callback code 59 | Debug.Log( "HockeyApp Unity: Insert code"); 60 | 61 | InsertCodeIntoControllerClass(path); 62 | } 63 | #endif 64 | } 65 | 66 | private static void InsertCodeIntoControllerClass(string projectPath) { 67 | string filepath = projectPath + PATH_AUTH; 68 | string[] methodSignatures = {SIGNATURE_AUTH}; 69 | string[] valuesToAppend = {CODE_AUTH}; 70 | Position[] positionsInMethod = new Position[]{Position.Begin}; 71 | 72 | InsertCodeIntoClass (filepath, methodSignatures, valuesToAppend, positionsInMethod); 73 | } 74 | 75 | private static void InsertCodeIntoClass(string filepath, string[] methodSignatures, string[] valuesToAppend, Position[]positionsInMethod) { 76 | if (!File.Exists (filepath)) { 77 | return; 78 | } 79 | 80 | string fileContent = File.ReadAllText (filepath); 81 | List ignoredIndices = new List (); 82 | 83 | for (int i = 0; i < valuesToAppend.Length; i++) { 84 | string val = valuesToAppend [i]; 85 | 86 | if (fileContent.Contains (val)) { 87 | ignoredIndices.Add (i); 88 | } 89 | } 90 | 91 | string[] fileLines = File.ReadAllLines(filepath); 92 | List newContents = new List(); 93 | bool found = false; 94 | int foundIndex = -1; 95 | 96 | newContents.Add (CODE_LIB_IMPORT); 97 | foreach(string line in fileLines) { 98 | if (line.Trim().Contains(CODE_LIB_IMPORT.Trim())){ 99 | continue; 100 | } 101 | 102 | newContents.Add(line + rn); 103 | for(int j = 0;j 2 | 3 | #ifdef __cplusplus 4 | extern "C" { 5 | #endif 6 | 7 | void UnitySendMessage(const char *obj, const char *method, const char *msg); 8 | 9 | #ifdef __cplusplus 10 | } 11 | #endif 12 | 13 | @interface HockeyAppUnity : NSObject 14 | 15 | #pragma mark - Setup SDK 16 | 17 | + (void)startManagerWithIdentifier:(NSString *)appIdentifier 18 | serverURL:(NSString *)serverURL 19 | authType:(NSString *)authType 20 | secret:(NSString *)secret 21 | updateManagerEnabled:(BOOL)updateManagerEnabled 22 | userMetricsEnabled:(BOOL)userMetricsEnabled 23 | autoSendEnabled:(BOOL)autoSendEnabled; 24 | + (BOOL)handleOpenURL:(NSURL *)url 25 | sourceApplication:(NSString *)sourceApplication 26 | annotation:(id)annotation; 27 | 28 | #pragma mark - SDK features 29 | 30 | + (void)showFeedbackListView; 31 | + (void)checkForUpdate; 32 | + (void)trackEventWithName:(NSString *)eventName; 33 | + (void)trackEventWithName:(NSString *)eventName 34 | properties:(NSDictionary *)properties 35 | measurements:(NSDictionary *)measurements; 36 | + (NSString *)versionCode; 37 | + (NSString *)versionName; 38 | + (NSString *)bundleIdentifier; 39 | + (NSString *)sdkVersion; 40 | + (NSString *)sdkName; 41 | + (NSString *)crashReporterKey; 42 | 43 | @end 44 | -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeyAppUnityWrapper.m: -------------------------------------------------------------------------------- 1 | #import "HockeyAppUnity.h" 2 | 3 | static NSDictionary* ConvertPropertiesDictionary(char **keys, char **values, int count) { 4 | if (!keys || !values || !count) { 5 | return nil; 6 | } 7 | id result = [[NSMutableDictionary alloc] init]; 8 | for (int i = 0; i < count; i++) { 9 | NSString *key = [NSString stringWithUTF8String:keys[i]]; 10 | NSString *value = [NSString stringWithUTF8String:values[i]]; 11 | [result setValue:value forKey:key]; 12 | } 13 | return result; 14 | } 15 | 16 | static NSDictionary* ConvertMeasurementsDictionary(char **keys, double *values, int count) { 17 | if (!keys || !values || !count) { 18 | return nil; 19 | } 20 | id result = [[NSMutableDictionary alloc] init]; 21 | for (int i = 0; i < count; i++) { 22 | NSString *key = [NSString stringWithUTF8String:keys[i]]; 23 | NSNumber *value = [NSNumber numberWithDouble:values[i]]; 24 | [result setValue:value forKey:key]; 25 | } 26 | return result; 27 | } 28 | 29 | void HockeyApp_StartHockeyManager(char *appID, char *serverURL, char *authType, char *secret, 30 | bool updateManagerEnabled, bool userMetricsEnabled, bool autoSendEnabled) { 31 | [HockeyAppUnity startManagerWithIdentifier:[NSString stringWithUTF8String:appID] 32 | serverURL:[NSString stringWithUTF8String:serverURL] 33 | authType:[NSString stringWithUTF8String:authType] 34 | secret:[NSString stringWithUTF8String:secret] 35 | updateManagerEnabled:updateManagerEnabled 36 | userMetricsEnabled:userMetricsEnabled 37 | autoSendEnabled:autoSendEnabled]; 38 | } 39 | 40 | void HockeyApp_ShowFeedbackListView() { 41 | 42 | [HockeyAppUnity showFeedbackListView]; 43 | } 44 | 45 | void HockeyApp_CheckForUpdate() { 46 | 47 | [HockeyAppUnity checkForUpdate]; 48 | } 49 | 50 | void HockeyApp_TrackEvent(char *eventName) { 51 | [HockeyAppUnity trackEventWithName:[NSString stringWithUTF8String:eventName]]; 52 | } 53 | 54 | void HockeyApp_TrackEventWithPropertiesAndMeasurements(char *eventName, 55 | char **propertiesKeys, char **propertiesValues, int propertiesCount, 56 | char **measurementsKeys, double *measurementsValues, int measurementsCount) { 57 | [HockeyAppUnity trackEventWithName:[NSString stringWithUTF8String:eventName] 58 | properties:ConvertPropertiesDictionary(propertiesKeys, propertiesValues, propertiesCount) 59 | measurements:ConvertMeasurementsDictionary(measurementsKeys, measurementsValues, measurementsCount)]; 60 | } 61 | 62 | char* HockeyApp_GetVersionCode() { 63 | 64 | const char* versionCode = [[HockeyAppUnity versionCode] UTF8String]; 65 | char* res = (char*)malloc(strlen(versionCode) + 1); 66 | strcpy(res, versionCode); 67 | 68 | return res; 69 | } 70 | 71 | char* HockeyApp_GetVersionName() { 72 | 73 | const char* versionName = [[HockeyAppUnity versionName] UTF8String]; 74 | char* res = (char*)malloc(strlen(versionName) + 1); 75 | strcpy(res, versionName); 76 | 77 | return res; 78 | } 79 | 80 | char* HockeyApp_GetSdkVersion() { 81 | 82 | const char* sdkVersion = [[HockeyAppUnity sdkVersion] UTF8String]; 83 | char* res = (char*)malloc(strlen(sdkVersion) + 1); 84 | strcpy(res, sdkVersion); 85 | 86 | return res; 87 | } 88 | 89 | char* HockeyApp_GetSdkName() { 90 | 91 | const char* sdkName = [[HockeyAppUnity sdkName] UTF8String]; 92 | char* res = (char*)malloc(strlen(sdkName) + 1); 93 | strcpy(res, sdkName); 94 | 95 | return res; 96 | } 97 | 98 | char* HockeyApp_GetBundleIdentifier() { 99 | 100 | const char* bundleIdentifier = [[HockeyAppUnity bundleIdentifier] UTF8String]; 101 | char* res = (char*)malloc(strlen(bundleIdentifier) + 1); 102 | strcpy(res, bundleIdentifier); 103 | 104 | return res; 105 | } 106 | 107 | char* HockeyApp_GetCrashReporterKey() { 108 | 109 | const char* crashReporterKey = [[HockeyAppUnity crashReporterKey] UTF8String]; 110 | char* res = (char*)malloc(strlen(crashReporterKey) + 1); 111 | strcpy(res, crashReporterKey); 112 | 113 | return res; 114 | } 115 | -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/AppIconPlaceHolder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/AppIconPlaceHolder.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/Arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/Arrow.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/Arrow@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/Arrow@2x.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/Arrow@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/Arrow@3x.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/Blur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/Blur.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/Blur@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/Blur@2x.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/Blur@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/Blur@3x.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/Cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/Cancel.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/Cancel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/Cancel@2x.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/Cancel@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/Cancel@3x.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/FeedbackPlaceholder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/FeedbackPlaceholder.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/IconGradient.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/IconGradient.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/IconGradient@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/IconGradient@2x.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/Info.plist -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/Ok.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/Ok.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/Ok@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/Ok@2x.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/Ok@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/Ok@3x.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/Rectangle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/Rectangle.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/Rectangle@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/Rectangle@2x.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/Rectangle@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/Rectangle@3x.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/authorize_denied.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/authorize_denied.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/authorize_denied@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/authorize_denied@2x.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/authorize_denied@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/authorize_denied@3x.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/bg.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/buttonRoundedDelete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/buttonRoundedDelete.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/buttonRoundedDelete@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/buttonRoundedDelete@2x.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/buttonRoundedDeleteHighlighted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/buttonRoundedDeleteHighlighted.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/buttonRoundedDeleteHighlighted@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/buttonRoundedDeleteHighlighted@2x.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/buttonRoundedRegular.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/buttonRoundedRegular.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/buttonRoundedRegular@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/buttonRoundedRegular@2x.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/buttonRoundedRegularHighlighted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/buttonRoundedRegularHighlighted.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/buttonRoundedRegularHighlighted@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/buttonRoundedRegularHighlighted@2x.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/de.lproj/HockeySDK.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/de.lproj/HockeySDK.strings -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/en.lproj/HockeySDK.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/en.lproj/HockeySDK.strings -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/es.lproj/HockeySDK.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/es.lproj/HockeySDK.strings -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/fa.lproj/HockeySDK.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/fa.lproj/HockeySDK.strings -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/feedbackActivity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/feedbackActivity.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/feedbackActivity@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/feedbackActivity@2x.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/feedbackActivity@2x~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/feedbackActivity@2x~ipad.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/feedbackActivity@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/feedbackActivity@3x.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/feedbackActivity~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/feedbackActivity~ipad.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/fr.lproj/HockeySDK.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/fr.lproj/HockeySDK.strings -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/hr.lproj/HockeySDK.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/hr.lproj/HockeySDK.strings -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/hu.lproj/HockeySDK.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/hu.lproj/HockeySDK.strings -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/iconCamera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/iconCamera.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/iconCamera@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/iconCamera@2x.png -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/it.lproj/HockeySDK.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/it.lproj/HockeySDK.strings -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/ja.lproj/HockeySDK.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/ja.lproj/HockeySDK.strings -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/nb.lproj/HockeySDK.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/nb.lproj/HockeySDK.strings -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/nl.lproj/HockeySDK.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/nl.lproj/HockeySDK.strings -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/pt-PT.lproj/HockeySDK.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/pt-PT.lproj/HockeySDK.strings -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/pt.lproj/HockeySDK.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/pt.lproj/HockeySDK.strings -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/ru.lproj/HockeySDK.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/ru.lproj/HockeySDK.strings -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/tr.lproj/HockeySDK.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/tr.lproj/HockeySDK.strings -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/zh-Hans.lproj/HockeySDK.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/HockeySDKResources.bundle/zh-Hans.lproj/HockeySDK.strings -------------------------------------------------------------------------------- /Plugins/HockeyAppUnityIOS/libHockeySDK-5.2.0.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/HockeyAppUnityIOS/libHockeySDK-5.2.0.a -------------------------------------------------------------------------------- /Plugins/README.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/Plugins/README.pdf -------------------------------------------------------------------------------- /UnityPluginSources/HockeyAppUnity/BITCrashAttachment.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Author: Andreas Linde 3 | * 4 | * Copyright (c) 2014 HockeyApp, Bit Stadium GmbH. 5 | * All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person 8 | * obtaining a copy of this software and associated documentation 9 | * files (the "Software"), to deal in the Software without 10 | * restriction, including without limitation the rights to use, 11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the 13 | * Software is furnished to do so, subject to the following 14 | * conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be 17 | * included in all copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 26 | * OTHER DEALINGS IN THE SOFTWARE. 27 | */ 28 | 29 | #import "BITHockeyAttachment.h" 30 | 31 | /** 32 | Deprecated: Provides support to add binary attachments to crash reports 33 | 34 | This class is not needed any longer and exists for compatibility purposes with 35 | HockeySDK-iOS 3.5.5. 36 | 37 | It is a subclass of `BITHockeyAttachment` which only provides an initializer 38 | that is compatible with the one of HockeySDK-iOS 3.5.5. 39 | 40 | This is used by `[BITCrashManagerDelegate attachmentForCrashManager:]` 41 | 42 | @see BITHockeyAttachment 43 | */ 44 | @interface BITCrashAttachment : BITHockeyAttachment 45 | 46 | /** 47 | Create an BITCrashAttachment instance with a given filename and NSData object 48 | 49 | @param filename The filename the attachment should get 50 | @param crashAttachmentData The attachment data as NSData 51 | @param contentType The content type of your data as MIME type 52 | 53 | @return An instance of BITCrashAttachment 54 | */ 55 | - (instancetype)initWithFilename:(NSString *)filename 56 | crashAttachmentData:(NSData *)crashAttachmentData 57 | contentType:(NSString *)contentType; 58 | 59 | @end 60 | -------------------------------------------------------------------------------- /UnityPluginSources/HockeyAppUnity/BITCrashDetails.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Author: Andreas Linde 3 | * 4 | * Copyright (c) 2012-2014 HockeyApp, Bit Stadium GmbH. 5 | * All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person 8 | * obtaining a copy of this software and associated documentation 9 | * files (the "Software"), to deal in the Software without 10 | * restriction, including without limitation the rights to use, 11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the 13 | * Software is furnished to do so, subject to the following 14 | * conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be 17 | * included in all copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 26 | * OTHER DEALINGS IN THE SOFTWARE. 27 | */ 28 | 29 | #import 30 | 31 | /** 32 | * Provides details about the crash that occurred in the previous app session 33 | */ 34 | @interface BITCrashDetails : NSObject 35 | 36 | /** 37 | * UUID for the crash report 38 | */ 39 | @property (nonatomic, readonly, copy) NSString *incidentIdentifier; 40 | 41 | /** 42 | * UUID for the app installation on the device 43 | */ 44 | @property (nonatomic, readonly, copy) NSString *reporterKey; 45 | 46 | /** 47 | * Signal that caused the crash 48 | */ 49 | @property (nonatomic, readonly, copy) NSString *signal; 50 | 51 | /** 52 | * Exception name that triggered the crash, nil if the crash was not caused by an exception 53 | */ 54 | @property (nonatomic, readonly, copy) NSString *exceptionName; 55 | 56 | /** 57 | * Exception reason, nil if the crash was not caused by an exception 58 | */ 59 | @property (nonatomic, readonly, copy) NSString *exceptionReason; 60 | 61 | /** 62 | * Date and time the app started, nil if unknown 63 | */ 64 | @property (nonatomic, readonly, strong) NSDate *appStartTime; 65 | 66 | /** 67 | * Date and time the crash occurred, nil if unknown 68 | */ 69 | @property (nonatomic, readonly, strong) NSDate *crashTime; 70 | 71 | /** 72 | * Operation System version string the app was running on when it crashed. 73 | */ 74 | @property (nonatomic, readonly, copy) NSString *osVersion; 75 | 76 | /** 77 | * Operation System build string the app was running on when it crashed 78 | * 79 | * This may be unavailable. 80 | */ 81 | @property (nonatomic, readonly, copy) NSString *osBuild; 82 | 83 | /** 84 | * CFBundleShortVersionString value of the app that crashed 85 | * 86 | * Can be `nil` if the crash was captured with an older version of the SDK 87 | * or if the app doesn't set the value. 88 | */ 89 | @property (nonatomic, readonly, copy) NSString *appVersion; 90 | 91 | /** 92 | * CFBundleVersion value of the app that crashed 93 | */ 94 | @property (nonatomic, readonly, copy) NSString *appBuild; 95 | 96 | /** 97 | * Identifier of the app process that crashed 98 | */ 99 | @property (nonatomic, readonly, assign) NSUInteger appProcessIdentifier; 100 | 101 | /** 102 | Indicates if the app was killed while being in foreground from the iOS 103 | 104 | If `[BITCrashManager enableAppNotTerminatingCleanlyDetection]` is enabled, use this on startup 105 | to check if the app starts the first time after it was killed by iOS in the previous session. 106 | 107 | This can happen if it consumed too much memory or the watchdog killed the app because it 108 | took too long to startup or blocks the main thread for too long, or other reasons. See Apple 109 | documentation: https://developer.apple.com/library/ios/qa/qa1693/_index.html 110 | 111 | See `[BITCrashManager enableAppNotTerminatingCleanlyDetection]` for more details about which kind of kills can be detected. 112 | 113 | @warning This property only has a correct value, once `[BITHockeyManager startManager]` was 114 | invoked! In addition, it is automatically disabled while a debugger session is active! 115 | 116 | @see `[BITCrashManager enableAppNotTerminatingCleanlyDetection]` 117 | @see `[BITCrashManager didReceiveMemoryWarningInLastSession]` 118 | 119 | @return YES if the details represent an app kill instead of a crash 120 | */ 121 | - (BOOL)isAppKill; 122 | 123 | @end 124 | -------------------------------------------------------------------------------- /UnityPluginSources/HockeyAppUnity/BITCrashManagerDelegate.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Author: Andreas Linde 3 | * 4 | * Copyright (c) 2012-2014 HockeyApp, Bit Stadium GmbH. 5 | * All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person 8 | * obtaining a copy of this software and associated documentation 9 | * files (the "Software"), to deal in the Software without 10 | * restriction, including without limitation the rights to use, 11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the 13 | * Software is furnished to do so, subject to the following 14 | * conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be 17 | * included in all copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 26 | * OTHER DEALINGS IN THE SOFTWARE. 27 | */ 28 | 29 | #import 30 | 31 | @class BITCrashManager; 32 | @class BITHockeyAttachment; 33 | 34 | /** 35 | The `BITCrashManagerDelegate` formal protocol defines methods further configuring 36 | the behaviour of `BITCrashManager`. 37 | */ 38 | 39 | @protocol BITCrashManagerDelegate 40 | 41 | @optional 42 | 43 | 44 | ///----------------------------------------------------------------------------- 45 | /// @name Additional meta data 46 | ///----------------------------------------------------------------------------- 47 | 48 | /** Return any log string based data the crash report being processed should contain 49 | 50 | @param crashManager The `BITCrashManager` instance invoking this delegate 51 | @see attachmentForCrashManager: 52 | @see BITHockeyManagerDelegate userNameForHockeyManager:componentManager: 53 | @see BITHockeyManagerDelegate userEmailForHockeyManager:componentManager: 54 | */ 55 | -(NSString *)applicationLogForCrashManager:(BITCrashManager *)crashManager; 56 | 57 | 58 | /** Return a BITHockeyAttachment object providing an NSData object the crash report 59 | being processed should contain 60 | 61 | Please limit your attachments to reasonable files to avoid high traffic costs for your users. 62 | 63 | Example implementation: 64 | 65 | - (BITHockeyAttachment *)attachmentForCrashManager:(BITCrashManager *)crashManager { 66 | NSData *data = [NSData dataWithContentsOfURL:@"mydatafile"]; 67 | 68 | BITHockeyAttachment *attachment = [[BITHockeyAttachment alloc] initWithFilename:@"myfile.data" 69 | hockeyAttachmentData:data 70 | contentType:@"'application/octet-stream"]; 71 | return attachment; 72 | } 73 | 74 | @param crashManager The `BITCrashManager` instance invoking this delegate 75 | @see BITHockeyAttachment 76 | @see applicationLogForCrashManager: 77 | @see BITHockeyManagerDelegate userNameForHockeyManager:componentManager: 78 | @see BITHockeyManagerDelegate userEmailForHockeyManager:componentManager: 79 | */ 80 | -(BITHockeyAttachment *)attachmentForCrashManager:(BITCrashManager *)crashManager; 81 | 82 | 83 | 84 | ///----------------------------------------------------------------------------- 85 | /// @name Alert 86 | ///----------------------------------------------------------------------------- 87 | 88 | /** Invoked before the user is asked to send a crash report, so you can do additional actions. 89 | E.g. to make sure not to ask the user for an app rating :) 90 | 91 | @param crashManager The `BITCrashManager` instance invoking this delegate 92 | */ 93 | -(void)crashManagerWillShowSubmitCrashReportAlert:(BITCrashManager *)crashManager; 94 | 95 | 96 | /** Invoked after the user did choose _NOT_ to send a crash in the alert 97 | 98 | @param crashManager The `BITCrashManager` instance invoking this delegate 99 | */ 100 | -(void)crashManagerWillCancelSendingCrashReport:(BITCrashManager *)crashManager; 101 | 102 | 103 | /** Invoked after the user did choose to send crashes always in the alert 104 | 105 | @param crashManager The `BITCrashManager` instance invoking this delegate 106 | */ 107 | -(void)crashManagerWillSendCrashReportsAlways:(BITCrashManager *)crashManager; 108 | 109 | 110 | ///----------------------------------------------------------------------------- 111 | /// @name Networking 112 | ///----------------------------------------------------------------------------- 113 | 114 | /** Invoked right before sending crash reports will start 115 | 116 | @param crashManager The `BITCrashManager` instance invoking this delegate 117 | */ 118 | - (void)crashManagerWillSendCrashReport:(BITCrashManager *)crashManager; 119 | 120 | /** Invoked after sending crash reports failed 121 | 122 | @param crashManager The `BITCrashManager` instance invoking this delegate 123 | @param error The error returned from the NSURLSession call or `kBITCrashErrorDomain` 124 | with reason of type `BITCrashErrorReason`. 125 | */ 126 | - (void)crashManager:(BITCrashManager *)crashManager didFailWithError:(NSError *)error; 127 | 128 | /** Invoked after sending crash reports succeeded 129 | 130 | @param crashManager The `BITCrashManager` instance invoking this delegate 131 | */ 132 | - (void)crashManagerDidFinishSendingCrashReport:(BITCrashManager *)crashManager; 133 | 134 | ///----------------------------------------------------------------------------- 135 | /// @name Experimental 136 | ///----------------------------------------------------------------------------- 137 | 138 | /** Define if a report should be considered as a crash report 139 | 140 | Due to the risk, that these reports may be false positives, this delegates allows the 141 | developer to influence which reports detected by the heuristic should actually be reported. 142 | 143 | The developer can use the following property to get more information about the crash scenario: 144 | - `[BITCrashManager didReceiveMemoryWarningInLastSession]`: Did the app receive a low memory warning 145 | 146 | This allows only reports to be considered where at least one low memory warning notification was 147 | received by the app to reduce to possibility of having false positives. 148 | 149 | @param crashManager The `BITCrashManager` instance invoking this delegate 150 | @return `YES` if the heuristic based detected report should be reported, otherwise `NO` 151 | @see `[BITCrashManager didReceiveMemoryWarningInLastSession]` 152 | */ 153 | -(BOOL)considerAppNotTerminatedCleanlyReportForCrashManager:(BITCrashManager *)crashManager; 154 | 155 | @end 156 | -------------------------------------------------------------------------------- /UnityPluginSources/HockeyAppUnity/BITCrashMetaData.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Author: Andreas Linde 3 | * 4 | * Copyright (c) 2012-2014 HockeyApp, Bit Stadium GmbH. 5 | * All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person 8 | * obtaining a copy of this software and associated documentation 9 | * files (the "Software"), to deal in the Software without 10 | * restriction, including without limitation the rights to use, 11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the 13 | * Software is furnished to do so, subject to the following 14 | * conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be 17 | * included in all copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 26 | * OTHER DEALINGS IN THE SOFTWARE. 27 | */ 28 | 29 | #import 30 | 31 | 32 | /** 33 | * This class provides properties that can be attached to a crash report via a custom alert view flow 34 | */ 35 | @interface BITCrashMetaData : NSObject 36 | 37 | /** 38 | * User provided description that should be attached to the crash report as plain text 39 | */ 40 | @property (nonatomic, copy) NSString *userProvidedDescription; 41 | 42 | /** 43 | * User name that should be attached to the crash report 44 | */ 45 | @property (nonatomic, copy) NSString *userName; 46 | 47 | /** 48 | * User email that should be attached to the crash report 49 | */ 50 | @property (nonatomic, copy) NSString *userEmail; 51 | 52 | /** 53 | * User ID that should be attached to the crash report 54 | */ 55 | @property (nonatomic, copy) NSString *userID; 56 | 57 | @end 58 | -------------------------------------------------------------------------------- /UnityPluginSources/HockeyAppUnity/BITFeedbackActivity.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Author: Andreas Linde 3 | * 4 | * Copyright (c) 2012-2014 HockeyApp, Bit Stadium GmbH. 5 | * All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person 8 | * obtaining a copy of this software and associated documentation 9 | * files (the "Software"), to deal in the Software without 10 | * restriction, including without limitation the rights to use, 11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the 13 | * Software is furnished to do so, subject to the following 14 | * conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be 17 | * included in all copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 26 | * OTHER DEALINGS IN THE SOFTWARE. 27 | */ 28 | 29 | #import 30 | 31 | #import "BITFeedbackComposeViewControllerDelegate.h" 32 | 33 | /** 34 | UIActivity subclass allowing to use the feedback interface to share content with the developer 35 | 36 | This activity can be added into an UIActivityViewController and it will use the activity data 37 | objects to prefill the content of `BITFeedbackComposeViewController`. 38 | 39 | This can be useful if you present some data that users can not only share but also 40 | report back to the developer because they have some problems, e.g. webcams not working 41 | any more. 42 | 43 | The activity provide a default title and image that can be further customized 44 | via `customActivityImage` and `customActivityTitle`. 45 | 46 | */ 47 | 48 | @interface BITFeedbackActivity : UIActivity 49 | 50 | ///----------------------------------------------------------------------------- 51 | /// @name BITFeedbackActivity customisation 52 | ///----------------------------------------------------------------------------- 53 | 54 | 55 | /** 56 | Define the image shown when using `BITFeedbackActivity` 57 | 58 | If not set a default icon is being used. 59 | 60 | @see customActivityTitle 61 | */ 62 | @property (nonatomic, strong) UIImage *customActivityImage; 63 | 64 | 65 | /** 66 | Define the title shown when using `BITFeedbackActivity` 67 | 68 | If not set, a default string is shown by using the apps name 69 | and adding the localized string "Feedback" to it. 70 | 71 | @see customActivityImage 72 | */ 73 | @property (nonatomic, copy) NSString *customActivityTitle; 74 | 75 | @end 76 | -------------------------------------------------------------------------------- /UnityPluginSources/HockeyAppUnity/BITFeedbackComposeViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Author: Andreas Linde 3 | * 4 | * Copyright (c) 2012-2014 HockeyApp, Bit Stadium GmbH. 5 | * All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person 8 | * obtaining a copy of this software and associated documentation 9 | * files (the "Software"), to deal in the Software without 10 | * restriction, including without limitation the rights to use, 11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the 13 | * Software is furnished to do so, subject to the following 14 | * conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be 17 | * included in all copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 26 | * OTHER DEALINGS IN THE SOFTWARE. 27 | */ 28 | 29 | 30 | #import 31 | 32 | #import "BITFeedbackComposeViewControllerDelegate.h" 33 | 34 | /** 35 | View controller allowing the user to write and send new feedback 36 | 37 | To add this view controller to your own app and push it onto a navigation stack, 38 | don't create the instance yourself, but use the following code to get a correct instance: 39 | 40 | [[BITHockeyManager sharedHockeyManager].feedbackManager feedbackComposeViewController] 41 | 42 | To show it modally, use the following code instead: 43 | 44 | [[BITHockeyManager sharedHockeyManager].feedbackManager showFeedbackComposeView] 45 | 46 | */ 47 | 48 | @interface BITFeedbackComposeViewController : UIViewController 49 | 50 | 51 | ///----------------------------------------------------------------------------- 52 | /// @name Delegate 53 | ///----------------------------------------------------------------------------- 54 | 55 | 56 | /** 57 | Sets the `BITFeedbackComposeViewControllerDelegate` delegate. 58 | 59 | The delegate is automatically set by using `[BITHockeyManager setDelegate:]`. You 60 | should not need to set this delegate individually. 61 | 62 | @see [BITHockeyManager setDelegate:] 63 | */ 64 | @property (nonatomic, weak) id delegate; 65 | 66 | 67 | ///----------------------------------------------------------------------------- 68 | /// @name Presetting content 69 | ///----------------------------------------------------------------------------- 70 | 71 | 72 | /** 73 | Don't show the option to add images from the photo library 74 | 75 | This is helpful if your application is landscape only, since the system UI for 76 | selecting an image from the photo library is portrait only 77 | */ 78 | @property (nonatomic) BOOL hideImageAttachmentButton; 79 | 80 | /** 81 | An array of data objects that should be used to prefill the compose view content 82 | 83 | The following data object classes are currently supported: 84 | - NSString 85 | - NSURL 86 | - UIImage 87 | - NSData 88 | - `BITHockeyAttachment` 89 | 90 | These are automatically concatenated to one text string, while any images and NSData 91 | objects are added as attachments to the feedback. 92 | 93 | @param items Array of data objects to prefill the feedback text message. 94 | */ 95 | - (void)prepareWithItems:(NSArray *)items; 96 | 97 | @end 98 | -------------------------------------------------------------------------------- /UnityPluginSources/HockeyAppUnity/BITFeedbackComposeViewControllerDelegate.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Author: Andreas Linde 3 | * 4 | * Copyright (c) 2012-2014 HockeyApp, Bit Stadium GmbH. 5 | * All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person 8 | * obtaining a copy of this software and associated documentation 9 | * files (the "Software"), to deal in the Software without 10 | * restriction, including without limitation the rights to use, 11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the 13 | * Software is furnished to do so, subject to the following 14 | * conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be 17 | * included in all copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 26 | * OTHER DEALINGS IN THE SOFTWARE. 27 | */ 28 | 29 | #import 30 | 31 | #import "HockeySDKNullability.h" 32 | NS_ASSUME_NONNULL_BEGIN 33 | 34 | /** 35 | * The users action when composing a message 36 | */ 37 | typedef NS_ENUM(NSUInteger, BITFeedbackComposeResult) { 38 | /** 39 | * user hit cancel 40 | */ 41 | BITFeedbackComposeResultCancelled, 42 | /** 43 | * user hit submit 44 | */ 45 | BITFeedbackComposeResultSubmitted, 46 | }; 47 | 48 | @class BITFeedbackComposeViewController; 49 | 50 | /** 51 | * The `BITFeedbackComposeViewControllerDelegate` formal protocol defines methods further configuring 52 | * the behaviour of `BITFeedbackComposeViewController`. 53 | */ 54 | 55 | @protocol BITFeedbackComposeViewControllerDelegate 56 | 57 | @optional 58 | 59 | ///----------------------------------------------------------------------------- 60 | /// @name View Controller Management 61 | ///----------------------------------------------------------------------------- 62 | 63 | /** 64 | * Invoked once the compose screen is finished via send or cancel 65 | * 66 | * If this is implemented, it's the responsibility of this method to dismiss the presented 67 | * `BITFeedbackComposeViewController` 68 | * 69 | * @param composeViewController The `BITFeedbackComposeViewController` instance invoking this delegate 70 | * @param composeResult The user action the lead to closing the compose view 71 | */ 72 | - (void)feedbackComposeViewController:(BITFeedbackComposeViewController *)composeViewController 73 | didFinishWithResult:(BITFeedbackComposeResult) composeResult; 74 | @end 75 | 76 | NS_ASSUME_NONNULL_END 77 | -------------------------------------------------------------------------------- /UnityPluginSources/HockeyAppUnity/BITFeedbackListViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Author: Andreas Linde 3 | * 4 | * Copyright (c) 2012-2014 HockeyApp, Bit Stadium GmbH. 5 | * All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person 8 | * obtaining a copy of this software and associated documentation 9 | * files (the "Software"), to deal in the Software without 10 | * restriction, including without limitation the rights to use, 11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the 13 | * Software is furnished to do so, subject to the following 14 | * conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be 17 | * included in all copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 26 | * OTHER DEALINGS IN THE SOFTWARE. 27 | */ 28 | 29 | 30 | #import 31 | #import 32 | 33 | #import "BITHockeyBaseViewController.h" 34 | 35 | /** 36 | View controller providing a default interface to manage feedback 37 | 38 | The message list interface contains options to locally delete single messages 39 | by swiping over them, or deleting all messages. This will not delete the messages 40 | on the server though! 41 | 42 | It is also integrates actions to invoke the user interface to compose a new messages, 43 | reload the list content from the server and changing the users name or email if these 44 | are allowed to be set. 45 | 46 | To add this view controller to your own app and push it onto a navigation stack, 47 | don't create the instance yourself, but use the following code to get a correct instance: 48 | 49 | [[BITHockeyManager sharedHockeyManager].feedbackManager feedbackListViewController:NO] 50 | 51 | To show it modally, use the following code instead: 52 | 53 | [[BITHockeyManager sharedHockeyManager].feedbackManager feedbackListViewController:YES] 54 | 55 | This ensures that the presentation on iOS 6 and iOS 7 will use the current design on each OS Version. 56 | */ 57 | 58 | @interface BITFeedbackListViewController : BITHockeyBaseViewController { 59 | } 60 | 61 | @end 62 | -------------------------------------------------------------------------------- /UnityPluginSources/HockeyAppUnity/BITFeedbackManagerDelegate.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Authors: Stephan Diederich, Benjamin Scholtysik 3 | * 4 | * Copyright (c) 2013-2016 HockeyApp, Bit Stadium GmbH. 5 | * All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person 8 | * obtaining a copy of this software and associated documentation 9 | * files (the "Software"), to deal in the Software without 10 | * restriction, including without limitation the rights to use, 11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the 13 | * Software is furnished to do so, subject to the following 14 | * conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be 17 | * included in all copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 26 | * OTHER DEALINGS IN THE SOFTWARE. 27 | */ 28 | 29 | #import 30 | #import "BITFeedbackComposeViewControllerDelegate.h" 31 | 32 | #import "HockeySDKNullability.h" 33 | NS_ASSUME_NONNULL_BEGIN 34 | 35 | @class BITFeedbackManager; 36 | 37 | /** 38 | * Delegate protocol which is notified about changes in the feedbackManager 39 | * @TODO 40 | * * move shouldShowUpdateAlert from feedbackManager here 41 | */ 42 | @protocol BITFeedbackManagerDelegate 43 | 44 | @optional 45 | 46 | /** 47 | * Can be implemented to control wether the feedback manager should automatically 48 | * fetch for new messages on app startup or when becoming active. 49 | * 50 | * By default the SDK fetches on app startup or when the app is becoming active again 51 | * if there are already messages existing or pending on the device. 52 | * 53 | * You could disable it e.g. depending on available mobile network/WLAN connection 54 | * or let it fetch less frequently. 55 | * 56 | * @param feedbackManager The feedbackManager which did detect the new messages 57 | */ 58 | - (BOOL)allowAutomaticFetchingForNewFeedbackForManager:(BITFeedbackManager *)feedbackManager; 59 | 60 | 61 | /** 62 | * can be implemented to know when new feedback from the server arrived 63 | * 64 | * @param feedbackManager The feedbackManager which did detect the new messages 65 | */ 66 | - (void)feedbackManagerDidReceiveNewFeedback:(BITFeedbackManager *)feedbackManager; 67 | 68 | 69 | /** 70 | * This optional method can be implemented to provide items to prefill 71 | * the FeedbackComposeMessage user interface with the given items. 72 | * 73 | * If the user sends the feedback message, these items will be attached to that message. 74 | * 75 | * All NSString-Content in the array will be concatenated and result in the message, 76 | * while all UIImage and NSData-instances will be turned into attachments. 77 | * 78 | * @param feedbackManager The BITFeedbackManager instance that will handle sending the feedback. 79 | * 80 | * @return An array containing the items to be attached to the feedback message 81 | * @see `[BITFeedbackComposeViewController prepareWithItems:] 82 | */ 83 | - (nullable NSArray *)preparedItemsForFeedbackManager:(BITFeedbackManager *)feedbackManager; 84 | 85 | /** 86 | * Indicates if a new thread should be created for each new feedback message 87 | * 88 | * Setting it to `YES` will force a new thread whenever a new message is sent as 89 | * opposed to the default resume thread behaviour. 90 | * 91 | * @return A BOOL indicating if each feedback message should be sent as a new thread. 92 | */ 93 | - (BOOL)forceNewFeedbackThreadForFeedbackManager:(BITFeedbackManager *)feedbackManager; 94 | 95 | @end 96 | 97 | NS_ASSUME_NONNULL_END 98 | -------------------------------------------------------------------------------- /UnityPluginSources/HockeyAppUnity/BITHockeyAttachment.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Author: Andreas Linde 3 | * 4 | * Copyright (c) 2014 HockeyApp, Bit Stadium GmbH. 5 | * All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person 8 | * obtaining a copy of this software and associated documentation 9 | * files (the "Software"), to deal in the Software without 10 | * restriction, including without limitation the rights to use, 11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the 13 | * Software is furnished to do so, subject to the following 14 | * conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be 17 | * included in all copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 26 | * OTHER DEALINGS IN THE SOFTWARE. 27 | */ 28 | 29 | #import 30 | 31 | /** 32 | Provides support to add binary attachments to crash reports and feedback messages 33 | 34 | This is used by `[BITCrashManagerDelegate attachmentForCrashManager:]`, 35 | `[BITFeedbackComposeViewController prepareWithItems:]` and 36 | `[BITFeedbackManager showFeedbackComposeViewWithPreparedItems:]` 37 | */ 38 | @interface BITHockeyAttachment : NSObject 39 | 40 | /** 41 | The filename the attachment should get 42 | */ 43 | @property (nonatomic, readonly, copy) NSString *filename; 44 | 45 | /** 46 | The attachment data as NSData object 47 | */ 48 | @property (nonatomic, readonly, strong) NSData *hockeyAttachmentData; 49 | 50 | /** 51 | The content type of your data as MIME type 52 | */ 53 | @property (nonatomic, readonly, copy) NSString *contentType; 54 | 55 | /** 56 | Create an BITHockeyAttachment instance with a given filename and NSData object 57 | 58 | @param filename The filename the attachment should get. If nil will get a automatically generated filename 59 | @param hockeyAttachmentData The attachment data as NSData. The instance will be ignore if this is set to nil! 60 | @param contentType The content type of your data as MIME type. If nil will be set to "application/octet-stream" 61 | 62 | @return An instance of BITHockeyAttachment. 63 | */ 64 | - (instancetype)initWithFilename:(NSString *)filename 65 | hockeyAttachmentData:(NSData *)hockeyAttachmentData 66 | contentType:(NSString *)contentType; 67 | 68 | @end 69 | -------------------------------------------------------------------------------- /UnityPluginSources/HockeyAppUnity/BITHockeyBaseManager.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Author: Andreas Linde 3 | * 4 | * Copyright (c) 2012-2014 HockeyApp, Bit Stadium GmbH. 5 | * All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person 8 | * obtaining a copy of this software and associated documentation 9 | * files (the "Software"), to deal in the Software without 10 | * restriction, including without limitation the rights to use, 11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the 13 | * Software is furnished to do so, subject to the following 14 | * conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be 17 | * included in all copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 26 | * OTHER DEALINGS IN THE SOFTWARE. 27 | */ 28 | 29 | #import 30 | #import 31 | 32 | 33 | /** 34 | The internal superclass for all component managers 35 | 36 | */ 37 | 38 | @interface BITHockeyBaseManager : NSObject 39 | 40 | ///----------------------------------------------------------------------------- 41 | /// @name Modules 42 | ///----------------------------------------------------------------------------- 43 | 44 | 45 | /** 46 | Defines the server URL to send data to or request data from 47 | 48 | By default this is set to the HockeyApp servers and there rarely should be a 49 | need to modify that. 50 | */ 51 | @property (nonatomic, copy) NSString *serverURL; 52 | 53 | 54 | ///----------------------------------------------------------------------------- 55 | /// @name User Interface 56 | ///----------------------------------------------------------------------------- 57 | 58 | /** 59 | The UIBarStyle of the update user interface navigation bar. 60 | 61 | Default is UIBarStyleBlackOpaque 62 | @see navigationBarTintColor 63 | */ 64 | @property (nonatomic, assign) UIBarStyle barStyle; 65 | 66 | /** 67 | The navigationbar tint color of the update user interface navigation bar. 68 | 69 | The navigationBarTintColor is used by default, you can either overwrite it `navigationBarTintColor` 70 | or define another `barStyle` instead. 71 | 72 | Default is RGB(25, 25, 25) 73 | @see barStyle 74 | */ 75 | @property (nonatomic, strong) UIColor *navigationBarTintColor; 76 | 77 | /** 78 | The UIModalPresentationStyle for showing the update user interface when invoked 79 | with the update alert. 80 | */ 81 | @property (nonatomic, assign) UIModalPresentationStyle modalPresentationStyle; 82 | 83 | 84 | @end 85 | -------------------------------------------------------------------------------- /UnityPluginSources/HockeyAppUnity/BITHockeyBaseViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Author: Andreas Linde 3 | * 4 | * Copyright (c) 2012-2014 HockeyApp, Bit Stadium GmbH. 5 | * All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person 8 | * obtaining a copy of this software and associated documentation 9 | * files (the "Software"), to deal in the Software without 10 | * restriction, including without limitation the rights to use, 11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the 13 | * Software is furnished to do so, subject to the following 14 | * conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be 17 | * included in all copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 26 | * OTHER DEALINGS IN THE SOFTWARE. 27 | */ 28 | 29 | #import 30 | 31 | @interface BITHockeyBaseViewController : UITableViewController 32 | 33 | @property (nonatomic, readwrite) BOOL modalAnimated; 34 | 35 | - (instancetype)initWithModalStyle:(BOOL)modal; 36 | - (instancetype)initWithStyle:(UITableViewStyle)style modal:(BOOL)modal; 37 | 38 | @end 39 | -------------------------------------------------------------------------------- /UnityPluginSources/HockeyAppUnity/BITMetricsManager.h: -------------------------------------------------------------------------------- 1 | #import "HockeySDKFeatureConfig.h" 2 | 3 | #if HOCKEYSDK_FEATURE_METRICS 4 | 5 | #import 6 | #import "BITHockeyBaseManager.h" 7 | 8 | #import "HockeySDKNullability.h" 9 | NS_ASSUME_NONNULL_BEGIN 10 | 11 | /** 12 | The metrics module. 13 | 14 | This is the HockeySDK module that handles users, sessions and events tracking. 15 | 16 | Unless disabled, this module automatically tracks users and session of your app to give you 17 | better insights about how your app is being used. 18 | Users are tracked in a completely anonymous way without collecting any personally identifiable 19 | information. 20 | 21 | Before starting to track events, ask yourself the questions that you want to get answers to. 22 | For instance, you might be interested in business, performance/quality or user experience aspects. 23 | Name your events in a meaningful way and keep in mind that you will use these names 24 | when searching for events in the HockeyApp web portal. 25 | 26 | It is your reponsibility to not collect personal information as part of the events tracking or get 27 | prior consent from your users as necessary. 28 | */ 29 | @interface BITMetricsManager : BITHockeyBaseManager 30 | 31 | /** 32 | * A property indicating whether the BITMetricsManager instance is disabled. 33 | */ 34 | @property (nonatomic, assign) BOOL disabled; 35 | 36 | /** 37 | * This method allows to track an event that happened in your app. 38 | * Remember to choose meaningful event names to have the best experience when diagnosing your app 39 | * in the HockeyApp web portal. 40 | * 41 | * @param eventName The event's name as a string. 42 | */ 43 | - (void)trackEventWithName:(nonnull NSString *)eventName; 44 | 45 | /** 46 | * This method allows to track an event that happened in your app. 47 | * Remember to choose meaningful event names to have the best experience when diagnosing your app 48 | * in the web portal. 49 | * 50 | * @param eventName the name of the event, which should be tracked. 51 | * @param properties key value pairs with additional info about the event. 52 | * @param measurements key value pairs, which contain custom metrics. 53 | */ 54 | - (void)trackEventWithName:(nonnull NSString *)eventName properties:(nullable NSDictionary *)properties measurements:(nullable NSDictionary *)measurements; 55 | 56 | @end 57 | 58 | NS_ASSUME_NONNULL_END 59 | 60 | #endif /* HOCKEYSDK_FEATURE_METRICS */ 61 | -------------------------------------------------------------------------------- /UnityPluginSources/HockeyAppUnity/BITStoreUpdateManager.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Author: Andreas Linde 3 | * 4 | * Copyright (c) 2013-2014 HockeyApp, Bit Stadium GmbH. 5 | * All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person 8 | * obtaining a copy of this software and associated documentation 9 | * files (the "Software"), to deal in the Software without 10 | * restriction, including without limitation the rights to use, 11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the 13 | * Software is furnished to do so, subject to the following 14 | * conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be 17 | * included in all copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 26 | * OTHER DEALINGS IN THE SOFTWARE. 27 | */ 28 | 29 | 30 | #import 31 | #import "BITHockeyBaseManager.h" 32 | 33 | 34 | /** 35 | * Defines the update check intervals 36 | */ 37 | typedef NS_ENUM(NSInteger, BITStoreUpdateSetting) { 38 | /** 39 | * Check every day 40 | */ 41 | BITStoreUpdateCheckDaily = 0, 42 | /** 43 | * Check every week 44 | */ 45 | BITStoreUpdateCheckWeekly = 1, 46 | /** 47 | * Check manually 48 | */ 49 | BITStoreUpdateCheckManually = 2 50 | }; 51 | 52 | @protocol BITStoreUpdateManagerDelegate; 53 | 54 | /** 55 | The store update manager module. 56 | 57 | This is the HockeySDK module for handling app updates when having your app released in the App Store. 58 | By default the module uses the current users locale to define the app store to check for updates. You 59 | can modify this using the `countryCode` property. See the property documentation for details on its usage. 60 | 61 | When an update is detected, this module will show an alert asking the user if he/she wants to update or 62 | ignore this version. If update was chosen, it will open the apps page in the app store app. 63 | 64 | You need to enable this module using `[BITHockeyManager enableStoreUpdateManager]` if you want to use this 65 | feature. By default this module is disabled! 66 | 67 | When this module is enabled and **NOT** running in an App Store build/environment, it won't do any checks! 68 | 69 | The `BITStoreUpdateManagerDelegate` protocol informs the app about new detected app versions. 70 | 71 | @warning This module can **NOT** check if the current device and OS version match the minimum requirements of 72 | the new app version! 73 | 74 | */ 75 | 76 | @interface BITStoreUpdateManager : BITHockeyBaseManager 77 | 78 | ///----------------------------------------------------------------------------- 79 | /// @name Update Checking 80 | ///----------------------------------------------------------------------------- 81 | 82 | /** 83 | When to check for new updates. 84 | 85 | Defines when a the SDK should check if there is a new update available on the 86 | server. This must be assigned one of the following, see `BITStoreUpdateSetting`: 87 | 88 | - `BITStoreUpdateCheckDaily`: Once a day 89 | - `BITStoreUpdateCheckWeekly`: Once a week 90 | - `BITStoreUpdateCheckManually`: Manually 91 | 92 | **Default**: BITStoreUpdateCheckWeekly 93 | 94 | @warning When setting this to `BITStoreUpdateCheckManually` you need to either 95 | invoke the update checking process yourself with `checkForUpdate` somehow, e.g. by 96 | proving an update check button for the user or integrating the Update View into your 97 | user interface. 98 | @see BITStoreUpdateSetting 99 | @see countryCode 100 | @see checkForUpdateOnLaunch 101 | @see checkForUpdate 102 | */ 103 | @property (nonatomic, assign) BITStoreUpdateSetting updateSetting; 104 | 105 | 106 | /** 107 | Defines the store country the app is always available in, otherwise uses the users locale 108 | 109 | If this value is not defined, then it uses the device country if the current locale. 110 | 111 | If you are pre-defining a country and are releasing a new version on a specific date, 112 | it can happen that users get an alert but the update is not yet available in their country! 113 | 114 | But if a user downloaded the app from another appstore than the locale is set and the app is not 115 | available in the locales app store, then the user will never receive an update notification! 116 | 117 | More information about possible country codes is available here: http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 118 | 119 | @see updateSetting 120 | @see checkForUpdateOnLaunch 121 | @see checkForUpdate 122 | */ 123 | @property (nonatomic, copy) NSString *countryCode; 124 | 125 | 126 | /** 127 | Flag that determines whether the automatic update checks should be done. 128 | 129 | If this is enabled the update checks will be performed automatically depending on the 130 | `updateSetting` property. If this is disabled the `updateSetting` property will have 131 | no effect, and checking for updates is totally up to be done by yourself. 132 | 133 | *Default*: _YES_ 134 | 135 | @warning When setting this to `NO` you need to invoke update checks yourself! 136 | @see updateSetting 137 | @see countryCode 138 | @see checkForUpdate 139 | */ 140 | @property (nonatomic, assign, getter=isCheckingForUpdateOnLaunch) BOOL checkForUpdateOnLaunch; 141 | 142 | 143 | ///----------------------------------------------------------------------------- 144 | /// @name User Interface 145 | ///----------------------------------------------------------------------------- 146 | 147 | 148 | /** 149 | Flag that determines if the integrated update alert should be used 150 | 151 | If enabled, the integrated UIAlert based update notification will be used to inform 152 | the user about a new update being available in the App Store. 153 | 154 | If disabled, you need to implement the `BITStoreUpdateManagerDelegate` protocol with 155 | the method `[BITStoreUpdateManagerDelegate detectedUpdateFromStoreUpdateManager:newVersion:storeURL:]` 156 | to be notified about new version and proceed yourself. 157 | The manager will consider this identical to an `Ignore` user action using the alert 158 | and not inform about this particular version any more, unless the app is updated 159 | and this very same version shows up at a later time again as a new version. 160 | 161 | *Default*: _YES_ 162 | 163 | @warning If the HockeySDKResources bundle is missing in the application package, then the internal 164 | update alert is also disabled and be treated identical to manually disabling this 165 | property. 166 | @see updateSetting 167 | */ 168 | @property (nonatomic, assign, getter=isUpdateUIEnabled) BOOL updateUIEnabled; 169 | 170 | ///----------------------------------------------------------------------------- 171 | /// @name Manual update checking 172 | ///----------------------------------------------------------------------------- 173 | 174 | /** 175 | Check for an update 176 | 177 | Call this to trigger a check if there is a new update available on the HockeyApp servers. 178 | 179 | @see updateSetting 180 | @see countryCode 181 | @see checkForUpdateOnLaunch 182 | */ 183 | - (void)checkForUpdate; 184 | 185 | 186 | @end 187 | -------------------------------------------------------------------------------- /UnityPluginSources/HockeyAppUnity/BITStoreUpdateManagerDelegate.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Author: Andreas Linde 3 | * 4 | * Copyright (c) 2013-2014 HockeyApp, Bit Stadium GmbH. 5 | * All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person 8 | * obtaining a copy of this software and associated documentation 9 | * files (the "Software"), to deal in the Software without 10 | * restriction, including without limitation the rights to use, 11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the 13 | * Software is furnished to do so, subject to the following 14 | * conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be 17 | * included in all copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 26 | * OTHER DEALINGS IN THE SOFTWARE. 27 | */ 28 | 29 | #import 30 | 31 | @class BITStoreUpdateManager; 32 | 33 | /** 34 | The `BITStoreUpdateManagerDelegate` formal protocol defines methods for 35 | more interaction with `BITStoreUpdateManager`. 36 | */ 37 | 38 | @protocol BITStoreUpdateManagerDelegate 39 | 40 | @optional 41 | 42 | 43 | ///----------------------------------------------------------------------------- 44 | /// @name Update information 45 | ///----------------------------------------------------------------------------- 46 | 47 | /** Informs which new version has been reported to be available 48 | 49 | @warning If this is invoked with a simulated new version, the storeURL could be _NIL_ if the current builds 50 | bundle identifier is different to the bundle identifier used in the app store build. 51 | @param storeUpdateManager The `BITStoreUpdateManager` instance invoking this delegate 52 | @param newVersion The new version string reported by the App Store 53 | @param storeURL The App Store URL for this app that could be invoked to let them perform the update. 54 | */ 55 | -(void)detectedUpdateFromStoreUpdateManager:(BITStoreUpdateManager *)storeUpdateManager newVersion:(NSString *)newVersion storeURL:(NSURL *)storeURL; 56 | 57 | 58 | 59 | @end 60 | -------------------------------------------------------------------------------- /UnityPluginSources/HockeyAppUnity/BITUpdateManager.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Author: Andreas Linde 3 | * Peter Steinberger 4 | * 5 | * Copyright (c) 2012-2014 HockeyApp, Bit Stadium GmbH. 6 | * Copyright (c) 2011 Andreas Linde. 7 | * All rights reserved. 8 | * 9 | * Permission is hereby granted, free of charge, to any person 10 | * obtaining a copy of this software and associated documentation 11 | * files (the "Software"), to deal in the Software without 12 | * restriction, including without limitation the rights to use, 13 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the 15 | * Software is furnished to do so, subject to the following 16 | * conditions: 17 | * 18 | * The above copyright notice and this permission notice shall be 19 | * included in all copies or substantial portions of the Software. 20 | * 21 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 22 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 23 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 24 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 25 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 26 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 27 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 28 | * OTHER DEALINGS IN THE SOFTWARE. 29 | */ 30 | 31 | 32 | #import "BITHockeyBaseManager.h" 33 | 34 | 35 | /** 36 | * Update check interval 37 | */ 38 | typedef NS_ENUM (NSUInteger, BITUpdateSetting) { 39 | /** 40 | * On every startup or or when the app comes to the foreground 41 | */ 42 | BITUpdateCheckStartup = 0, 43 | /** 44 | * Once a day 45 | */ 46 | BITUpdateCheckDaily = 1, 47 | /** 48 | * Manually 49 | */ 50 | BITUpdateCheckManually = 2 51 | }; 52 | 53 | @protocol BITUpdateManagerDelegate; 54 | 55 | @class BITAppVersionMetaInfo; 56 | @class BITUpdateViewController; 57 | 58 | /** 59 | The update manager module. 60 | 61 | This is the HockeySDK module for handling app updates when using Ad-Hoc or Enterprise provisioning profiles. 62 | This module handles version updates, presents update and version information in an App Store like user interface, 63 | collects usage information and provides additional authorization options when using Ad-Hoc provisioning profiles. 64 | 65 | By default, this module automatically disables itself when running in an App Store build! 66 | 67 | The protocol `BITUpdateManagerDelegate` provides delegates to inform about events and adjust a few behaviors. 68 | 69 | To use the server side restriction feature, to provide updates only to specific users, you need to setup the 70 | `BITAuthenticator` class. This allows the update request to tell the server which user is using the app on the 71 | current device and then let the server decide which updates the device may see. 72 | 73 | */ 74 | 75 | @interface BITUpdateManager : BITHockeyBaseManager 76 | 77 | ///----------------------------------------------------------------------------- 78 | /// @name Update Checking 79 | ///----------------------------------------------------------------------------- 80 | 81 | // see HockeyUpdateSetting-enum. Will be saved in user defaults. 82 | // default value: HockeyUpdateCheckStartup 83 | /** 84 | When to check for new updates. 85 | 86 | Defines when the SDK should check if there is a new update available on the 87 | server. This must be assigned one of the following, see `BITUpdateSetting`: 88 | 89 | - `BITUpdateCheckStartup`: On every startup or or when the app comes to the foreground 90 | - `BITUpdateCheckDaily`: Once a day 91 | - `BITUpdateCheckManually`: Manually 92 | 93 | When running the app from the App Store, this setting is ignored. 94 | 95 | **Default**: BITUpdateCheckStartup 96 | 97 | @warning When setting this to `BITUpdateCheckManually` you need to either 98 | invoke the update checking process yourself with `checkForUpdate` somehow, e.g. by 99 | proving an update check button for the user or integrating the Update View into your 100 | user interface. 101 | @see BITUpdateSetting 102 | @see checkForUpdateOnLaunch 103 | @see checkForUpdate 104 | */ 105 | @property (nonatomic, assign) BITUpdateSetting updateSetting; 106 | 107 | 108 | /** 109 | Flag that determines whether the automatic update checks should be done. 110 | 111 | If this is enabled the update checks will be performed automatically depending on the 112 | `updateSetting` property. If this is disabled the `updateSetting` property will have 113 | no effect, and checking for updates is totally up to be done by yourself. 114 | 115 | When running the app from the App Store, this setting is ignored. 116 | 117 | *Default*: _YES_ 118 | 119 | @warning When setting this to `NO` you need to invoke update checks yourself! 120 | @see updateSetting 121 | @see checkForUpdate 122 | */ 123 | @property (nonatomic, assign, getter=isCheckForUpdateOnLaunch) BOOL checkForUpdateOnLaunch; 124 | 125 | 126 | // manually start an update check 127 | /** 128 | Check for an update 129 | 130 | Call this to trigger a check if there is a new update available on the HockeyApp servers. 131 | 132 | When running the app from the App Store, this method call is ignored. 133 | 134 | @see updateSetting 135 | @see checkForUpdateOnLaunch 136 | */ 137 | - (void)checkForUpdate; 138 | 139 | 140 | ///----------------------------------------------------------------------------- 141 | /// @name Update Notification 142 | ///----------------------------------------------------------------------------- 143 | 144 | /** 145 | Flag that determines if update alerts should be repeatedly shown 146 | 147 | If enabled the update alert shows on every startup and whenever the app becomes active, 148 | until the update is installed. 149 | If disabled the update alert is only shown once ever and it is up to you to provide an 150 | alternate way for the user to navigate to the update UI or update in another way. 151 | 152 | When running the app from the App Store, this setting is ignored. 153 | 154 | *Default*: _YES_ 155 | */ 156 | @property (nonatomic, assign) BOOL alwaysShowUpdateReminder; 157 | 158 | 159 | /** 160 | Flag that determines if the update alert should show a direct install option 161 | 162 | If enabled the update alert shows an additional option which allows to invoke the update 163 | installation process directly instead of viewing the update UI first. 164 | By default the alert only shows a `Show` and `Ignore` option. 165 | 166 | When running the app from the App Store, this setting is ignored. 167 | 168 | *Default*: _NO_ 169 | */ 170 | @property (nonatomic, assign, getter=isShowingDirectInstallOption) BOOL showDirectInstallOption; 171 | 172 | 173 | ///----------------------------------------------------------------------------- 174 | /// @name Expiry 175 | ///----------------------------------------------------------------------------- 176 | 177 | /** 178 | Expiry date of the current app version 179 | 180 | If set, the app will get unusable at the given date by presenting a blocking view on 181 | top of the apps UI so that no interaction is possible. To present a custom UI, check 182 | the documentation of the 183 | `[BITUpdateManagerDelegate shouldDisplayExpiryAlertForUpdateManager:]` delegate. 184 | 185 | Once the expiry date is reached, the app will no longer check for updates or 186 | send any usage data to the server! 187 | 188 | When running the app from the App Store, this setting is ignored. 189 | 190 | *Default*: nil 191 | @see disableUpdateCheckOptionWhenExpired 192 | @see [BITUpdateManagerDelegate shouldDisplayExpiryAlertForUpdateManager:] 193 | @see [BITUpdateManagerDelegate didDisplayExpiryAlertForUpdateManager:] 194 | @warning This only works when using Ad-Hoc provisioning profiles! 195 | */ 196 | @property (nonatomic, strong) NSDate *expiryDate; 197 | 198 | /** 199 | Disable the update check button from expiry screen or alerts 200 | 201 | If do not want your users to be able to check for updates once a version is expired, 202 | then enable this property. 203 | 204 | If this is not enabled, the users will be able to check for updates and install them 205 | if any is available for the current device. 206 | 207 | *Default*: NO 208 | @see expiryDate 209 | @see [BITUpdateManagerDelegate shouldDisplayExpiryAlertForUpdateManager:] 210 | @see [BITUpdateManagerDelegate didDisplayExpiryAlertForUpdateManager:] 211 | @warning This only works when using Ad-Hoc provisioning profiles! 212 | */ 213 | @property (nonatomic) BOOL disableUpdateCheckOptionWhenExpired; 214 | 215 | 216 | ///----------------------------------------------------------------------------- 217 | /// @name User Interface 218 | ///----------------------------------------------------------------------------- 219 | 220 | 221 | /** 222 | Present the modal update user interface. 223 | 224 | @warning Make sure to call this method from the main thread! 225 | */ 226 | - (void)showUpdateView; 227 | 228 | 229 | /** 230 | Create an update view 231 | 232 | @param modal Return a view which is ready for modal presentation with an integrated navigation bar 233 | @return BITUpdateViewController The update user interface view controller, 234 | e.g. to push it onto a navigation stack. 235 | */ 236 | - (BITUpdateViewController *)hockeyViewController:(BOOL)modal; 237 | 238 | 239 | @end 240 | -------------------------------------------------------------------------------- /UnityPluginSources/HockeyAppUnity/BITUpdateManagerDelegate.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Author: Andreas Linde 3 | * 4 | * Copyright (c) 2012-2014 HockeyApp, Bit Stadium GmbH. 5 | * All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person 8 | * obtaining a copy of this software and associated documentation 9 | * files (the "Software"), to deal in the Software without 10 | * restriction, including without limitation the rights to use, 11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the 13 | * Software is furnished to do so, subject to the following 14 | * conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be 17 | * included in all copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 26 | * OTHER DEALINGS IN THE SOFTWARE. 27 | */ 28 | 29 | #import 30 | 31 | @class BITUpdateManager; 32 | 33 | /** 34 | The `BITUpdateManagerDelegate` formal protocol defines methods further configuring 35 | the behaviour of `BITUpdateManager`. 36 | */ 37 | 38 | @protocol BITUpdateManagerDelegate 39 | 40 | @optional 41 | 42 | ///----------------------------------------------------------------------------- 43 | /// @name Update 44 | ///----------------------------------------------------------------------------- 45 | 46 | /** 47 | Return if update alert should be shown 48 | 49 | If you want to display your own user interface when there is an update available, 50 | implement this method, present your user interface and return _NO_. In this case 51 | it is your responsibility to call `BITUpdateManager showUpdateView` 52 | 53 | Note: This delegate will be invoked on startup and every time the app becomes 54 | active again! 55 | 56 | When returning _YES_ the default blocking UI will be shown. 57 | 58 | When running the app from the App Store, this delegate is ignored. 59 | 60 | @param updateManager The `BITUpdateManager` instance invoking this delegate 61 | @param shortVersion The latest available version 62 | @param version The latest available version 63 | */ 64 | - (BOOL)shouldDisplayUpdateAlertForUpdateManager:(BITUpdateManager *)updateManager forShortVersion:(NSString *)shortVersion forVersion:(NSString *)version; 65 | 66 | ///----------------------------------------------------------------------------- 67 | /// @name Expiry 68 | ///----------------------------------------------------------------------------- 69 | 70 | /** 71 | Return if expiry alert should be shown if date is reached 72 | 73 | If you want to display your own user interface when the expiry date is reached, 74 | implement this method, present your user interface and return _NO_. In this case 75 | it is your responsibility to make the app unusable! 76 | 77 | Note: This delegate will be invoked on startup and every time the app becomes 78 | active again! 79 | 80 | When returning _YES_ the default blocking UI will be shown. 81 | 82 | When running the app from the App Store, this delegate is ignored. 83 | 84 | @param updateManager The `BITUpdateManager` instance invoking this delegate 85 | @see [BITUpdateManager expiryDate] 86 | @see [BITUpdateManagerDelegate didDisplayExpiryAlertForUpdateManager:] 87 | */ 88 | - (BOOL)shouldDisplayExpiryAlertForUpdateManager:(BITUpdateManager *)updateManager; 89 | 90 | 91 | /** 92 | Invoked once a default expiry alert is shown 93 | 94 | Once expiry date is reached and the default blocking UI is shown, 95 | this delegate method is invoked to provide you the possibility to do any 96 | desired additional processing. 97 | 98 | @param updateManager The `BITUpdateManager` instance invoking this delegate 99 | @see [BITUpdateManager expiryDate] 100 | @see [BITUpdateManagerDelegate shouldDisplayExpiryAlertForUpdateManager:] 101 | */ 102 | - (void)didDisplayExpiryAlertForUpdateManager:(BITUpdateManager *)updateManager; 103 | 104 | 105 | ///----------------------------------------------------------------------------- 106 | /// @name Privacy 107 | ///----------------------------------------------------------------------------- 108 | 109 | /** Return NO if usage data should not be send 110 | 111 | The update module send usage data by default, if the application is _NOT_ 112 | running in an App Store version. Implement this delegate and 113 | return NO if you want to disable this. 114 | 115 | If you intend to implement a user setting to let them enable or disable 116 | sending usage data, this delegate should be used to return that value. 117 | 118 | Usage data contains the following information: 119 | - App Version 120 | - iOS Version 121 | - Device type 122 | - Language 123 | - Installation timestamp 124 | - Usage time 125 | 126 | @param updateManager The `BITUpdateManager` instance invoking this delegate 127 | @warning When setting this to `NO`, you will _NOT_ know if this user is actually testing! 128 | */ 129 | - (BOOL)updateManagerShouldSendUsageData:(BITUpdateManager *)updateManager; 130 | 131 | 132 | ///----------------------------------------------------------------------------- 133 | /// @name Privacy 134 | ///----------------------------------------------------------------------------- 135 | 136 | /** Implement this method to be notified before an update starts. 137 | 138 | The update manager will send this delegate message _just_ before the system 139 | call to update the application is placed, but after the user has already chosen 140 | to install the update. 141 | 142 | There is no guarantee that the update will actually start after this delegate 143 | message is sent. 144 | 145 | @param updateManager The `BITUpdateManager` instance invoking this delegate 146 | */ 147 | - (BOOL)willStartDownloadAndUpdate:(BITUpdateManager *)updateManager; 148 | 149 | /** 150 | Invoked right before the app will exit to allow app update to start (>= iOS8 only) 151 | 152 | The iOS installation mechanism only starts if the app the should be updated is currently 153 | not running. On all iOS versions up to iOS 7, the system did automatically exit the app 154 | in these cases. Since iOS 8 this isn't done any longer. 155 | 156 | @param updateManager The `BITUpdateManager` instance invoking this delegate 157 | */ 158 | - (void)updateManagerWillExitApp:(BITUpdateManager *)updateManager; 159 | 160 | @end 161 | -------------------------------------------------------------------------------- /UnityPluginSources/HockeyAppUnity/BITUpdateViewController.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Author: Andreas Linde 3 | * Peter Steinberger 4 | * 5 | * Copyright (c) 2012-2014 HockeyApp, Bit Stadium GmbH. 6 | * Copyright (c) 2011 Andreas Linde, Peter Steinberger. 7 | * All rights reserved. 8 | * 9 | * Permission is hereby granted, free of charge, to any person 10 | * obtaining a copy of this software and associated documentation 11 | * files (the "Software"), to deal in the Software without 12 | * restriction, including without limitation the rights to use, 13 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the 15 | * Software is furnished to do so, subject to the following 16 | * conditions: 17 | * 18 | * The above copyright notice and this permission notice shall be 19 | * included in all copies or substantial portions of the Software. 20 | * 21 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 22 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 23 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 24 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 25 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 26 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 27 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 28 | * OTHER DEALINGS IN THE SOFTWARE. 29 | */ 30 | 31 | #import 32 | 33 | #import "BITHockeyBaseViewController.h" 34 | 35 | 36 | @interface BITUpdateViewController : BITHockeyBaseViewController 37 | @end 38 | -------------------------------------------------------------------------------- /UnityPluginSources/HockeyAppUnity/BITUtils.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @interface BITUtils : NSObject 4 | 5 | + (BITAuthenticatorIdentificationType)identificationTypeForString:(NSString *)typeString; 6 | + (BITCrashManagerStatus)statusForAutoSendEnabled:(BOOL)autoSendEnabled; 7 | 8 | @end 9 | -------------------------------------------------------------------------------- /UnityPluginSources/HockeyAppUnity/BITUtils.m: -------------------------------------------------------------------------------- 1 | #import "BITUtils.h" 2 | 3 | @implementation BITUtils 4 | 5 | + (BITAuthenticatorIdentificationType)identificationTypeForString:(NSString *)typeString{ 6 | 7 | if ([typeString isEqualToString:@"BITAuthenticatorIdentificationTypeDevice"]){ 8 | return BITAuthenticatorIdentificationTypeDevice; 9 | } else if ([typeString isEqualToString:@"BITAuthenticatorIdentificationTypeHockeyAppUser"]){ 10 | return BITAuthenticatorIdentificationTypeHockeyAppUser; 11 | } else if ([typeString isEqualToString:@"BITAuthenticatorIdentificationTypeHockeyAppEmail"]){ 12 | return BITAuthenticatorIdentificationTypeHockeyAppEmail; 13 | } else if ([typeString isEqualToString:@"BITAuthenticatorIdentificationTypeWebAuth"]){ 14 | return BITAuthenticatorIdentificationTypeWebAuth; 15 | } else{ 16 | return BITAuthenticatorIdentificationTypeAnonymous; 17 | } 18 | } 19 | 20 | + (BITCrashManagerStatus)statusForAutoSendEnabled:(BOOL)autoSendEnabled{ 21 | if (autoSendEnabled){ 22 | return BITCrashManagerStatusAutoSend; 23 | } 24 | return BITCrashManagerStatusAlwaysAsk; 25 | } 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /UnityPluginSources/HockeyAppUnity/HockeyAppUnity-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header 3 | // 4 | // The contents of this file are implicitly included at the beginning of every source file. 5 | // 6 | 7 | #ifdef __OBJC__ 8 | #import 9 | #import "HockeySDK.h" 10 | #endif 11 | -------------------------------------------------------------------------------- /UnityPluginSources/HockeyAppUnity/HockeyAppUnity.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | #ifdef __cplusplus 4 | extern "C" { 5 | #endif 6 | 7 | void UnitySendMessage(const char *obj, const char *method, const char *msg); 8 | 9 | #ifdef __cplusplus 10 | } 11 | #endif 12 | 13 | @interface HockeyAppUnity : NSObject 14 | 15 | #pragma mark - Setup SDK 16 | 17 | + (void)startManagerWithIdentifier:(NSString *)appIdentifier 18 | serverURL:(NSString *)serverURL 19 | authType:(NSString *)authType 20 | secret:(NSString *)secret 21 | updateManagerEnabled:(BOOL)updateManagerEnabled 22 | userMetricsEnabled:(BOOL)userMetricsEnabled 23 | autoSendEnabled:(BOOL)autoSendEnabled; 24 | + (BOOL)handleOpenURL:(NSURL *)url 25 | sourceApplication:(NSString *)sourceApplication 26 | annotation:(id)annotation; 27 | 28 | #pragma mark - SDK features 29 | 30 | + (void)showFeedbackListView; 31 | + (void)checkForUpdate; 32 | + (void)trackEventWithName:(NSString *)eventName; 33 | + (void)trackEventWithName:(NSString *)eventName 34 | properties:(NSDictionary *)properties 35 | measurements:(NSDictionary *)measurements; 36 | + (NSString *)versionCode; 37 | + (NSString *)versionName; 38 | + (NSString *)bundleIdentifier; 39 | + (NSString *)sdkVersion; 40 | + (NSString *)sdkName; 41 | + (NSString *)crashReporterKey; 42 | 43 | @end 44 | -------------------------------------------------------------------------------- /UnityPluginSources/HockeyAppUnity/HockeyAppUnity.m: -------------------------------------------------------------------------------- 1 | #import "HockeyAppUnity.h" 2 | #import "BITUtils.h" 3 | 4 | @interface HockeyAppUnity() 5 | 6 | @end 7 | 8 | @implementation HockeyAppUnity 9 | 10 | #pragma mark - Setup SDK 11 | 12 | + (void)startManagerWithIdentifier:(NSString *)appIdentifier 13 | serverURL:(NSString *)serverURL 14 | authType:(NSString *)authType 15 | secret:(NSString *)secret 16 | updateManagerEnabled:(BOOL)updateManagerEnabled 17 | userMetricsEnabled:(BOOL)userMetricsEnabled 18 | autoSendEnabled:(BOOL)autoSendEnabled { 19 | [self configHockeyManagerWithAppIdentifier:appIdentifier serverURL:serverURL]; 20 | [self configAuthentificatorWithIdentificationType:authType secret:secret]; 21 | [self configUpdateManagerWithUpdateManagerEnabled:updateManagerEnabled]; 22 | [self configMetricsManagerWithUserMetricsEnabled:userMetricsEnabled]; 23 | [self configCrashManagerWithAutoSendEnabled:autoSendEnabled]; 24 | [self startManager]; 25 | } 26 | 27 | + (void)configHockeyManagerWithAppIdentifier:(NSString *)appIdentifier serverURL:(NSString *)serverURL { 28 | [[BITHockeyManager sharedHockeyManager] configureWithIdentifier:appIdentifier]; 29 | if(serverURL && serverURL.length > 0) { 30 | [[BITHockeyManager sharedHockeyManager] setServerURL:serverURL]; 31 | } 32 | } 33 | 34 | + (void)configCrashManagerWithAutoSendEnabled:(BOOL)autoSendEnabled { 35 | [[BITHockeyManager sharedHockeyManager].crashManager setCrashManagerStatus:[BITUtils statusForAutoSendEnabled:autoSendEnabled]]; 36 | } 37 | 38 | + (void)configMetricsManagerWithUserMetricsEnabled:(BOOL)userMetricsEnabled { 39 | [[BITHockeyManager sharedHockeyManager] setDisableMetricsManager:!userMetricsEnabled]; 40 | } 41 | 42 | + (void)configUpdateManagerWithUpdateManagerEnabled:(BOOL)updateManagerEnabled { 43 | [[BITHockeyManager sharedHockeyManager] setDisableUpdateManager:!updateManagerEnabled]; 44 | } 45 | 46 | + (void)configAuthentificatorWithIdentificationType:(NSString *)identificationType secret:(NSString *)secret { 47 | if(secret && secret.length > 0) { 48 | [[BITHockeyManager sharedHockeyManager].authenticator setIdentificationType:[BITUtils identificationTypeForString:identificationType]]; 49 | [[BITHockeyManager sharedHockeyManager].authenticator setAuthenticationSecret:secret]; 50 | } 51 | } 52 | 53 | + (void)startManager { 54 | [[BITHockeyManager sharedHockeyManager] startManager]; 55 | [[BITHockeyManager sharedHockeyManager].authenticator authenticateInstallation]; 56 | } 57 | 58 | + (BOOL)handleOpenURL:(NSURL *) url sourceApplication:(NSString *) sourceApplication annotation:(id) annotation { 59 | 60 | if ([[BITHockeyManager sharedHockeyManager].authenticator handleOpenURL:url 61 | sourceApplication:sourceApplication 62 | annotation:annotation]) { 63 | return YES; 64 | } 65 | return NO; 66 | } 67 | 68 | #pragma mark - Setup SDK 69 | 70 | + (void)showFeedbackListView { 71 | [[BITHockeyManager sharedHockeyManager].feedbackManager showFeedbackListView]; 72 | } 73 | 74 | + (void)checkForUpdate { 75 | [[BITHockeyManager sharedHockeyManager].updateManager checkForUpdate]; 76 | } 77 | 78 | + (void)trackEventWithName:(NSString *)eventName { 79 | [[BITHockeyManager sharedHockeyManager].metricsManager trackEventWithName:eventName]; 80 | } 81 | 82 | + (void)trackEventWithName:(NSString *)eventName 83 | properties:(NSDictionary *)properties 84 | measurements:(NSDictionary *)measurements { 85 | [[BITHockeyManager sharedHockeyManager].metricsManager trackEventWithName:eventName 86 | properties:properties 87 | measurements:measurements]; 88 | } 89 | 90 | + (NSString *)versionCode { 91 | return [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]; 92 | } 93 | 94 | + (NSString *)versionName { 95 | return [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]; 96 | } 97 | 98 | + (NSString *)bundleIdentifier { 99 | return [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleIdentifier"]; 100 | } 101 | 102 | + (NSString *)sdkVersion { 103 | return [[BITHockeyManager sharedHockeyManager] version]; 104 | } 105 | 106 | + (NSString *)sdkName { 107 | return @"HockeySDK"; 108 | } 109 | 110 | + (NSString *)crashReporterKey { 111 | return [BITHockeyManager sharedHockeyManager].installString; 112 | } 113 | 114 | @end 115 | -------------------------------------------------------------------------------- /UnityPluginSources/HockeyAppUnity/HockeySDK-5.1.2.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitstadium/HockeySDK-Unity-iOS/f23740c37f053d33ce108d524670888650294d78/UnityPluginSources/HockeyAppUnity/HockeySDK-5.1.2.a -------------------------------------------------------------------------------- /UnityPluginSources/HockeyAppUnity/HockeySDK.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Author: Andreas Linde 3 | * 4 | * Copyright (c) 2012-2014 HockeyApp, Bit Stadium GmbH. 5 | * Copyright (c) 2011 Andreas Linde. 6 | * All rights reserved. 7 | * 8 | * Permission is hereby granted, free of charge, to any person 9 | * obtaining a copy of this software and associated documentation 10 | * files (the "Software"), to deal in the Software without 11 | * restriction, including without limitation the rights to use, 12 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | * copies of the Software, and to permit persons to whom the 14 | * Software is furnished to do so, subject to the following 15 | * conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be 18 | * included in all copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 21 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 22 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 23 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 24 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 25 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 26 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 27 | * OTHER DEALINGS IN THE SOFTWARE. 28 | */ 29 | 30 | #import 31 | 32 | 33 | #if !defined (TARGET_OS_IOS) // Defined starting in iOS 9 34 | #define TARGET_OS_IOS 1 35 | #endif 36 | 37 | 38 | #import "HockeySDKFeatureConfig.h" 39 | #import "HockeySDKEnums.h" 40 | #import "HockeySDKNullability.h" 41 | 42 | #import "BITHockeyManager.h" 43 | #import "BITHockeyManagerDelegate.h" 44 | 45 | #if HOCKEYSDK_FEATURE_CRASH_REPORTER || HOCKEYSDK_FEATURE_FEEDBACK 46 | #import "BITHockeyAttachment.h" 47 | #endif 48 | 49 | #if HOCKEYSDK_FEATURE_CRASH_REPORTER 50 | #import "BITCrashManager.h" 51 | #import "BITCrashAttachment.h" 52 | #import "BITCrashManagerDelegate.h" 53 | #import "BITCrashDetails.h" 54 | #import "BITCrashMetaData.h" 55 | #endif /* HOCKEYSDK_FEATURE_CRASH_REPORTER */ 56 | 57 | #if HOCKEYSDK_FEATURE_UPDATES 58 | #import "BITUpdateManager.h" 59 | #import "BITUpdateManagerDelegate.h" 60 | #import "BITUpdateViewController.h" 61 | #endif /* HOCKEYSDK_FEATURE_UPDATES */ 62 | 63 | #if HOCKEYSDK_FEATURE_STORE_UPDATES 64 | #import "BITStoreUpdateManager.h" 65 | #import "BITStoreUpdateManagerDelegate.h" 66 | #endif /* HOCKEYSDK_FEATURE_STORE_UPDATES */ 67 | 68 | #if HOCKEYSDK_FEATURE_FEEDBACK 69 | #import "BITFeedbackManager.h" 70 | #import "BITFeedbackManagerDelegate.h" 71 | #import "BITFeedbackActivity.h" 72 | #import "BITFeedbackComposeViewController.h" 73 | #import "BITFeedbackComposeViewControllerDelegate.h" 74 | #import "BITFeedbackListViewController.h" 75 | #endif /* HOCKEYSDK_FEATURE_FEEDBACK */ 76 | 77 | #if HOCKEYSDK_FEATURE_AUTHENTICATOR 78 | #import "BITAuthenticator.h" 79 | #endif /* HOCKEYSDK_FEATURE_AUTHENTICATOR */ 80 | 81 | #if HOCKEYSDK_FEATURE_METRICS 82 | #import "BITMetricsManager.h" 83 | #endif /* HOCKEYSDK_FEATURE_METRICS */ 84 | 85 | // Notification message which HockeyManager is listening to, to retry requesting updated from the server. 86 | // This can be used by app developers to trigger additional points where the HockeySDK can try sending 87 | // pending crash reports or feedback messages. 88 | // By default the SDK retries sending pending data only when the app becomes active. 89 | #define BITHockeyNetworkDidBecomeReachableNotification @"BITHockeyNetworkDidBecomeReachable" 90 | 91 | extern NSString *const kBITCrashErrorDomain; 92 | extern NSString *const kBITUpdateErrorDomain; 93 | extern NSString *const kBITFeedbackErrorDomain; 94 | extern NSString *const kBITAuthenticatorErrorDomain; 95 | extern NSString *const __attribute__((unused)) kBITHockeyErrorDomain; 96 | 97 | -------------------------------------------------------------------------------- /UnityPluginSources/HockeyAppUnity/HockeySDKEnums.h: -------------------------------------------------------------------------------- 1 | // 2 | // HockeySDKEnums.h 3 | // HockeySDK 4 | // 5 | // Created by Lukas Spieß on 08/10/15. 6 | // 7 | // 8 | 9 | #ifndef HockeySDK_HockeyEnums_h 10 | #define HockeySDK_HockeyEnums_h 11 | 12 | /** 13 | * HockeySDK Log Levels 14 | */ 15 | typedef NS_ENUM(NSUInteger, BITLogLevel) { 16 | /** 17 | * Logging is disabled 18 | */ 19 | BITLogLevelNone = 0, 20 | /** 21 | * Only errors will be logged 22 | */ 23 | BITLogLevelError = 1, 24 | /** 25 | * Errors and warnings will be logged 26 | */ 27 | BITLogLevelWarning = 2, 28 | /** 29 | * Debug information will be logged 30 | */ 31 | BITLogLevelDebug = 3, 32 | /** 33 | * Logging will be very chatty 34 | */ 35 | BITLogLevelVerbose = 4 36 | }; 37 | 38 | typedef NSString *(^BITLogMessageProvider)(void); 39 | typedef void (^BITLogHandler)(BITLogMessageProvider messageProvider, BITLogLevel logLevel, const char *file, const char *function, uint line); 40 | 41 | /** 42 | * HockeySDK App environment 43 | */ 44 | typedef NS_ENUM(NSInteger, BITEnvironment) { 45 | /** 46 | * App has been downloaded from the AppStore 47 | */ 48 | BITEnvironmentAppStore = 0, 49 | /** 50 | * App has been downloaded from TestFlight 51 | */ 52 | BITEnvironmentTestFlight = 1, 53 | /** 54 | * App has been installed by some other mechanism. 55 | * This could be Ad-Hoc, Enterprise, etc. 56 | */ 57 | BITEnvironmentOther = 99 58 | }; 59 | 60 | /** 61 | * HockeySDK Crash Reporter error domain 62 | */ 63 | typedef NS_ENUM (NSInteger, BITCrashErrorReason) { 64 | /** 65 | * Unknown error 66 | */ 67 | BITCrashErrorUnknown, 68 | /** 69 | * API Server rejected app version 70 | */ 71 | BITCrashAPIAppVersionRejected, 72 | /** 73 | * API Server returned empty response 74 | */ 75 | BITCrashAPIReceivedEmptyResponse, 76 | /** 77 | * Connection error with status code 78 | */ 79 | BITCrashAPIErrorWithStatusCode 80 | }; 81 | 82 | /** 83 | * HockeySDK Update error domain 84 | */ 85 | typedef NS_ENUM (NSInteger, BITUpdateErrorReason) { 86 | /** 87 | * Unknown error 88 | */ 89 | BITUpdateErrorUnknown, 90 | /** 91 | * API Server returned invalid status 92 | */ 93 | BITUpdateAPIServerReturnedInvalidStatus, 94 | /** 95 | * API Server returned invalid data 96 | */ 97 | BITUpdateAPIServerReturnedInvalidData, 98 | /** 99 | * API Server returned empty response 100 | */ 101 | BITUpdateAPIServerReturnedEmptyResponse, 102 | /** 103 | * Authorization secret missing 104 | */ 105 | BITUpdateAPIClientAuthorizationMissingSecret, 106 | /** 107 | * No internet connection 108 | */ 109 | BITUpdateAPIClientCannotCreateConnection 110 | }; 111 | 112 | /** 113 | * HockeySDK Feedback error domain 114 | */ 115 | typedef NS_ENUM(NSInteger, BITFeedbackErrorReason) { 116 | /** 117 | * Unknown error 118 | */ 119 | BITFeedbackErrorUnknown, 120 | /** 121 | * API Server returned invalid status 122 | */ 123 | BITFeedbackAPIServerReturnedInvalidStatus, 124 | /** 125 | * API Server returned invalid data 126 | */ 127 | BITFeedbackAPIServerReturnedInvalidData, 128 | /** 129 | * API Server returned empty response 130 | */ 131 | BITFeedbackAPIServerReturnedEmptyResponse, 132 | /** 133 | * Authorization secret missing 134 | */ 135 | BITFeedbackAPIClientAuthorizationMissingSecret, 136 | /** 137 | * No internet connection 138 | */ 139 | BITFeedbackAPIClientCannotCreateConnection 140 | }; 141 | 142 | /** 143 | * HockeySDK Authenticator error domain 144 | */ 145 | typedef NS_ENUM(NSInteger, BITAuthenticatorReason) { 146 | /** 147 | * Unknown error 148 | */ 149 | BITAuthenticatorErrorUnknown, 150 | /** 151 | * Network error 152 | */ 153 | BITAuthenticatorNetworkError, 154 | 155 | /** 156 | * API Server returned invalid response 157 | */ 158 | BITAuthenticatorAPIServerReturnedInvalidResponse, 159 | /** 160 | * Not Authorized 161 | */ 162 | BITAuthenticatorNotAuthorized, 163 | /** 164 | * Unknown Application ID (configuration error) 165 | */ 166 | BITAuthenticatorUnknownApplicationID, 167 | /** 168 | * Authorization secret missing 169 | */ 170 | BITAuthenticatorAuthorizationSecretMissing, 171 | /** 172 | * Not yet identified 173 | */ 174 | BITAuthenticatorNotIdentified, 175 | }; 176 | 177 | /** 178 | * HockeySDK global error domain 179 | */ 180 | typedef NS_ENUM(NSInteger, BITHockeyErrorReason) { 181 | /** 182 | * Unknown error 183 | */ 184 | BITHockeyErrorUnknown 185 | }; 186 | 187 | #endif /* HockeySDK_HockeyEnums_h */ 188 | -------------------------------------------------------------------------------- /UnityPluginSources/HockeyAppUnity/HockeySDKFeatureConfig.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Author: Andreas Linde 3 | * 4 | * Copyright (c) 2013-2014 HockeyApp, Bit Stadium GmbH. 5 | * All rights reserved. 6 | * 7 | * Permission is hereby granted, free of charge, to any person 8 | * obtaining a copy of this software and associated documentation 9 | * files (the "Software"), to deal in the Software without 10 | * restriction, including without limitation the rights to use, 11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the 13 | * Software is furnished to do so, subject to the following 14 | * conditions: 15 | * 16 | * The above copyright notice and this permission notice shall be 17 | * included in all copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 26 | * OTHER DEALINGS IN THE SOFTWARE. 27 | */ 28 | 29 | /** 30 | * This is the template feature config that is used for debug builds and during development. 31 | * For the Distribution target, we are using separate configs that will be copied over in our build script. 32 | */ 33 | 34 | 35 | #ifndef HockeySDK_HockeySDKFeatureConfig_h 36 | #define HockeySDK_HockeySDKFeatureConfig_h 37 | 38 | /** 39 | * If true, include support for handling crash reports 40 | * 41 | * _Default_: Enabled 42 | */ 43 | #ifndef HOCKEYSDK_FEATURE_CRASH_REPORTER 44 | # define HOCKEYSDK_FEATURE_CRASH_REPORTER 1 45 | #endif /* HOCKEYSDK_FEATURE_CRASH_REPORTER */ 46 | 47 | 48 | /** 49 | * If true, include support for managing user feedback 50 | * 51 | * _Default_: Enabled 52 | */ 53 | #ifndef HOCKEYSDK_FEATURE_FEEDBACK 54 | # define HOCKEYSDK_FEATURE_FEEDBACK 1 55 | #endif /* HOCKEYSDK_FEATURE_FEEDBACK */ 56 | 57 | 58 | /** 59 | * If true, include support for informing the user about new updates pending in the App Store 60 | * 61 | * _Default_: Enabled 62 | */ 63 | #ifndef HOCKEYSDK_FEATURE_STORE_UPDATES 64 | # define HOCKEYSDK_FEATURE_STORE_UPDATES 1 65 | #endif /* HOCKEYSDK_FEATURE_STORE_UPDATES */ 66 | 67 | 68 | /** 69 | * If true, include support for authentication installations for Ad-Hoc and Enterprise builds 70 | * 71 | * _Default_: Enabled 72 | */ 73 | #ifndef HOCKEYSDK_FEATURE_AUTHENTICATOR 74 | # define HOCKEYSDK_FEATURE_AUTHENTICATOR 1 75 | #endif /* HOCKEYSDK_FEATURE_AUTHENTICATOR */ 76 | 77 | 78 | /** 79 | * If true, include support for handling in-app updates for Ad-Hoc and Enterprise builds 80 | * 81 | * _Default_: Enabled 82 | */ 83 | #ifndef HOCKEYSDK_FEATURE_UPDATES 84 | # define HOCKEYSDK_FEATURE_UPDATES 1 85 | #endif /* HOCKEYSDK_FEATURE_UPDATES */ 86 | 87 | 88 | /** 89 | * If true, include support for auto collecting metrics data such as sessions and user 90 | * 91 | * _Default_: Enabled 92 | */ 93 | #ifndef HOCKEYSDK_FEATURE_METRICS 94 | # define HOCKEYSDK_FEATURE_METRICS 1 95 | #endif /* HOCKEYSDK_FEATURE_METRICS */ 96 | 97 | #endif /* HockeySDK_HockeySDKFeatureConfig_h */ 98 | -------------------------------------------------------------------------------- /UnityPluginSources/HockeyAppUnity/HockeySDKNullability.h: -------------------------------------------------------------------------------- 1 | // 2 | // HockeyNullability.h 3 | // HockeySDK 4 | // 5 | // Created by Andreas Linde on 12/06/15. 6 | // 7 | // 8 | 9 | #ifndef HockeySDK_HockeyNullability_h 10 | #define HockeySDK_HockeyNullability_h 11 | 12 | // Define nullability fallback for backwards compatibility 13 | #if !__has_feature(nullability) 14 | #define NS_ASSUME_NONNULL_BEGIN 15 | #define NS_ASSUME_NONNULL_END 16 | #define nullable 17 | #define nonnull 18 | #define null_unspecified 19 | #define null_resettable 20 | #define _Nullable 21 | #define _Nonnull 22 | #define __nullable 23 | #define __nonnull 24 | #define __null_unspecified 25 | #endif 26 | 27 | // Fallback for convenience syntax which might not be available in older SDKs 28 | #ifndef NS_ASSUME_NONNULL_BEGIN 29 | #define NS_ASSUME_NONNULL_BEGIN _Pragma("clang assume_nonnull begin") 30 | #endif 31 | #ifndef NS_ASSUME_NONNULL_END 32 | #define NS_ASSUME_NONNULL_END _Pragma("clang assume_nonnull end") 33 | #endif 34 | 35 | #endif /* HockeySDK_HockeyNullability_h */ 36 | --------------------------------------------------------------------------------