Android SDK
Receive decision requests in your Android app
Installation
dependencies {
implementation("com.github.noxy-network:android-sdk:2.0.1")
}
Quick Start
import network.noxy.sdk.*
import network.noxy.sdk.identity.*
import network.noxy.sdk.network.NoxyDecisionChoice
val identity = NoxyIdentity.Eoa(NoxyEoaWalletIdentity(
address = "0x...",
signer = { data ->
val sig = wallet.signMessage(data)
Signature(bytes = sig)
}
))
val client = createNoxyClient(
context = context,
identity = identity,
network = NoxyNetworkOptions(
appId = "your-app-id",
relayUrl = "https://relay.noxy.network"
)
)
lifecycleScope.launch {
client.initialize()
}
lifecycleScope.launch {
client.on { relayMessageId, decision ->
val title = decision["title"] as? String
val summary = decision["summary"] as? String
val decisionId = NoxyClient.resolveDecisionId(decision, relayMessageId)
?: return@on
// Show UI (e.g. dialog or full-screen Activity)
}
}
// In your Activity, Fragment, or notification receiver — wire this to Approve / Reject taps:
fun onApproveOrRejectClick(approve: Boolean) {
lifecycleScope.launch {
client.sendDecisionOutcome(
decisionId,
if (approve) NoxyDecisionChoice.Approve else NoxyDecisionChoice.Reject
)
}
}
lifecycleScope.launch {
client.close()
}