amplitude / unity-plugin

Official Amplitude Unity Plugin
https://developers.amplitude.com/docs/unity
MIT License
44 stars 34 forks source link

Amplitude native dependencies #49

Closed MartinGonzalez closed 3 years ago

MartinGonzalez commented 3 years ago

This is more like a question to see if I'm not mistaken.

When I did import the latest amplitude .unitypackage (still waiting the UPM package) I see this tree of files

image

And I see that it has an AmplitudeDependencies.xml that is the file used by EDM4U to resolve native dependencies but it only has com.amplitude:android-sdk:2.28.2 and okhttp.

Why are they in Plugins/Android also? Why jetbrains annotation and kotlin lib are not in the xml too? Is this because retrocompatibility?

Could this bring duplicated classes errors?

Thanks for the time! :D

haoliu-amp commented 3 years ago

@MartinGonzalez jetbrains is used by okhttp library, that's why they're there.

MartinGonzalez commented 3 years ago

Just to know

Why you are delivering jar files if we can now have the EDM4U dependency to resolve them?

Deroido commented 3 years ago

I'm sorry. Does Amplitude have any dependencies with com.android.installreferrer:installreferrer:1.0 ?

Deroido commented 3 years ago

I'm sorry. Does Amplitude have any dependencies with com.android.installreferrer:installreferrer:1.0 ?

MartinGonzalez commented 3 years ago

@Deroido I think not, you can validate in Plugins/Android folder and also in AmplitudeDependencies.xml

FYI if you run EDM4U will delete local .aar/.jar files so there will not be duplicated dependencies. I guess it's for backward compatibility.

 <androidPackage spec="com.amplitude:android-sdk:2.28.2">
      <repositories>
        <repository>https://maven.google.com</repository>
      </repositories>
    </androidPackage>

    <androidPackage spec="com.squareup.okhttp3:okhttp:4.2.2">
      <repositories>
        <repository>https://maven.google.com</repository>
      </repositories>
    </androidPackage>
  </androidPackages>
dantetam commented 3 years ago

Hello @MartinGonzalez ,

I can confirm your test is correct, the EDM4U plugin does replace old imported files with new ones.

Our engineering team has noticed it is inconvenient for SDK users to import the files themselves. It's one less engineering task and even internally we have run into import issues relating to Java version 7 vs 8 vs 11 and the OpenJDK path used on MacOS and Windows.

Dante