前言
剛開始SDK的支付是調用h5接口,在web繼承微信支付寶支付,原生的接入是在SDK內部接入,當你接入更多支付渠道的時候,你會發現你的SDK會變得很亂,各種各樣的依賴包引入,這違背了前面說的SDK設計儘量少的引入第三方SDK的原則。所以使用支付插件
支付插件
一般app開發中插件化開發是講插件apk代碼用classloader加載到當前應用
這裏的支付插件是獨立的一個應用,獨立的進程
進程通信
進程間通信的方式有很多,bunder、內容提供者、廣播、aidl。
廣播的話不合適,發送的廣播屬於普通廣播,系統的其他應用也能收到廣發,支付的東西安全性比較高。
筆者選擇aidl進行支付插件和SDK的實時通信
新建插件項目KSDKPayPlugin
新建module爲ksdk_payplugin
在src/main/目錄下新建aidl文件