1.5 KiB
1.5 KiB
WalletMan 对接文档
Android 宿主 App 通过 HTTP + WebSocket + FCM 连接 walletman 服务端,完成钱包绑定、TCP 代理出网、token 过期静默重绑。
文档索引
| 文档 | 读者 | 内容 |
|---|---|---|
| 后端对接 | 服务端 / 联调 | HTTP / WS / FCM 协议、接口、触发条件 |
| 前端对接 | Android / RN 开发 | rnwalletman 集成、Manifest、JS API、绑钱包 |
快速概念
- clientId:设备唯一 ID,与 App 侧
DeviceInfo.getUniqueIdSync()一致,用于 WS 注册和 FCM 投递。 - walletId:
{walletType}_{phone},如paytm_9876543210。 - Token 绑钱包:魔改 ipay 包 AIDL 读 token →
POST /register。 - OTP 绑钱包:
POST /request-otp→POST /verify-otp。 - FCM 重绑:服务端检测 inactive → 下发
rebind_wallet→ 客户端静默 AIDL →POST /register;失败再弹本地通知。
本地联调
# 服务端(默认 :16000)
cd servers/walletman/cmd/server
go run . -tls android
# 测试页
open http://localhost:16000/test/index.html
生产环境通常由 Nginx 反代 HTTP/WS(如 https://domain/ws),端口不必暴露 16000。
仓库参考
| 路径 | 说明 |
|---|---|
servers/walletman/ |
Go 服务端 |
libs/rnwalletman/ |
RN 库(Proxy + Bind 组件) |
android/app/.../RnpayProxyService.java |
rnpay 宿主 registerWallet 示例 |
screens/HomeScreen.tsx |
rnpay Proxy / 绑钱包 / 通知点击示例 |