TBD54566975 / developer.tbd.website

Source for the TBD Developer Website
https://developer.tbd.website
Apache License 2.0
34 stars 79 forks source link

[USE CASE]: Document android usage #1262

Open michaelneale opened 2 months ago

michaelneale commented 2 months ago

Developer Value Added

Android is a super popular platform and tbdex can work on it quite well

Use Case

Document an example and any "gotchas" for using tbdex-kt in android, and link to an example repo: https://github.com/TBD54566975/tbdex-android-example

Dependencies

Ideally the AndroidKeyManager implementation woudl be in web5-kt to make it simple: https://github.com/TBD54566975/web5-kt/issues/250 but this can be optional

chris-tbd commented 1 month ago

@michaelneale when we're talking about potential "gotchas" for the Android Platform, what did you run into? I see that the InMemoryKeyManager may not work, but outside of that was there anything in the SDK or setup that wasn't working out of the gate? Or, was the main value to share about how to get the SDK integrated into your project (as well as your "Android specific build tips" section)?

ALRubinger commented 1 month ago

On it. A lot of the open questions here can be solved atop the build work I'm doing in the *-kt projects; will be moving @michaelneale AndroidKeyManager into an Android extension for webt-kt, and creating a separate distro for that which does the right exclusions that Android can't bring in.

The nice test for this will be if Mic's examplar app can bring in one dependency, require no other weird build magic, and get everything it needs to Just Work.

Then can work with DevRel to get this documented.

chris-tbd commented 1 month ago

Can we create a separate issue for documenting AndroidKeyManager and/or migrating it into web5-kt?

ALRubinger commented 1 month ago

Absolutely @chris-tbd - just hadn't gotten to it yet. Feel free to drop an issue here for documenting it. I'll handle in web5-kt here:

Note that this work also depends on:

angiejones commented 1 month ago

@ALRubinger Chris has documented the current usage here.

michaelneale commented 1 month ago

@chris-tbd yeah answered above, but mostly just packaging. I did build a key manager which was pretty simple as mentioned, but other than that it nicely just worked.