Skip to content
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

Merged
merged 44 commits into from
Nov 11, 2021
Merged

feat: Rich push support #34

merged 44 commits into from
Nov 11, 2021

Conversation

Shahroz16
Copy link
Contributor

  • 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
Comment on lines 181 to 183
} catch (e: IOException) {
null
}
Copy link
Member

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.

Copy link
Contributor Author

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

Comment on lines +62 to +66
fun setCustomerIOUrlHandler(urlHandler: CustomerIOUrlHandler): Builder {
this.urlHandler = urlHandler
return this
}

Copy link
Member

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.

Copy link
Contributor Author

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.

Comment on lines +27 to +38
<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>
Copy link
Member

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?

Copy link
Contributor Author

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.

@Shahroz16 Shahroz16 merged commit 2480127 into alpha Nov 11, 2021
github-actions bot pushed a commit that referenced this pull request Nov 11, 2021
# [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))
@ami-ci
Copy link
Contributor

ami-ci commented Nov 11, 2021

🎉 This PR is included in version 1.0.0-alpha.3 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

github-actions bot pushed a commit that referenced this pull request Dec 16, 2021
# 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))
@ami-ci
Copy link
Contributor

ami-ci commented Dec 16, 2021

🎉 This PR is included in version 1.0.0-beta.1 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

levibostian pushed a commit that referenced this pull request Jan 19, 2022
# 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))
@ami-ci
Copy link
Contributor

ami-ci commented Jan 19, 2022

🎉 This PR is included in version 1.0.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

github-actions bot pushed a commit to nunofgs/customerio-android that referenced this pull request Feb 10, 2023
## 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))
github-actions bot pushed a commit to nunofgs/customerio-android that referenced this pull request Feb 13, 2023
## 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))
github-actions bot pushed a commit to nunofgs/customerio-android that referenced this pull request Feb 13, 2023
## 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))
github-actions bot pushed a commit to nunofgs/customerio-android that referenced this pull request Feb 13, 2023
## 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))
github-actions bot pushed a commit to nunofgs/customerio-android that referenced this pull request Feb 13, 2023
## 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))
github-actions bot pushed a commit to nunofgs/customerio-android that referenced this pull request Feb 13, 2023
## 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))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants