-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Rich push support #34
Conversation
Shahroz16
commented
Nov 10, 2021
- Support for links (universal and deep link)
- Support to override deep link handling in the host application
- Support for images and image style of notifications
- Support for both Notification payload and data payload in notifications
* chore: updated dependencies management * chore: updated process to upload artifacts * chore: added ci workflow for snapshot * chore: ignore idea file changes * chore: updated git ignore to cater idea files * chore: fixed untracked files * chore: added missing dependencies
- Checking if same snapshot artifact gets updated
- Lint - Documentation
* Network layer added * Common module added with support of network layer
* Updated name to avoid conflicts with Retrofit Call object * CustomerIo client facing class added * Client updates - Updated header interceptors - Added network config - Added Custom adapter for retrofit * chore: Added ability to identity customer (#24) * Added features to identity customer * Ktlint changes * sample app set up for local testing * Local testing sample application updated
* Updated name to avoid conflicts with Retrofit Call object * CustomerIo client facing class added * Client updates - Updated header interceptors - Added network config - Added Custom adapter for retrofit * chore: Added ability to identity customer (#24) * Added features to identity customer * Ktlint changes * sample app set up for local testing * Local testing sample application updated * Unidentified error type added * Preference repository added to store customer info * Attributes mapping and types updated * Event tracking added * Event tracking updates - Added `SupportedAttributesFactory` to parse only the acceptable json params - Added clear identity support * Sample application updated with event tracking * Updated Identify to accept variety of data - Previously was limited to string|bool|int * PR suggestions - CustomerIO renamed - PreferenceRepository uses `site ID` as key * Imports sorted * Prefs name updates with site and app id
* Messaging push module added - Add device - Delete device - Track metric * Added metric tracking for push * Added receiver for push open
- API 30 above its deprecated
} catch (e: IOException) { | ||
null | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are there more exceptions that can be thrown besides IOException
from this try{}
block? I agree that this is a good approach to try to create a Bitmap and if for any reason it fails, just continue on with the push notification and display it. My concern is that there could be a different exception thrown and the SDK code does not catch it resulting in a runtime crash.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point, it would be safer to go with the Exception
class and not just IOException
fun setCustomerIOUrlHandler(urlHandler: CustomerIOUrlHandler): Builder { | ||
this.urlHandler = urlHandler | ||
return this | ||
} | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What use case would having a url handler help with? I have wondered about a url handler as well, but wasn't sure if it provided enough value because apps can setup deep link handling in their app. My thought is that setting up deep link handling is a universal way for an app to handle deep links not dependent on an SDK or tool.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is there for the applications that do the internal Deep linking managements via some Deep linking manager. For example, applications that use multi modules approach and activities in each module. Or an activity, that has complex navigation graphs and supports fragment navigations of deep link internally, or any application that uses 3rd party deep linking library.
So we support both cases, android recommended Manifest
way or URL handler.
<queries> | ||
<intent> | ||
<action android:name="android.intent.action.VIEW" /> | ||
<category android:name="android.intent.category.BROWSABLE" /> | ||
<data android:scheme="https" /> | ||
</intent> | ||
<intent> | ||
<action android:name="android.intent.action.VIEW" /> | ||
<category android:name="android.intent.category.BROWSABLE" /> | ||
<data android:scheme="http" /> | ||
</intent> | ||
</queries> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is the need of this code?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We look for possible applications to open a deep link including browser links and for (API level 30) or higher this is needed to do that.
# [1.0.0-alpha.3](1.0.0-alpha.2...1.0.0-alpha.3) (2021-11-11) ### Features * Rich push support ([#34](#34)) ([2480127](2480127))
🎉 This PR is included in version 1.0.0-alpha.3 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
# 1.0.0-beta.1 (2021-12-16) ### Bug Fixes * pro-guarding removal of enums ([#39](#39)) ([dd27d35](dd27d35)) * timestamp conversion issue ([#37](#37)) ([d986f54](d986f54)) * user agent ([#42](#42)) ([37af83e](37af83e)) ### Features * automatic screen tracking ([#52](#52)) ([8f95ebb](8f95ebb)) * event tracking, identify customer ([#29](#29)) ([5181268](5181268)) * manual screen tracking ([#51](#51)) ([213a278](213a278)) * Push notification ([#31](#31)) ([c639802](c639802)) * Rich push support ([#34](#34)) ([2480127](2480127))
🎉 This PR is included in version 1.0.0-beta.1 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
# 1.0.0 (2022-01-19) ### Bug Fixes * pro-guarding removal of enums ([#39](#39)) ([dd27d35](dd27d35)) * timestamp conversion issue ([#37](#37)) ([d986f54](d986f54)) * updated host endpoints ([#53](#53)) ([efe2b9e](efe2b9e)) * user agent ([#42](#42)) ([37af83e](37af83e)) ### Features * automatic screen tracking ([#52](#52)) ([8f95ebb](8f95ebb)) * event tracking, identify customer ([#29](#29)) ([5181268](5181268)) * manual screen tracking ([#51](#51)) ([213a278](213a278)) * Push notification ([#31](#31)) ([c639802](c639802)) * Rich push support ([#34](#34)) ([2480127](2480127))
🎉 This PR is included in version 1.0.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
## 1.0.0 (2023-02-10) ### ⚠ BREAKING CHANGES * android 12 deep link fix * get current FCM token on SDK startup * register device attributes when set * create background queue to make API synchronous ### Features * add device and profile attribute setters ([789f09f](789f09f)) * add device_manufacturer device attribute ([6a60f39](6a60f39)) * add setting a in-app event listener ([customerio#147](https://github.com/nunofgs/customerio-android/issues/147)) ([5fd9559](5fd9559)) * added option to customize push notification from app ([68010f8](68010f8)) * added shared instance for independent components ([70fa8cd](70fa8cd)) * added support for custom track url ([b61a64b](b61a64b)) * added support for device attributes ([customerio#71](https://github.com/nunofgs/customerio-android/issues/71)) ([5fedf26](5fedf26)) * added support to modify notification small icon ([b93c2dc](b93c2dc)) * automatic screen tracking ([customerio#52](https://github.com/nunofgs/customerio-android/issues/52)) ([8f95ebb](8f95ebb)) * changes for react native package ([2f20ac3](2f20ac3)) * create background queue to make API synchronous ([2524460](2524460)) * delete expired background queue tasks ([8dca8b7](8dca8b7)) * event tracking, identify customer ([customerio#29](https://github.com/nunofgs/customerio-android/issues/29)) ([5181268](5181268)) * get current FCM token on SDK startup ([dda443d](dda443d)) * in app sdk ([1036c80](1036c80)) * in-app feature no longer requires orgId ([customerio#163](https://github.com/nunofgs/customerio-android/issues/163)) ([fc2a08e](fc2a08e)) * manual screen tracking ([customerio#51](https://github.com/nunofgs/customerio-android/issues/51)) ([213a278](213a278)) * Push notification ([customerio#31](https://github.com/nunofgs/customerio-android/issues/31)) ([c639802](c639802)) * register device attributes when set ([0f5159e](0f5159e)) * Rich push support ([customerio#34](https://github.com/nunofgs/customerio-android/issues/34)) ([2480127](2480127)) * sdk initialization re-architecture ([9e21960](9e21960)) * set log level via SDK config ([81eea4e](81eea4e)) * support for custom device attributes and config ([customerio#77](https://github.com/nunofgs/customerio-android/issues/77)) ([a7dbaba](a7dbaba)) * updated client to support react native user agent ([7588526](7588526)) ### Bug Fixes * added alternative route to fetch screen name for automatic tracking ([customerio#92](https://github.com/nunofgs/customerio-android/issues/92)) ([37a20b5](37a20b5)) * added java compatibility in public constructors and methods ([2bb73be](2bb73be)) * added java compatibility in public constructors and methods ([acdec46](acdec46)) * added support for big decimal ([customerio#56](https://github.com/nunofgs/customerio-android/issues/56)) ([58c791b](58c791b)) * allow http requests in host app ([customerio#74](https://github.com/nunofgs/customerio-android/issues/74)) ([1035648](1035648)) * android 12 deep link fix ([fd7ae28](fd7ae28)) * cio sdk version attribute using client value ([bb90f35](bb90f35)) * code cleanup ([c651ee6](c651ee6)) * crash using invalid characters in HTTP header ([customerio#75](https://github.com/nunofgs/customerio-android/issues/75)) ([81a065e](81a065e)) * delete device token when clear identify ([72f9753](72f9753)) * deploy code script commands ([customerio#124](https://github.com/nunofgs/customerio-android/issues/124)) ([fe817d1](fe817d1)) * events are tracked to identified customer ([71634ed](71634ed)) * in-app messages instant delivery ([customerio#150](https://github.com/nunofgs/customerio-android/issues/150)) ([a6dcf3c](a6dcf3c)) * in-app messages stop delivering ([4027502](4027502)) * in-app system link causes app reopen ([6349081](6349081)) * moved shared wrapper code ([customerio#158](https://github.com/nunofgs/customerio-android/issues/158)) ([51af98f](51af98f)) * number parsing coverts to double ([customerio#57](https://github.com/nunofgs/customerio-android/issues/57)) ([72a80fe](72a80fe)) * parsing exception for expired tasks ([440bb13](440bb13)) * pro-guarding removal of enums ([customerio#39](https://github.com/nunofgs/customerio-android/issues/39)) ([dd27d35](dd27d35)) * queue attempts to run all tasks on each run ([e180dea](e180dea)) * register device tokens http request ([b1c6872](b1c6872)) * remove currentRoute parameter in in-app event listener ([customerio#159](https://github.com/nunofgs/customerio-android/issues/159)) ([688e4a5](688e4a5)) * rename in app listener keys ([customerio#164](https://github.com/nunofgs/customerio-android/issues/164)) ([f540eaf](f540eaf)) * set gist user token incase identifier exists ([customerio#162](https://github.com/nunofgs/customerio-android/issues/162)) ([44cc4d1](44cc4d1)) * timestamp conversion issue ([customerio#37](https://github.com/nunofgs/customerio-android/issues/37)) ([d986f54](d986f54)) * track opens fcm notification payload ([ab3cd18](ab3cd18)) * updated host endpoints ([customerio#53](https://github.com/nunofgs/customerio-android/issues/53)) ([efe2b9e](efe2b9e)) * updated json adapter usage to safe parsing ([f72280b](f72280b)) * upgrade dependencies ([customerio#146](https://github.com/nunofgs/customerio-android/issues/146)) ([6da8b8d](6da8b8d)) * user agent ([customerio#42](https://github.com/nunofgs/customerio-android/issues/42)) ([37af83e](37af83e)) * user agent client support in preferences repo ([454a18e](454a18e)) * version bump for gist sdk to resolve messaging not showing bug ([05dad42](05dad42))
## 1.0.0 (2023-02-13) ### ⚠ BREAKING CHANGES * android 12 deep link fix * get current FCM token on SDK startup * register device attributes when set * create background queue to make API synchronous ### Features * add device and profile attribute setters ([789f09f](789f09f)) * add device_manufacturer device attribute ([6a60f39](6a60f39)) * add setting a in-app event listener ([customerio#147](https://github.com/nunofgs/customerio-android/issues/147)) ([5fd9559](5fd9559)) * added option to customize push notification from app ([68010f8](68010f8)) * added shared instance for independent components ([70fa8cd](70fa8cd)) * added support for custom track url ([b61a64b](b61a64b)) * added support for device attributes ([customerio#71](https://github.com/nunofgs/customerio-android/issues/71)) ([5fedf26](5fedf26)) * added support to modify notification small icon ([b93c2dc](b93c2dc)) * automatic screen tracking ([customerio#52](https://github.com/nunofgs/customerio-android/issues/52)) ([8f95ebb](8f95ebb)) * changes for react native package ([2f20ac3](2f20ac3)) * create background queue to make API synchronous ([2524460](2524460)) * delete expired background queue tasks ([8dca8b7](8dca8b7)) * event tracking, identify customer ([customerio#29](https://github.com/nunofgs/customerio-android/issues/29)) ([5181268](5181268)) * get current FCM token on SDK startup ([dda443d](dda443d)) * in app sdk ([1036c80](1036c80)) * in-app feature no longer requires orgId ([customerio#163](https://github.com/nunofgs/customerio-android/issues/163)) ([fc2a08e](fc2a08e)) * manual screen tracking ([customerio#51](https://github.com/nunofgs/customerio-android/issues/51)) ([213a278](213a278)) * Push notification ([customerio#31](https://github.com/nunofgs/customerio-android/issues/31)) ([c639802](c639802)) * register device attributes when set ([0f5159e](0f5159e)) * Rich push support ([customerio#34](https://github.com/nunofgs/customerio-android/issues/34)) ([2480127](2480127)) * sdk initialization re-architecture ([9e21960](9e21960)) * set log level via SDK config ([81eea4e](81eea4e)) * support for custom device attributes and config ([customerio#77](https://github.com/nunofgs/customerio-android/issues/77)) ([a7dbaba](a7dbaba)) * updated client to support react native user agent ([7588526](7588526)) ### Bug Fixes * added alternative route to fetch screen name for automatic tracking ([customerio#92](https://github.com/nunofgs/customerio-android/issues/92)) ([37a20b5](37a20b5)) * added java compatibility in public constructors and methods ([2bb73be](2bb73be)) * added java compatibility in public constructors and methods ([acdec46](acdec46)) * added support for big decimal ([customerio#56](https://github.com/nunofgs/customerio-android/issues/56)) ([58c791b](58c791b)) * allow http requests in host app ([customerio#74](https://github.com/nunofgs/customerio-android/issues/74)) ([1035648](1035648)) * android 12 deep link fix ([fd7ae28](fd7ae28)) * cio sdk version attribute using client value ([bb90f35](bb90f35)) * code cleanup ([c651ee6](c651ee6)) * crash using invalid characters in HTTP header ([customerio#75](https://github.com/nunofgs/customerio-android/issues/75)) ([81a065e](81a065e)) * delete device token when clear identify ([72f9753](72f9753)) * deploy code script commands ([customerio#124](https://github.com/nunofgs/customerio-android/issues/124)) ([fe817d1](fe817d1)) * events are tracked to identified customer ([71634ed](71634ed)) * in-app messages instant delivery ([customerio#150](https://github.com/nunofgs/customerio-android/issues/150)) ([a6dcf3c](a6dcf3c)) * in-app messages stop delivering ([4027502](4027502)) * in-app system link causes app reopen ([6349081](6349081)) * moved shared wrapper code ([customerio#158](https://github.com/nunofgs/customerio-android/issues/158)) ([51af98f](51af98f)) * number parsing coverts to double ([customerio#57](https://github.com/nunofgs/customerio-android/issues/57)) ([72a80fe](72a80fe)) * parsing exception for expired tasks ([440bb13](440bb13)) * pro-guarding removal of enums ([customerio#39](https://github.com/nunofgs/customerio-android/issues/39)) ([dd27d35](dd27d35)) * queue attempts to run all tasks on each run ([e180dea](e180dea)) * register device tokens http request ([b1c6872](b1c6872)) * remove currentRoute parameter in in-app event listener ([customerio#159](https://github.com/nunofgs/customerio-android/issues/159)) ([688e4a5](688e4a5)) * rename in app listener keys ([customerio#164](https://github.com/nunofgs/customerio-android/issues/164)) ([f540eaf](f540eaf)) * set gist user token incase identifier exists ([customerio#162](https://github.com/nunofgs/customerio-android/issues/162)) ([44cc4d1](44cc4d1)) * timestamp conversion issue ([customerio#37](https://github.com/nunofgs/customerio-android/issues/37)) ([d986f54](d986f54)) * track opens fcm notification payload ([ab3cd18](ab3cd18)) * updated host endpoints ([customerio#53](https://github.com/nunofgs/customerio-android/issues/53)) ([efe2b9e](efe2b9e)) * updated json adapter usage to safe parsing ([f72280b](f72280b)) * upgrade dependencies ([customerio#146](https://github.com/nunofgs/customerio-android/issues/146)) ([6da8b8d](6da8b8d)) * user agent ([customerio#42](https://github.com/nunofgs/customerio-android/issues/42)) ([37af83e](37af83e)) * user agent client support in preferences repo ([454a18e](454a18e)) * version bump for gist sdk to resolve messaging not showing bug ([05dad42](05dad42))
## 1.0.0 (2023-02-13) ### ⚠ BREAKING CHANGES * android 12 deep link fix * get current FCM token on SDK startup * register device attributes when set * create background queue to make API synchronous ### Features * add device and profile attribute setters ([789f09f](789f09f)) * add device_manufacturer device attribute ([6a60f39](6a60f39)) * add setting a in-app event listener ([customerio#147](https://github.com/nunofgs/customerio-android/issues/147)) ([5fd9559](5fd9559)) * added option to customize push notification from app ([68010f8](68010f8)) * added shared instance for independent components ([70fa8cd](70fa8cd)) * added support for custom track url ([b61a64b](b61a64b)) * added support for device attributes ([customerio#71](https://github.com/nunofgs/customerio-android/issues/71)) ([5fedf26](5fedf26)) * added support to modify notification small icon ([b93c2dc](b93c2dc)) * automatic screen tracking ([customerio#52](https://github.com/nunofgs/customerio-android/issues/52)) ([8f95ebb](8f95ebb)) * changes for react native package ([2f20ac3](2f20ac3)) * create background queue to make API synchronous ([2524460](2524460)) * delete expired background queue tasks ([8dca8b7](8dca8b7)) * event tracking, identify customer ([customerio#29](https://github.com/nunofgs/customerio-android/issues/29)) ([5181268](5181268)) * get current FCM token on SDK startup ([dda443d](dda443d)) * in app sdk ([1036c80](1036c80)) * in-app feature no longer requires orgId ([customerio#163](https://github.com/nunofgs/customerio-android/issues/163)) ([fc2a08e](fc2a08e)) * manual screen tracking ([customerio#51](https://github.com/nunofgs/customerio-android/issues/51)) ([213a278](213a278)) * Push notification ([customerio#31](https://github.com/nunofgs/customerio-android/issues/31)) ([c639802](c639802)) * register device attributes when set ([0f5159e](0f5159e)) * Rich push support ([customerio#34](https://github.com/nunofgs/customerio-android/issues/34)) ([2480127](2480127)) * sdk initialization re-architecture ([9e21960](9e21960)) * set log level via SDK config ([81eea4e](81eea4e)) * support for custom device attributes and config ([customerio#77](https://github.com/nunofgs/customerio-android/issues/77)) ([a7dbaba](a7dbaba)) * updated client to support react native user agent ([7588526](7588526)) ### Bug Fixes * added alternative route to fetch screen name for automatic tracking ([customerio#92](https://github.com/nunofgs/customerio-android/issues/92)) ([37a20b5](37a20b5)) * added java compatibility in public constructors and methods ([2bb73be](2bb73be)) * added java compatibility in public constructors and methods ([acdec46](acdec46)) * added support for big decimal ([customerio#56](https://github.com/nunofgs/customerio-android/issues/56)) ([58c791b](58c791b)) * allow http requests in host app ([customerio#74](https://github.com/nunofgs/customerio-android/issues/74)) ([1035648](1035648)) * android 12 deep link fix ([fd7ae28](fd7ae28)) * cio sdk version attribute using client value ([bb90f35](bb90f35)) * code cleanup ([c651ee6](c651ee6)) * crash using invalid characters in HTTP header ([customerio#75](https://github.com/nunofgs/customerio-android/issues/75)) ([81a065e](81a065e)) * delete device token when clear identify ([72f9753](72f9753)) * deploy code script commands ([customerio#124](https://github.com/nunofgs/customerio-android/issues/124)) ([fe817d1](fe817d1)) * events are tracked to identified customer ([71634ed](71634ed)) * in-app messages instant delivery ([customerio#150](https://github.com/nunofgs/customerio-android/issues/150)) ([a6dcf3c](a6dcf3c)) * in-app messages stop delivering ([4027502](4027502)) * in-app system link causes app reopen ([6349081](6349081)) * moved shared wrapper code ([customerio#158](https://github.com/nunofgs/customerio-android/issues/158)) ([51af98f](51af98f)) * number parsing coverts to double ([customerio#57](https://github.com/nunofgs/customerio-android/issues/57)) ([72a80fe](72a80fe)) * parsing exception for expired tasks ([440bb13](440bb13)) * pro-guarding removal of enums ([customerio#39](https://github.com/nunofgs/customerio-android/issues/39)) ([dd27d35](dd27d35)) * queue attempts to run all tasks on each run ([e180dea](e180dea)) * register device tokens http request ([b1c6872](b1c6872)) * remove currentRoute parameter in in-app event listener ([customerio#159](https://github.com/nunofgs/customerio-android/issues/159)) ([688e4a5](688e4a5)) * rename in app listener keys ([customerio#164](https://github.com/nunofgs/customerio-android/issues/164)) ([f540eaf](f540eaf)) * set gist user token incase identifier exists ([customerio#162](https://github.com/nunofgs/customerio-android/issues/162)) ([44cc4d1](44cc4d1)) * timestamp conversion issue ([customerio#37](https://github.com/nunofgs/customerio-android/issues/37)) ([d986f54](d986f54)) * track opens fcm notification payload ([ab3cd18](ab3cd18)) * updated host endpoints ([customerio#53](https://github.com/nunofgs/customerio-android/issues/53)) ([efe2b9e](efe2b9e)) * updated json adapter usage to safe parsing ([f72280b](f72280b)) * upgrade dependencies ([customerio#146](https://github.com/nunofgs/customerio-android/issues/146)) ([6da8b8d](6da8b8d)) * user agent ([customerio#42](https://github.com/nunofgs/customerio-android/issues/42)) ([37af83e](37af83e)) * user agent client support in preferences repo ([454a18e](454a18e)) * version bump for gist sdk to resolve messaging not showing bug ([05dad42](05dad42))
## 1.0.0 (2023-02-13) ### ⚠ BREAKING CHANGES * android 12 deep link fix * get current FCM token on SDK startup * register device attributes when set * create background queue to make API synchronous ### Features * add device and profile attribute setters ([789f09f](789f09f)) * add device_manufacturer device attribute ([6a60f39](6a60f39)) * add setting a in-app event listener ([customerio#147](https://github.com/nunofgs/customerio-android/issues/147)) ([5fd9559](5fd9559)) * added option to customize push notification from app ([68010f8](68010f8)) * added shared instance for independent components ([70fa8cd](70fa8cd)) * added support for custom track url ([b61a64b](b61a64b)) * added support for device attributes ([customerio#71](https://github.com/nunofgs/customerio-android/issues/71)) ([5fedf26](5fedf26)) * added support to modify notification small icon ([b93c2dc](b93c2dc)) * automatic screen tracking ([customerio#52](https://github.com/nunofgs/customerio-android/issues/52)) ([8f95ebb](8f95ebb)) * changes for react native package ([2f20ac3](2f20ac3)) * create background queue to make API synchronous ([2524460](2524460)) * delete expired background queue tasks ([8dca8b7](8dca8b7)) * event tracking, identify customer ([customerio#29](https://github.com/nunofgs/customerio-android/issues/29)) ([5181268](5181268)) * get current FCM token on SDK startup ([dda443d](dda443d)) * in app sdk ([1036c80](1036c80)) * in-app feature no longer requires orgId ([customerio#163](https://github.com/nunofgs/customerio-android/issues/163)) ([fc2a08e](fc2a08e)) * manual screen tracking ([customerio#51](https://github.com/nunofgs/customerio-android/issues/51)) ([213a278](213a278)) * Push notification ([customerio#31](https://github.com/nunofgs/customerio-android/issues/31)) ([c639802](c639802)) * register device attributes when set ([0f5159e](0f5159e)) * Rich push support ([customerio#34](https://github.com/nunofgs/customerio-android/issues/34)) ([2480127](2480127)) * sdk initialization re-architecture ([9e21960](9e21960)) * set log level via SDK config ([81eea4e](81eea4e)) * support for custom device attributes and config ([customerio#77](https://github.com/nunofgs/customerio-android/issues/77)) ([a7dbaba](a7dbaba)) * updated client to support react native user agent ([7588526](7588526)) ### Bug Fixes * added alternative route to fetch screen name for automatic tracking ([customerio#92](https://github.com/nunofgs/customerio-android/issues/92)) ([37a20b5](37a20b5)) * added java compatibility in public constructors and methods ([2bb73be](2bb73be)) * added java compatibility in public constructors and methods ([acdec46](acdec46)) * added support for big decimal ([customerio#56](https://github.com/nunofgs/customerio-android/issues/56)) ([58c791b](58c791b)) * allow http requests in host app ([customerio#74](https://github.com/nunofgs/customerio-android/issues/74)) ([1035648](1035648)) * android 12 deep link fix ([fd7ae28](fd7ae28)) * cio sdk version attribute using client value ([bb90f35](bb90f35)) * code cleanup ([c651ee6](c651ee6)) * crash using invalid characters in HTTP header ([customerio#75](https://github.com/nunofgs/customerio-android/issues/75)) ([81a065e](81a065e)) * delete device token when clear identify ([72f9753](72f9753)) * deploy code script commands ([customerio#124](https://github.com/nunofgs/customerio-android/issues/124)) ([fe817d1](fe817d1)) * events are tracked to identified customer ([71634ed](71634ed)) * in-app messages instant delivery ([customerio#150](https://github.com/nunofgs/customerio-android/issues/150)) ([a6dcf3c](a6dcf3c)) * in-app messages stop delivering ([4027502](4027502)) * in-app system link causes app reopen ([6349081](6349081)) * moved shared wrapper code ([customerio#158](https://github.com/nunofgs/customerio-android/issues/158)) ([51af98f](51af98f)) * number parsing coverts to double ([customerio#57](https://github.com/nunofgs/customerio-android/issues/57)) ([72a80fe](72a80fe)) * parsing exception for expired tasks ([440bb13](440bb13)) * pro-guarding removal of enums ([customerio#39](https://github.com/nunofgs/customerio-android/issues/39)) ([dd27d35](dd27d35)) * queue attempts to run all tasks on each run ([e180dea](e180dea)) * register device tokens http request ([b1c6872](b1c6872)) * remove currentRoute parameter in in-app event listener ([customerio#159](https://github.com/nunofgs/customerio-android/issues/159)) ([688e4a5](688e4a5)) * rename in app listener keys ([customerio#164](https://github.com/nunofgs/customerio-android/issues/164)) ([f540eaf](f540eaf)) * set gist user token incase identifier exists ([customerio#162](https://github.com/nunofgs/customerio-android/issues/162)) ([44cc4d1](44cc4d1)) * timestamp conversion issue ([customerio#37](https://github.com/nunofgs/customerio-android/issues/37)) ([d986f54](d986f54)) * track opens fcm notification payload ([ab3cd18](ab3cd18)) * updated host endpoints ([customerio#53](https://github.com/nunofgs/customerio-android/issues/53)) ([efe2b9e](efe2b9e)) * updated json adapter usage to safe parsing ([f72280b](f72280b)) * upgrade dependencies ([customerio#146](https://github.com/nunofgs/customerio-android/issues/146)) ([6da8b8d](6da8b8d)) * user agent ([customerio#42](https://github.com/nunofgs/customerio-android/issues/42)) ([37af83e](37af83e)) * user agent client support in preferences repo ([454a18e](454a18e)) * version bump for gist sdk to resolve messaging not showing bug ([05dad42](05dad42))
## 1.0.0 (2023-02-13) ### ⚠ BREAKING CHANGES * android 12 deep link fix * get current FCM token on SDK startup * register device attributes when set * create background queue to make API synchronous ### Features * add device and profile attribute setters ([789f09f](789f09f)) * add device_manufacturer device attribute ([6a60f39](6a60f39)) * add setting a in-app event listener ([customerio#147](https://github.com/nunofgs/customerio-android/issues/147)) ([5fd9559](5fd9559)) * added option to customize push notification from app ([68010f8](68010f8)) * added shared instance for independent components ([70fa8cd](70fa8cd)) * added support for custom track url ([b61a64b](b61a64b)) * added support for device attributes ([customerio#71](https://github.com/nunofgs/customerio-android/issues/71)) ([5fedf26](5fedf26)) * added support to modify notification small icon ([b93c2dc](b93c2dc)) * automatic screen tracking ([customerio#52](https://github.com/nunofgs/customerio-android/issues/52)) ([8f95ebb](8f95ebb)) * changes for react native package ([2f20ac3](2f20ac3)) * create background queue to make API synchronous ([2524460](2524460)) * delete expired background queue tasks ([8dca8b7](8dca8b7)) * event tracking, identify customer ([customerio#29](https://github.com/nunofgs/customerio-android/issues/29)) ([5181268](5181268)) * get current FCM token on SDK startup ([dda443d](dda443d)) * in app sdk ([1036c80](1036c80)) * in-app feature no longer requires orgId ([customerio#163](https://github.com/nunofgs/customerio-android/issues/163)) ([fc2a08e](fc2a08e)) * manual screen tracking ([customerio#51](https://github.com/nunofgs/customerio-android/issues/51)) ([213a278](213a278)) * Push notification ([customerio#31](https://github.com/nunofgs/customerio-android/issues/31)) ([c639802](c639802)) * register device attributes when set ([0f5159e](0f5159e)) * Rich push support ([customerio#34](https://github.com/nunofgs/customerio-android/issues/34)) ([2480127](2480127)) * sdk initialization re-architecture ([9e21960](9e21960)) * set log level via SDK config ([81eea4e](81eea4e)) * support for custom device attributes and config ([customerio#77](https://github.com/nunofgs/customerio-android/issues/77)) ([a7dbaba](a7dbaba)) * updated client to support react native user agent ([7588526](7588526)) ### Bug Fixes * added alternative route to fetch screen name for automatic tracking ([customerio#92](https://github.com/nunofgs/customerio-android/issues/92)) ([37a20b5](37a20b5)) * added java compatibility in public constructors and methods ([2bb73be](2bb73be)) * added java compatibility in public constructors and methods ([acdec46](acdec46)) * added support for big decimal ([customerio#56](https://github.com/nunofgs/customerio-android/issues/56)) ([58c791b](58c791b)) * allow http requests in host app ([customerio#74](https://github.com/nunofgs/customerio-android/issues/74)) ([1035648](1035648)) * android 12 deep link fix ([fd7ae28](fd7ae28)) * cio sdk version attribute using client value ([bb90f35](bb90f35)) * code cleanup ([c651ee6](c651ee6)) * crash using invalid characters in HTTP header ([customerio#75](https://github.com/nunofgs/customerio-android/issues/75)) ([81a065e](81a065e)) * delete device token when clear identify ([72f9753](72f9753)) * deploy code script commands ([customerio#124](https://github.com/nunofgs/customerio-android/issues/124)) ([fe817d1](fe817d1)) * events are tracked to identified customer ([71634ed](71634ed)) * in-app messages instant delivery ([customerio#150](https://github.com/nunofgs/customerio-android/issues/150)) ([a6dcf3c](a6dcf3c)) * in-app messages stop delivering ([4027502](4027502)) * in-app system link causes app reopen ([6349081](6349081)) * moved shared wrapper code ([customerio#158](https://github.com/nunofgs/customerio-android/issues/158)) ([51af98f](51af98f)) * number parsing coverts to double ([customerio#57](https://github.com/nunofgs/customerio-android/issues/57)) ([72a80fe](72a80fe)) * parsing exception for expired tasks ([440bb13](440bb13)) * pro-guarding removal of enums ([customerio#39](https://github.com/nunofgs/customerio-android/issues/39)) ([dd27d35](dd27d35)) * queue attempts to run all tasks on each run ([e180dea](e180dea)) * register device tokens http request ([b1c6872](b1c6872)) * remove currentRoute parameter in in-app event listener ([customerio#159](https://github.com/nunofgs/customerio-android/issues/159)) ([688e4a5](688e4a5)) * rename in app listener keys ([customerio#164](https://github.com/nunofgs/customerio-android/issues/164)) ([f540eaf](f540eaf)) * set gist user token incase identifier exists ([customerio#162](https://github.com/nunofgs/customerio-android/issues/162)) ([44cc4d1](44cc4d1)) * timestamp conversion issue ([customerio#37](https://github.com/nunofgs/customerio-android/issues/37)) ([d986f54](d986f54)) * track opens fcm notification payload ([ab3cd18](ab3cd18)) * updated host endpoints ([customerio#53](https://github.com/nunofgs/customerio-android/issues/53)) ([efe2b9e](efe2b9e)) * updated json adapter usage to safe parsing ([f72280b](f72280b)) * upgrade dependencies ([customerio#146](https://github.com/nunofgs/customerio-android/issues/146)) ([6da8b8d](6da8b8d)) * user agent ([customerio#42](https://github.com/nunofgs/customerio-android/issues/42)) ([37af83e](37af83e)) * user agent client support in preferences repo ([454a18e](454a18e)) * version bump for gist sdk to resolve messaging not showing bug ([05dad42](05dad42))
## 1.0.0 (2023-02-13) ### ⚠ BREAKING CHANGES * android 12 deep link fix * get current FCM token on SDK startup * register device attributes when set * create background queue to make API synchronous ### Features * add device and profile attribute setters ([789f09f](789f09f)) * add device_manufacturer device attribute ([6a60f39](6a60f39)) * add setting a in-app event listener ([customerio#147](https://github.com/nunofgs/customerio-android/issues/147)) ([5fd9559](5fd9559)) * added option to customize push notification from app ([68010f8](68010f8)) * added shared instance for independent components ([70fa8cd](70fa8cd)) * added support for custom track url ([b61a64b](b61a64b)) * added support for device attributes ([customerio#71](https://github.com/nunofgs/customerio-android/issues/71)) ([5fedf26](5fedf26)) * added support to modify notification small icon ([b93c2dc](b93c2dc)) * automatic screen tracking ([customerio#52](https://github.com/nunofgs/customerio-android/issues/52)) ([8f95ebb](8f95ebb)) * changes for react native package ([2f20ac3](2f20ac3)) * create background queue to make API synchronous ([2524460](2524460)) * delete expired background queue tasks ([8dca8b7](8dca8b7)) * event tracking, identify customer ([customerio#29](https://github.com/nunofgs/customerio-android/issues/29)) ([5181268](5181268)) * get current FCM token on SDK startup ([dda443d](dda443d)) * in app sdk ([1036c80](1036c80)) * in-app feature no longer requires orgId ([customerio#163](https://github.com/nunofgs/customerio-android/issues/163)) ([fc2a08e](fc2a08e)) * manual screen tracking ([customerio#51](https://github.com/nunofgs/customerio-android/issues/51)) ([213a278](213a278)) * Push notification ([customerio#31](https://github.com/nunofgs/customerio-android/issues/31)) ([c639802](c639802)) * register device attributes when set ([0f5159e](0f5159e)) * Rich push support ([customerio#34](https://github.com/nunofgs/customerio-android/issues/34)) ([2480127](2480127)) * sdk initialization re-architecture ([9e21960](9e21960)) * set log level via SDK config ([81eea4e](81eea4e)) * support for custom device attributes and config ([customerio#77](https://github.com/nunofgs/customerio-android/issues/77)) ([a7dbaba](a7dbaba)) * updated client to support react native user agent ([7588526](7588526)) ### Bug Fixes * added alternative route to fetch screen name for automatic tracking ([customerio#92](https://github.com/nunofgs/customerio-android/issues/92)) ([37a20b5](37a20b5)) * added java compatibility in public constructors and methods ([2bb73be](2bb73be)) * added java compatibility in public constructors and methods ([acdec46](acdec46)) * added support for big decimal ([customerio#56](https://github.com/nunofgs/customerio-android/issues/56)) ([58c791b](58c791b)) * allow http requests in host app ([customerio#74](https://github.com/nunofgs/customerio-android/issues/74)) ([1035648](1035648)) * android 12 deep link fix ([fd7ae28](fd7ae28)) * cio sdk version attribute using client value ([bb90f35](bb90f35)) * code cleanup ([c651ee6](c651ee6)) * crash using invalid characters in HTTP header ([customerio#75](https://github.com/nunofgs/customerio-android/issues/75)) ([81a065e](81a065e)) * delete device token when clear identify ([72f9753](72f9753)) * deploy code script commands ([customerio#124](https://github.com/nunofgs/customerio-android/issues/124)) ([fe817d1](fe817d1)) * events are tracked to identified customer ([71634ed](71634ed)) * in-app messages instant delivery ([customerio#150](https://github.com/nunofgs/customerio-android/issues/150)) ([a6dcf3c](a6dcf3c)) * in-app messages stop delivering ([4027502](4027502)) * in-app system link causes app reopen ([6349081](6349081)) * moved shared wrapper code ([customerio#158](https://github.com/nunofgs/customerio-android/issues/158)) ([51af98f](51af98f)) * number parsing coverts to double ([customerio#57](https://github.com/nunofgs/customerio-android/issues/57)) ([72a80fe](72a80fe)) * parsing exception for expired tasks ([440bb13](440bb13)) * pro-guarding removal of enums ([customerio#39](https://github.com/nunofgs/customerio-android/issues/39)) ([dd27d35](dd27d35)) * queue attempts to run all tasks on each run ([e180dea](e180dea)) * register device tokens http request ([b1c6872](b1c6872)) * remove currentRoute parameter in in-app event listener ([customerio#159](https://github.com/nunofgs/customerio-android/issues/159)) ([688e4a5](688e4a5)) * rename in app listener keys ([customerio#164](https://github.com/nunofgs/customerio-android/issues/164)) ([f540eaf](f540eaf)) * set gist user token incase identifier exists ([customerio#162](https://github.com/nunofgs/customerio-android/issues/162)) ([44cc4d1](44cc4d1)) * timestamp conversion issue ([customerio#37](https://github.com/nunofgs/customerio-android/issues/37)) ([d986f54](d986f54)) * track opens fcm notification payload ([ab3cd18](ab3cd18)) * updated host endpoints ([customerio#53](https://github.com/nunofgs/customerio-android/issues/53)) ([efe2b9e](efe2b9e)) * updated json adapter usage to safe parsing ([f72280b](f72280b)) * upgrade dependencies ([customerio#146](https://github.com/nunofgs/customerio-android/issues/146)) ([6da8b8d](6da8b8d)) * user agent ([customerio#42](https://github.com/nunofgs/customerio-android/issues/42)) ([37af83e](37af83e)) * user agent client support in preferences repo ([454a18e](454a18e)) * version bump for gist sdk to resolve messaging not showing bug ([05dad42](05dad42))