{"metadata":{"image":[],"title":"","description":""},"api":{"url":"","auth":"required","results":{"codes":[]},"settings":"","params":[]},"next":{"description":"","pages":[]},"title":"Updating from 2.x.x to 3.6.0.","type":"basic","slug":"updating-from-2xx-to-300-1","excerpt":"","body":"Version 3.0.0 is the next major release of the Pulsate SDK. There are a few changes that require Developers to update their current implementations. You can find a list of all important changes below.\n[block:api-header]\n{\n  \"title\": \"What's different in 3.6.0\"\n}\n[/block]\n1. \"*Pulsate.install(Application app)*\" has been removed. The Pulsate SDK now automatically starts with the Application. Please remove Pulsate.install(this) from your Application classes.\n\n2. minSdkVersion is now 16 up from 15, targetSdkVersion and compileSdkVersion is now 30 up from 28. Please update your gradle configs.\n\n3. The SDK now uses AndroidX. Please migrate your App to AndroidX.\n\n4. Play Services have been updated. We updated play-services-location to version 17.1.0 and play-services-maps to version 17.0.0. If you use these libraries please use the same version.\n\n5. The SDK now uses SQLCipher to encrypt data. SQLCipher is a native library and native libraries can increase App size. To reduce the App Size please read - https://pulsate.readme.io/v2.8/docs/reducing-apk-size-1.\n\n6. Firebase has been updated to - firebase-core:18.0.0, firebase-messaging:21.0.0 and firebase-storage:19.2.0. Please use the same versions to prevent any bugs caused by version mismatches.\n\n7. Location Permission changes - to be able to Geofence and Beacon Scan on Android Q and Android R require a new permission - android.permission.ACCESS_BACKGROUND_LOCATION. How to implement the new permission and more can be found here - https://pulsate.readme.io/v2.8/docs/android-permissions\n\n8. PulsateManager changes - isLocationUpdatesEnabled(), isMicrofencingEnabled(), isInAppNotificationEnabled(), isPushNotificationEnabled(), isUserAuthorized(), isNewThreadButtonEnabled(), isLocationWithBeaconEvents(), getPrivacy(), getLastKnownLocation() - no longer return values directly, these methods now return values to the new IPulsateValueListener.\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"pulsateManager.isInAppNotificationEnabled(new IPulsateValueListener<Boolean>() {\\n  :::at:::Override\\n  public void onSuccess(Boolean value) {\\n\\n  }\\n\\n  @Override\\n  public void onError(Throwable e) {\\n\\n  }\\n});\",\n      \"language\": \"java\"\n    }\n  ]\n}\n[/block]","updates":[],"order":1,"isReference":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"_id":"5f2ab3b79e023206d473130d","createdAt":"2020-08-05T13:27:19.373Z","user":"57bc3654b9c7f0220009c77b","category":{"sync":{"isSync":false,"url":""},"pages":[],"title":"Updates","slug":"updates","order":4,"from_sync":false,"reference":false,"_id":"5f2ab205bc35e507e8cead35","createdAt":"2020-08-05T13:20:05.677Z","version":"5e5019b49e8f240011cc6ade","project":"54aa7f773b56130b0056c86e","__v":0},"version":{"version":"2.8","version_clean":"2.8.0","codename":"Android SDK","is_stable":false,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":["5e5019b49e8f240011cc6a47","55781fe35129590d003ff4f9","55781fe35129590d003ff4fa","5e5019b49e8f240011cc6a48","5e5019b49e8f240011cc6a49","5e5019b49e8f240011cc6a4a","5e5019b49e8f240011cc6a4b","5e5019b49e8f240011cc6a4c","565b66c446118c0d00dcb0bb","56898269f8dc340d00308c13","5e5019b49e8f240011cc6a4d","5e5019b49e8f240011cc6a4e","5c73dd27e8fdc000572a206a","5e5019b49e8f240011cc6a4f","5e501b7e7c8bdc00450ea66a","5e53daa9884b750025b5cad4","5f2ab0dfbf70f7063ad0c4f3","5f2ab1e9448d87068b348f9c","5f2ab1f9c1644603559149ac","5f2ab205bc35e507e8cead35"],"_id":"5e5019b49e8f240011cc6ade","project":"54aa7f773b56130b0056c86e","forked_from":"5e4fbbbda8fb41028f1861fe","__v":6,"createdAt":"2015-06-10T11:30:42.700Z","releaseDate":"2015-06-10T11:30:42.700Z"},"project":"54aa7f773b56130b0056c86e","__v":0,"parentDoc":null}

Updating from 2.x.x to 3.6.0.


Version 3.0.0 is the next major release of the Pulsate SDK. There are a few changes that require Developers to update their current implementations. You can find a list of all important changes below. [block:api-header] { "title": "What's different in 3.6.0" } [/block] 1. "*Pulsate.install(Application app)*" has been removed. The Pulsate SDK now automatically starts with the Application. Please remove Pulsate.install(this) from your Application classes. 2. minSdkVersion is now 16 up from 15, targetSdkVersion and compileSdkVersion is now 30 up from 28. Please update your gradle configs. 3. The SDK now uses AndroidX. Please migrate your App to AndroidX. 4. Play Services have been updated. We updated play-services-location to version 17.1.0 and play-services-maps to version 17.0.0. If you use these libraries please use the same version. 5. The SDK now uses SQLCipher to encrypt data. SQLCipher is a native library and native libraries can increase App size. To reduce the App Size please read - https://pulsate.readme.io/v2.8/docs/reducing-apk-size-1. 6. Firebase has been updated to - firebase-core:18.0.0, firebase-messaging:21.0.0 and firebase-storage:19.2.0. Please use the same versions to prevent any bugs caused by version mismatches. 7. Location Permission changes - to be able to Geofence and Beacon Scan on Android Q and Android R require a new permission - android.permission.ACCESS_BACKGROUND_LOCATION. How to implement the new permission and more can be found here - https://pulsate.readme.io/v2.8/docs/android-permissions 8. PulsateManager changes - isLocationUpdatesEnabled(), isMicrofencingEnabled(), isInAppNotificationEnabled(), isPushNotificationEnabled(), isUserAuthorized(), isNewThreadButtonEnabled(), isLocationWithBeaconEvents(), getPrivacy(), getLastKnownLocation() - no longer return values directly, these methods now return values to the new IPulsateValueListener. [block:code] { "codes": [ { "code": "pulsateManager.isInAppNotificationEnabled(new IPulsateValueListener<Boolean>() {\n @Override\n public void onSuccess(Boolean value) {\n\n }\n\n @Override\n public void onError(Throwable e) {\n\n }\n});", "language": "java" } ] } [/block]