-
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: add setting a in-app event listener #147
Conversation
Pull request title looks good 👍! If this pull request gets merged, it will cause a new release of the software. Example: If this project's latest release version is All merged pull requests will eventually get deployed. But some types of pull requests will trigger a deployment (such as features and bug fixes) while some pull requests will wait to get deployed until a later time. To merge this pull request, add the label This project uses a special format for pull requests titles. Expand this section to learn more (expand by clicking the ᐅ symbol on the left side of this sentence)...This project uses a special format for pull requests titles. Don't worry, it's easy! This pull request title should be in this format:
If your pull request introduces breaking changes to the code, use this format:
where
Examples:
Need more examples? Want to learn more about this format? Check out the official docs. Note: If your pull request does multiple things such as adding a feature and makes changes to the CI server and fixes some bugs then you might want to consider splitting this pull request up into multiple smaller pull requests. |
Codecov Report
@@ Coverage Diff @@
## develop #147 +/- ##
=============================================
+ Coverage 60.23% 60.56% +0.33%
- Complexity 187 198 +11
=============================================
Files 90 91 +1
Lines 1984 2026 +42
Branches 257 257
=============================================
+ Hits 1195 1227 +32
- Misses 690 695 +5
- Partials 99 104 +5
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
Build available to test |
messaginginapp/src/main/java/io/customer/messaginginapp/extension/GistExtensions.kt
Outdated
Show resolved
Hide resolved
messaginginapp/src/main/java/io/customer/messaginginapp/extension/GistExtensions.kt
Outdated
Show resolved
Hide resolved
val deliveryId: String? // (Currently taken from Gist's campaignId property). Can be null when sending test in-app messages | ||
) { | ||
companion object { | ||
internal fun getFromGistMessage(gistMessage: Message): InAppMessage { |
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.
You already created Message
extension earlier, do you think it would make more sense if we add it there?
fun Message.getFromGistMessage(): InAppMessage {
val gistProperties = GistMessageProperties.getGistProperties(this)
val campaignId = gistProperties.campaignId
return InAppMessage(
instanceId = this.instanceId,
messageId = this.messageId,
deliveryId = campaignId
)
}
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.
I do enjoy extensions and see value in creating a fun Message.getFromGistMessage(): InAppMessage
extension function.
However, I do like encapsulating the construction of a InAppMessage
object existing inside of the InAppMessage
object.
If we want to leverage extensions, I vote we keep InAppMessage.getFromGistMessage()
as-is but create an extension:
fun Message.getFromGistMessage() = InAppMessage.getFromGistMessage(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.
Looks like we aren't using the receiver Message
, so this should have been on InAppMessage
instead?
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.
Sorry, I don't understand your question.
Is the question you have a question that Shahroz asked in this PR or a different question?
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.
I think what Rehan meant to say is, is an extension method on build.gist.data.model.Message
and we aren't using the receiver "build.gist.data.model.Message" but we are using the InAppMessage
model only.
So would it make more sense to have "InAppMessage" as a receiver rather than "build.gist.data.model.Message" which isn't being used.
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.
Shahroz got this right. I was suggesting this method to be following instead:
fun InAppMessage.getNewMessage(): Message
As I don't see this
receiver used anywhere in the extension.
messaginginapp/src/main/java/io/customer/messaginginapp/type/InAppEventListener.kt
Show resolved
Hide resolved
@levibostian I think this point is still pending. |
Do not merge until this change is made. Remove
|
…to levi/inapp-event-listener
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.
From what I can see the outstanding pieces were dealt with and if the branch has been updated from develop this looks ready to merge to me. (I had to study up on Kotlin a little bit, but that was fine)
## [3.3.0-alpha.1](3.2.0...3.3.0-alpha.1) (2023-02-06) ### Features * add setting a in-app event listener ([#147](#147)) ([5fd9559](5fd9559)) * in-app feature no longer requires orgId ([#163](#163)) ([fc2a08e](fc2a08e)) ### Bug Fixes * moved shared wrapper code ([#158](#158)) ([51af98f](51af98f)) * remove currentRoute parameter in in-app event listener ([#159](#159)) ([688e4a5](688e4a5)) * rename in app listener keys ([#164](#164)) ([f540eaf](f540eaf)) * set gist user token incase identifier exists ([#162](#162)) ([44cc4d1](44cc4d1)) * upgrade dependencies ([#146](#146)) ([6da8b8d](6da8b8d))
🎉 This PR is included in version 3.3.0-alpha.1 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
## [3.3.0-beta.1](3.2.0...3.3.0-beta.1) (2023-02-07) ### Features * add setting a in-app event listener ([#147](#147)) ([5fd9559](5fd9559)) * in-app feature no longer requires orgId ([#163](#163)) ([fc2a08e](fc2a08e)) ### Bug Fixes * moved shared wrapper code ([#158](#158)) ([51af98f](51af98f)) * remove currentRoute parameter in in-app event listener ([#159](#159)) ([688e4a5](688e4a5)) * rename in app listener keys ([#164](#164)) ([f540eaf](f540eaf)) * set gist user token incase identifier exists ([#162](#162)) ([44cc4d1](44cc4d1)) * upgrade dependencies ([#146](#146)) ([6da8b8d](6da8b8d))
🎉 This PR is included in version 3.3.0-beta.1 🎉 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))
## [3.3.0](3.2.0...3.3.0) (2023-02-22) ### Features * add setting a in-app event listener ([#147](#147)) ([5fd9559](5fd9559)) * in-app feature no longer requires orgId ([#163](#163)) ([fc2a08e](fc2a08e)) ### Bug Fixes * image not shown when image url in notification payload ([#172](#172)) ([0abdc85](0abdc85)) * moved shared wrapper code ([#158](#158)) ([51af98f](51af98f)) * remove currentRoute parameter in in-app event listener ([#159](#159)) ([688e4a5](688e4a5)) * rename in app listener keys ([#164](#164)) ([f540eaf](f540eaf)) * set gist dependency to use latest 3.X.Y version ([#170](#170)) ([a019c36](a019c36)) * set gist user token incase identifier exists ([#162](#162)) ([44cc4d1](44cc4d1)) * update CustomerIOFirebaseMessagingService to open ([#174](#174)) ([edce7f5](edce7f5)) * upgrade dependencies ([#146](#146)) ([6da8b8d](6da8b8d)) * use maven style dependency range syntax ([#171](#171)) ([ba83214](ba83214))
🎉 This PR is included in version 3.3.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
Closes: https://github.com/customerio/issues/issues/8360
QA: Instructions on testing here
docs updates
Complete each step to get your pull request merged in. Learn more about the workflow this project uses.