diff --git a/Documentation/Changelog.md b/Documentation/Changelog.md index 296d027..3f907bb 100644 --- a/Documentation/Changelog.md +++ b/Documentation/Changelog.md @@ -1,4 +1,41 @@ -###Changelog:### +## Changelog + +### 5.0.0 + +Upgrade to HockeySDK for Android 5.0.2. + +This release comes with one major breaking change. HockeySDK 5.0.0 raises the minimum API level to 15. +In addition, we no longer support restricting builds by device id. The reason is that, with Android O, `ANDROID_ID` no longer ensures a consistent way of identification of a user. + +To be ready for Android O, HockeySDK-Android now limits the `WRITE_EXTERNAL_STORAGE` permission with the `maxSdkVersion` filter. In some use cases, e.g. where an app contains a dependency that requires this permission, `maxSdkVersion` makes it impossible for those dependencies to grant or request the permission. The solution for those cases is to declare the `tools:node="replace"` manifest merging strategy later in the dependency tree: + +`````` + +#### Full changelog + +In addition, this release contains the following changes: + +* [IMPROVEMENT] Support for Android O. +* [IMPROVEMENT] Code scans no longer trigger warnings related to usage of `ANDROID_ID` as we are no longer using it. +* [IMPROVEMENT] The SDK supports Android Strict Mode way better as it no longer violates it. +* [IMPROVEMENT] We've improved the way we send Feedback attachments. +* [IMPROVEMENT] The SDK no longer caches information about in-app updates to make sure updates are available immediately. The iOS SDK has behaved like this for a while and we decided to align the behavior across SDKs. +* [IMPROVEMENT] Add the ability to when to show the UpdateFragment [#280](https://github.com/bitstadium/HockeySDK-Android/issues/280). +* [IMPROVEMENT] Retrieving the last crash details is now asynchronous. +* [BUGFIX] Metrics no longer leaks a connection. +* [BUGFIX] It's no longer possible to circumvent the login UI by pressing the backbutton under certain circumstances [#278](https://github.com/bitstadium/HockeySDK-Android/pull/278). +* [BUGFIX] Fix a crash in MetricsManager [#279](https://github.com/bitstadium/HockeySDK-Android/pull/279). +* [BUGFIX] Fix authentication by email [#288](https://github.com/bitstadium/HockeySDK-Android/pull/288). +* [BUGFIX] Fix a regression that was introduced in 5.0.0-beta.1 that prevented attaching screenshots to work [#289](https://github.com/bitstadium/HockeySDK-Android/pull/289). +* [BUGFIX] Fix Feedback notifications on Android [#290](https://github.com/bitstadium/HockeySDK-Android/pull/290). +* [IMPROVEMENT] Add the ability to when to show the UpdateFragment [#280](https://github.com/bitstadium/HockeySDK-Android/issues/280). +* [IMPROVEMENT] `CrashManagerListener` now has `onNoCrashesFound()` to notify you in case no new crashes were found [#280](https://github.com/bitstadium/HockeySDK-Android/issues/280). +* [DEPRECATION] We've removed the `onCrashesFound` callback in `CrashManagerListener` as it has been deprecated since HockeySDK 3.0.0. +* [Bugfix] Fixes a NPE in `FeedbackActivity`. [#303](https://github.com/bitstadium/HockeySDK-Android/pull/303) +* [Bugfix] Fixes a potential deadlock in `CrashManager`.[#https://github.com/bitstadium/HockeySDK-Android/pull/308] +* [Improvement] Fix potential NPE when calling `MetricsManager.sessionTrackingEnabled()` before calling `MetricsManager.register(...)`. [#310](https://github.com/bitstadium/HockeySDK-Android/pull/310) +* * [Bugfix] Fix a bug in the Italian translation. [#296](https://github.com/bitstadium/HockeySDK-Android/pull/296) +* [Improvement] Use different timestamp format for crash date and app start time. [#297](https://github.com/bitstadium/HockeySDK-Android/pull/297) ### 1.1.6 @@ -6,7 +43,7 @@ Upgrade to HockeySDK for Android 4.1.5 * [FIX] Fix a resource leak in Sender. * [FIX] Fix possibility to bypass authentication. -* [FIX] Fix the progressbar when sending feedback. +* [FIX] Fix the progress bar when sending feedback. * [FIX] Fix the dates in the Feedback UI. * [FIX] Fix ConcurrentModificationException in metrics feature. * [FIX] Fix potential crash related to multi-threading in Channel. diff --git a/ExampleGame/Assets/HockeyAppUnityAndroid/AndroidManifest.xml b/ExampleGame/Assets/HockeyAppUnityAndroid/AndroidManifest.xml index 5f8c0d0..31eff70 100644 --- a/ExampleGame/Assets/HockeyAppUnityAndroid/AndroidManifest.xml +++ b/ExampleGame/Assets/HockeyAppUnityAndroid/AndroidManifest.xml @@ -1,11 +1,11 @@ + android:versionCode="17" + android:versionName="5.0.0" > diff --git a/ExampleGame/Assets/HockeyAppUnityAndroid/HockeyAppUnity-Scripts/HockeyAppAndroid.cs b/ExampleGame/Assets/HockeyAppUnityAndroid/HockeyAppUnity-Scripts/HockeyAppAndroid.cs index fb0efe7..a19a32c 100644 --- a/ExampleGame/Assets/HockeyAppUnityAndroid/HockeyAppUnity-Scripts/HockeyAppAndroid.cs +++ b/ExampleGame/Assets/HockeyAppUnityAndroid/HockeyAppUnity-Scripts/HockeyAppAndroid.cs @@ -1,5 +1,5 @@ /* - * Version: 1.1.6 + * Version: 5.0.0 */ using UnityEngine; diff --git a/ExampleGame/Assets/HockeyAppUnityAndroid/HockeySDK-4.1.5.aar b/ExampleGame/Assets/HockeyAppUnityAndroid/HockeySDK-4.1.5.aar deleted file mode 100644 index cc47805..0000000 Binary files a/ExampleGame/Assets/HockeyAppUnityAndroid/HockeySDK-4.1.5.aar and /dev/null differ diff --git a/ExampleGame/Assets/HockeyAppUnityAndroid/HockeySDK-4.1.5.aar.meta b/ExampleGame/Assets/HockeyAppUnityAndroid/HockeySDK-4.1.5.aar.meta deleted file mode 100644 index 678469e..0000000 --- a/ExampleGame/Assets/HockeyAppUnityAndroid/HockeySDK-4.1.5.aar.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 6d0e281a3eb05489da5408bc745d8558 -timeCreated: 1501524001 -licenseType: Pro -PluginImporter: - serializedVersion: 1 - iconMap: {} - executionOrder: {} - isPreloaded: 0 - platformData: - Any: - enabled: 1 - settings: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/ExampleGame/Assets/HockeyAppUnityAndroid/HockeySDK-5.0.2.aar b/ExampleGame/Assets/HockeyAppUnityAndroid/HockeySDK-5.0.2.aar new file mode 100644 index 0000000..48649e3 Binary files /dev/null and b/ExampleGame/Assets/HockeyAppUnityAndroid/HockeySDK-5.0.2.aar differ diff --git a/ExampleGame/Assets/HockeyAppUnityAndroid/HockeySDK-5.0.2.aar.meta b/ExampleGame/Assets/HockeyAppUnityAndroid/HockeySDK-5.0.2.aar.meta new file mode 100644 index 0000000..3d55228 --- /dev/null +++ b/ExampleGame/Assets/HockeyAppUnityAndroid/HockeySDK-5.0.2.aar.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 92b859477e65344bbb773112831d9ceb +timeCreated: 1506562305 +licenseType: Pro +PluginImporter: + serializedVersion: 2 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + isOverridable: 0 + platformData: + data: + first: + Android: Android + second: + enabled: 1 + settings: {} + data: + first: + Any: + second: + enabled: 0 + settings: {} + data: + first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + userData: + assetBundleName: + assetBundleVariant: diff --git a/ExampleGame/Assets/HockeyAppUnityAndroid/hockeysdk-unity-1.1.6.aar.meta b/ExampleGame/Assets/HockeyAppUnityAndroid/hockeysdk-unity-1.1.6.aar.meta deleted file mode 100644 index 9c0a0e3..0000000 --- a/ExampleGame/Assets/HockeyAppUnityAndroid/hockeysdk-unity-1.1.6.aar.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: 85a18eb70b2dc4155b5e9d88764ce8d4 -timeCreated: 1501524001 -licenseType: Pro -PluginImporter: - serializedVersion: 1 - iconMap: {} - executionOrder: {} - isPreloaded: 0 - platformData: - Any: - enabled: 1 - settings: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Plugins/HockeyAppUnityAndroid/hockeysdk-unity-1.1.6.aar b/ExampleGame/Assets/HockeyAppUnityAndroid/hockeysdk-unity-5.0.0.aar similarity index 80% rename from Plugins/HockeyAppUnityAndroid/hockeysdk-unity-1.1.6.aar rename to ExampleGame/Assets/HockeyAppUnityAndroid/hockeysdk-unity-5.0.0.aar index e3c4db6..fa3e71b 100644 Binary files a/Plugins/HockeyAppUnityAndroid/hockeysdk-unity-1.1.6.aar and b/ExampleGame/Assets/HockeyAppUnityAndroid/hockeysdk-unity-5.0.0.aar differ diff --git a/ExampleGame/Assets/HockeyAppUnityAndroid/hockeysdk-unity-5.0.0.aar.meta b/ExampleGame/Assets/HockeyAppUnityAndroid/hockeysdk-unity-5.0.0.aar.meta new file mode 100644 index 0000000..41d11ea --- /dev/null +++ b/ExampleGame/Assets/HockeyAppUnityAndroid/hockeysdk-unity-5.0.0.aar.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 268d07c12acd74880949134e3a496b1f +timeCreated: 1506562305 +licenseType: Pro +PluginImporter: + serializedVersion: 2 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + isOverridable: 0 + platformData: + data: + first: + Android: Android + second: + enabled: 1 + settings: {} + data: + first: + Any: + second: + enabled: 0 + settings: {} + data: + first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + userData: + assetBundleName: + assetBundleVariant: diff --git a/ExampleGame/ProjectSettings/ProjectSettings.asset b/ExampleGame/ProjectSettings/ProjectSettings.asset index f482012..c6f2269 100644 Binary files a/ExampleGame/ProjectSettings/ProjectSettings.asset and b/ExampleGame/ProjectSettings/ProjectSettings.asset differ diff --git a/ExampleGame/ProjectSettings/ProjectVersion.txt b/ExampleGame/ProjectSettings/ProjectVersion.txt index b0ac510..e48a9f5 100644 --- a/ExampleGame/ProjectSettings/ProjectVersion.txt +++ b/ExampleGame/ProjectSettings/ProjectVersion.txt @@ -1,2 +1 @@ -m_EditorVersion: 5.0.0f4 -m_StandardAssetsVersion: 0 +m_EditorVersion: 5.6.3f1 diff --git a/HockeyAppUnityPlugin/hockeysdk-unity/build.gradle b/HockeyAppUnityPlugin/hockeysdk-unity/build.gradle index 7e05091..3891ebb 100644 --- a/HockeyAppUnityPlugin/hockeysdk-unity/build.gradle +++ b/HockeyAppUnityPlugin/hockeysdk-unity/build.gradle @@ -2,10 +2,10 @@ apply plugin: 'com.android.library' android { compileSdkVersion 26 - buildToolsVersion "26.0.0" + buildToolsVersion "26.0.1" defaultConfig { - minSdkVersion 9 + minSdkVersion 15 targetSdkVersion 26 } @@ -25,5 +25,5 @@ repositories { } dependencies { - compile(name:'HockeySDK-4.1.5', ext:'aar') + compile(name:'HockeySDK-5.0.2', ext:'aar') } diff --git a/HockeyAppUnityPlugin/hockeysdk-unity/libs/HockeySDK-4.1.5.aar b/HockeyAppUnityPlugin/hockeysdk-unity/libs/HockeySDK-4.1.5.aar deleted file mode 100644 index cc47805..0000000 Binary files a/HockeyAppUnityPlugin/hockeysdk-unity/libs/HockeySDK-4.1.5.aar and /dev/null differ diff --git a/HockeyAppUnityPlugin/hockeysdk-unity/libs/HockeySDK-5.0.2.aar b/HockeyAppUnityPlugin/hockeysdk-unity/libs/HockeySDK-5.0.2.aar new file mode 100644 index 0000000..48649e3 Binary files /dev/null and b/HockeyAppUnityPlugin/hockeysdk-unity/libs/HockeySDK-5.0.2.aar differ diff --git a/HockeyAppUnityPlugin/hockeysdk-unity/src/main/java/net/hockeyapp/unity/HockeyUnityPlugin.java b/HockeyAppUnityPlugin/hockeysdk-unity/src/main/java/net/hockeyapp/unity/HockeyUnityPlugin.java index 356153e..157e830 100644 --- a/HockeyAppUnityPlugin/hockeysdk-unity/src/main/java/net/hockeyapp/unity/HockeyUnityPlugin.java +++ b/HockeyAppUnityPlugin/hockeysdk-unity/src/main/java/net/hockeyapp/unity/HockeyUnityPlugin.java @@ -202,11 +202,6 @@ public static String getVersionName() { */ public static String getSdkName() {return Constants.SDK_NAME; } - /** - * @return unique identifier for crash reports. - */ - public static String getCrashReporterKey() {return Constants.CRASH_IDENTIFIER; } - /** * @return the device's model manufacturer name. */ diff --git a/Plugins/HockeyAppUnityAndroid/AndroidManifest.xml b/Plugins/HockeyAppUnityAndroid/AndroidManifest.xml index 5f8c0d0..31eff70 100644 --- a/Plugins/HockeyAppUnityAndroid/AndroidManifest.xml +++ b/Plugins/HockeyAppUnityAndroid/AndroidManifest.xml @@ -1,11 +1,11 @@ + android:versionCode="17" + android:versionName="5.0.0" > diff --git a/Plugins/HockeyAppUnityAndroid/HockeyAppUnity-Scripts/HockeyAppAndroid.cs b/Plugins/HockeyAppUnityAndroid/HockeyAppUnity-Scripts/HockeyAppAndroid.cs index fb0efe7..ddbc8d3 100644 --- a/Plugins/HockeyAppUnityAndroid/HockeyAppUnity-Scripts/HockeyAppAndroid.cs +++ b/Plugins/HockeyAppUnityAndroid/HockeyAppUnity-Scripts/HockeyAppAndroid.cs @@ -1,5 +1,5 @@ /* - * Version: 1.1.6 + * Version: 5.0.0 */ using UnityEngine; @@ -16,6 +16,7 @@ public class HockeyAppAndroid : MonoBehaviour protected const string HOCKEYAPP_CRASHESPATH = "api/2/apps/[APPID]/crashes/upload"; protected const int MAX_CHARS = 199800; protected const string LOG_FILE_DIR = "/logs/"; + private const string SERVER_URL_PLACEHOLDER = "your-custom-server-url"; private static HockeyAppAndroid instance; public enum AuthenticatorType @@ -29,7 +30,7 @@ public enum AuthenticatorType [Header("HockeyApp Setup")] public string appID = "your-hockey-app-id"; public string packageID = "your-package-identifier"; - public string serverURL = "your-custom-server-url"; + public string serverURL = SERVER_URL_PLACEHOLDER; [Header("Authentication")] public AuthenticatorType authenticatorType; @@ -477,7 +478,7 @@ protected virtual string GetBaseURL () #if (UNITY_ANDROID && !UNITY_EDITOR) string urlString = serverURL.Trim(); - if(urlString.Length > 0) { + if(urlString.Length > 0 && urlString != SERVER_URL_PLACEHOLDER) { baseURL = urlString; if(baseURL[baseURL.Length -1].Equals("/") != true) { diff --git a/Plugins/HockeyAppUnityAndroid/HockeySDK-4.1.5.aar b/Plugins/HockeyAppUnityAndroid/HockeySDK-4.1.5.aar deleted file mode 100644 index cc47805..0000000 Binary files a/Plugins/HockeyAppUnityAndroid/HockeySDK-4.1.5.aar and /dev/null differ diff --git a/Plugins/HockeyAppUnityAndroid/HockeySDK-5.0.2.aar b/Plugins/HockeyAppUnityAndroid/HockeySDK-5.0.2.aar new file mode 100644 index 0000000..48649e3 Binary files /dev/null and b/Plugins/HockeyAppUnityAndroid/HockeySDK-5.0.2.aar differ diff --git a/Plugins/HockeyAppUnityAndroid/README.pdf b/Plugins/HockeyAppUnityAndroid/README.pdf new file mode 100644 index 0000000..d417ce6 Binary files /dev/null and b/Plugins/HockeyAppUnityAndroid/README.pdf differ diff --git a/ExampleGame/Assets/HockeyAppUnityAndroid/hockeysdk-unity-1.1.6.aar b/Plugins/HockeyAppUnityAndroid/hockeysdk-unity-5.0.0.aar similarity index 80% rename from ExampleGame/Assets/HockeyAppUnityAndroid/hockeysdk-unity-1.1.6.aar rename to Plugins/HockeyAppUnityAndroid/hockeysdk-unity-5.0.0.aar index e3c4db6..fa3e71b 100644 Binary files a/ExampleGame/Assets/HockeyAppUnityAndroid/hockeysdk-unity-1.1.6.aar and b/Plugins/HockeyAppUnityAndroid/hockeysdk-unity-5.0.0.aar differ diff --git a/README.md b/README.md index 1502a4b..e8b3ec2 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -## Version 1.1.6 +# Version 5.0.0 ## Introduction @@ -10,7 +10,7 @@ The following features are currently supported: 2. **Collect exceptions** The HockeySDK-Unity-Android can automatically report uncaught managed exceptions coming from your C# code. Just like crashes, those exceptions will be sent on the next app start and are displayed on HockeyApp. -2. **User metrics:** Understand user behavior to improve your app. Track usage through daily and monthly active users. Monitor crash impacted users. Measure customer engagement through session count. This feature requires a minimum API level of 14 (Android 4.x Ice Cream Sandwich). +2. **User metrics:** Understand user behavior to improve your app. Track usage through daily and monthly active users. Monitor crash impacted users. Measure customer engagement through session count. 3. **Update alpha/beta apps:** The app will check with HockeyApp if a new version for your alpha/beta build is available. If yes, it will show a dialog to users and let them see the release notes, the version history and start the installation process right away. You can even force the installation of certain updates. @@ -20,7 +20,7 @@ The following features are currently supported: This document contains the following sections: -1. [Requirements (Version 1.1.6)](#1) +1. [Requirements](#1) 2. [Installation & Setup](#2) 3. [Examples](#3) 4. [Troubleshooting](#4) @@ -28,11 +28,11 @@ This document contains the following sections: 6. [Contributor License](#6) 7. [Licenses](#7) -## Requirements (Version 1.1.6) +## Requirements * [Changelog](Documentation/Changelog.md) * Unity 5.0 or newer (SDK versions with Unity 4 support can be found at the [Unity Asset Store](https://www.assetstore.unity3d.com/en/?gclid=CO) or by switching to the 1.0.3 tag on GitHub). -* Android 2.3 or newer. +* Android API level 15 or later. ## Installation & Setup