APICloud模塊開發爬過的坑(集成openinstall基於個性化安裝的渠道統計服務)
現在很多的app都用混合開發,apicloud的app混合開發也是很火。很多時候需要集成一下第三方的sdk服務,比如:openisntall的統計服務等。那麽如何編寫一個模塊開發呢,apicloud文檔寫的也是模棱兩可,期間也爬過很多的坑,在這裏做一些記錄。
開發的模塊是把第三方的渠道統計服務openinstall集成進來,實現免打包的渠道統計,渠道追蹤來源,無碼邀請等功能都是這次我需要用到的功能,集成openisntall能實現這些功能,所以,如何集成openisntall,進行模塊開發?
1、註冊/登錄openinstall開發者平臺http://developer.openinstall.io/並創建應用
openisntall下載的jar包
2、 參考apicloud模塊開發文檔,https://docs.apicloud.com/Module-Dev/module-dev-guide-for-android。很坑的是,android studio的打包出來的aar包目前apicloud官方是支持的不是很好的,各種問題,模塊未綁定等問題,後來技術支持說是自定義loader對android studio打的模塊包不生效,用雲編譯的升級環境進行編譯。但是,還是出現問題,模塊開發裏面的方法調用不到,模塊包是檢測了,沒問題,方法內容也沒問題,就是調用沒反應。
3、後面技術支持說用Eclipse進行模塊開發試試,於是重新用了Eclipse進行開發了,一樣的模塊包結構,打包的jar和模塊結構包傳到自定義模塊進行綁定,調用,雲編譯升級環境,ok,編譯成功(那個雞凍的小心臟啊,居然成功了),(強烈要求apiCloud官方對android studio支持更給力點)貼一張模塊包結構圖(需要註意的貼上,其他的參照官方文檔來)
module.json不要直接用測試項目裏那個,而是去掉外圍定義,直接描述模塊,文檔有坑
4、好了,打包成zip包傳到自定義模塊就上傳成功ok。
(模塊名稱最好與打包的zip包名稱一致,點擊保存,添加引用,ok)
5、apicloud調用模塊開發編寫接口方法。
<script type="text/javascript"> var uzmoduledemo = null; apiready = function() { uzmoduledemo = api.require(‘moduleInstall‘); //監聽appintent,獲取getWakeup接口,獲得回調參數,此處相當於android的newIntent()函數 api.addEventListener({ name: ‘appintent‘ }, function(ret, err) { uzmoduledemo.getWakeup({ "uri": ret.data }, function(ret, err) { alert(JSON.stringify(ret)); }); }); }; //獲取個性化安裝接口,獲取回掉參數 function getInstall() { uzmoduledemo.getInstall(function(ret, err) { alert(JSON.stringify(ret)); }); } //註冊統計上報 function reportRegister() { uzmoduledemo.reportRegister(); } </script>
6、進行雲編譯(使用升級環境)編譯完成的apk下載下來
7、下載的apk包上傳到openisntall後臺並測試
APICloud模塊開發爬過的坑(集成openinstall基於個性化安裝的渠道統計服務)