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: setup basic barebone #2

Merged
merged 6 commits into from
Feb 5, 2022
Merged

feat: setup basic barebone #2

merged 6 commits into from
Feb 5, 2022

Conversation

qingzhuozhen
Copy link
Contributor

@qingzhuozhen qingzhuozhen commented Jan 26, 2022

Summary

Setup basic barebones, lots of functions are placeholders now
More details will came in later

Checklist

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

main/java/com/amplitude/kotlin/Amplitude.kt Outdated Show resolved Hide resolved
main/java/com/amplitude/kotlin/Amplitude.kt Outdated Show resolved Hide resolved
main/java/com/amplitude/kotlin/Amplitude.kt Outdated Show resolved Hide resolved
main/java/com/amplitude/kotlin/Amplitude.kt Outdated Show resolved Hide resolved
import com.amplitude.kotlin.platform.Timeline
import com.amplitude.kotlin.platform.plugins.AmplitudeDestination
import com.amplitude.kotlin.platform.plugins.ContextPlugin
import kotlinx.coroutines.*
Copy link
Contributor

@justin-fiedler justin-fiedler Jan 27, 2022

Choose a reason for hiding this comment

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

This might be another import issue in Android. Haven't tried before but seems Android has in-built coroutines. Not sure if we need to handle that special like JSONObject.

https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-coroutine-scope/
image

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yeah, we need to watch and check for this as well. For other example, they seems just specify the version there. gradle normally picks the higher one if not setting rule specifically.

main/java/com/amplitude/kotlin/Amplitude.kt Outdated Show resolved Hide resolved
main/java/com/amplitude/kotlin/Amplitude.kt Outdated Show resolved Hide resolved
main/java/com/amplitude/kotlin/Configuration.kt Outdated Show resolved Hide resolved
main/java/com/amplitude/kotlin/Logger.kt Outdated Show resolved Hide resolved
main/java/com/amplitude/kotlin/events/BaseEvent.kt Outdated Show resolved Hide resolved
main/java/com/amplitude/kotlin/platform/Mediator.kt Outdated Show resolved Hide resolved

object Constants {
const val SDK_LIBRARY = "amplitude-kotlin"
const val SDK_VERSION = "0.0.1"

Choose a reason for hiding this comment

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

We shouldn't define it here. It should be inside the gradle and the build pipeline should take care of it.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yeah, I agree, ideally we only need one place to handle the SDK version. I put the version here so we can inject the version in our event easily. Not sure if there is other good ways, the solution I found now is to generate a file like version.properties and let our code load the file for this information. I am more inclined to do that when we get to release step though. Will create a ticket so I won't forget.

main/java/com/amplitude/kotlin/Amplitude.kt Outdated Show resolved Hide resolved
main/java/com/amplitude/events/BaseEvent.kt Outdated Show resolved Hide resolved
return payload
}

fun groupIdentify(payload: GroupIdentifyEvent): GroupIdentifyEvent? {
Copy link
Contributor

Choose a reason for hiding this comment

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

Should setGroup be here as well, or is the idea that setGroup will go through groupIdentify?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

setGroup will create an IdentifyEvent and covered in identify method. That's also what we have now. We can revisit this when we try to support the group method.

@qingzhuozhen qingzhuozhen merged commit 8e4b635 into main Feb 5, 2022
@qingzhuozhen qingzhuozhen deleted the first-draft branch March 26, 2022 19:04
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.

3 participants