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: add identify support #18

Merged
merged 1 commit into from
Mar 29, 2022
Merged

feat: add identify support #18

merged 1 commit into from
Mar 29, 2022

Conversation

qingzhuozhen
Copy link
Contributor

@qingzhuozhen qingzhuozhen commented Mar 26, 2022

Summary

  • add identify support

Checklist

  • Does your PR title have the correct title format?
  • Does your PR have a breaking change?: no

@@ -47,4 +47,11 @@ internal class Timeline {
list.remove(plugin)
}
}

// Applies a closure on all registered plugins
fun applyClosure(closure: (Plugin) -> Unit) {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what does this do?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's a helper method to call flush in plugins.

*/
fun setGroup(groupType: String, groupName: Array<String>, options: EventOptions? = null) {
val identify = Identify().set(groupType, groupName)
identify(identify, options)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To confirm, the difference between setGroup and groupIdentify is setGroup put info into user properties and group identify put info into groups and group properties

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's right, groupIdentify call won't guarantee the group is linked to user

@@ -17,15 +17,15 @@ internal fun Map<*, *>?.toJSONObject(): JSONObject? {
return jsonObject
}

internal fun JSONObject.toMap(): Map<String, Any?> {
internal fun JSONObject.toMapObj(): Map<String, Any?> {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why the rename?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The rename is for JSONObject itself, maybe in newer version, has the method toMap, or toList. When run on emulator with newer APIs it gave me some errors, so I just rename it to prevent conflicts.

@qingzhuozhen qingzhuozhen merged commit 2f86adc into main Mar 29, 2022
@qingzhuozhen qingzhuozhen deleted the add-identify-support branch March 31, 2022 22:58
github-actions bot pushed a commit that referenced this pull request Jun 28, 2022
# 1.0.0 (2022-06-28)

### Bug Fixes

* fix android aar issue ([#32](#32)) ([69f5fe7](69f5fe7))
* fix group call ([#42](#42)) ([f84d143](f84d143))

### Features

* add amplitude destination plugin draft ([#3](#3)) ([7ee9408](7ee9408))
* add android context plugin ([#14](#14)) ([25b6da3](25b6da3))
* add basic test action and issue templates ([#9](#9)) ([e72c608](e72c608))
* add button to kotlin example to send custom event ([#41](#41)) ([5c1e573](5c1e573))
* add configuration java support ([#35](#35)) ([a4e0801](a4e0801))
* add error handling and retry ([#13](#13)) ([689b114](689b114))
* add eu and batch support ([#17](#17)) ([6402b2a](6402b2a))
* add event bridge module ([#12](#12)) ([49229ac](49229ac))
* add event id support ([#25](#25)) ([94aaa6b](94aaa6b))
* add github action about docs and release ([#19](#19)) ([3aa868e](3aa868e))
* add identify support ([#18](#18)) ([2f86adc](2f86adc))
* add identity module and file storage ([#8](#8)) ([8b7bada](8b7bada))
* add Java android example ([#24](#24)) ([2670a2b](2670a2b))
* add Kotlin android sample ([#23](#23)) ([3b948c8](3b948c8))
* add parner_id ([#16](#16)) ([5e46cb9](5e46cb9))
* add plan in configuration and export ([#34](#34)) ([d84a84e](d84a84e))
* add plan versionId support ([#22](#22)) ([ae84619](ae84619))
* add revenue helper class ([#6](#6)) ([341fcf1](341fcf1))
* add unit tests for common jvm module ([#29](#29)) ([dcc0e9d](dcc0e9d))
* add unit tests in core module ([#30](#30)) ([4283148](4283148))
* add unit tests in event bridge module ([#28](#28)) ([8d63c28](8d63c28))
* add unit tests in id module ([#27](#27)) ([dc78bc6](dc78bc6))
* android local sync update ([#20](#20)) ([e25ecd4](e25ecd4))
* enable to pass the event options for all track call ([#36](#36)) ([8dd1ab6](8dd1ab6))
* expose more api for support ([#33](#33)) ([312fd85](312fd85))
* make configuration open ([#38](#38)) ([d0dfb15](d0dfb15))
* remove json object from public interface ([#26](#26)) ([0840b5d](0840b5d))
* set the client userId and deviceId in identify call ([#37](#37)) ([2c8b3f1](2c8b3f1))
* set up android module bare bone ([#7](#7)) ([a8a8dc9](a8a8dc9))
* Set up jvm example ([#4](#4)) ([ae825d6](ae825d6))
* setup basic barebone ([#2](#2)) ([8e4b635](8e4b635))
* setup basic doc and workflow ([#1](#1)) ([31bd223](31bd223))
* setup common modules ([#11](#11)) ([4a4ff66](4a4ff66))
* update android storage ([#15](#15)) ([56c1d6a](56c1d6a))
* update library name ([#21](#21)) ([309976d](309976d))
@github-actions
Copy link

🎉 This PR is included in version 1.0.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants