到目前為止,Android Studio已經(jīng)是開發(fā)原生Android App的主流IDE,它是由Google官方設(shè)計并基于JetBrains的IntelliJ IDEA。我們魔窗開發(fā)的sdk也是使用此IDE。
我們魔窗是致力于做創(chuàng)業(yè)者最需要、最好用、最貼心的App增長工具,并為創(chuàng)業(yè)者構(gòu)建一個去中心化的高效連接時代,解決App有機增長、生態(tài)落地和流量共享的問題!
越來越多的App開始對接我們的sdk,有些客戶有不止一個App,甚至有些客戶有幾十個、幾百個App。如果他們要集成sdk的話,需要對一個個App來加代碼,確實是不小的工作量。我們開始考慮能否幫助客戶快速實現(xiàn)sdk的集成。于是,考慮從開發(fā)工具的角度來實現(xiàn)。因為Android Studio和Xcode都可以安裝plugin,他們本身的架構(gòu)是支持插件化的,而且他們都有豐富的第三方plugin。很多plugin的確能夠幫助開發(fā)者提高工作效率,所以我們開發(fā)了基于Android Studio的plugin。
插件的安裝很簡單,通過搜素“magicwindow”就能找到我們的plugin,然后點install,重啟Android Studio就能實現(xiàn)安裝。

安裝成功后,會在任務(wù)欄上出現(xiàn)”MagicWindow”的字樣。表示plugin已經(jīng)安裝成功了。

我們可以再驗證一下,點擊“Check SDK Version”,如果您的工程中沒有集成我們的sdk會提示“請先下載sdk”。如果已經(jīng)集成了我們的sdk,會出現(xiàn)一個彈框告訴您當(dāng)前使用魔窗sdk的版本號。

這個功能的好處在于,能明確知道sdk的版本號。我們在幫助客戶排查集成的問題時,經(jīng)常會先問一下客戶使用的sdk版本號,很多客戶不知道如何去看,所以我們提供了這個貼心的功能。
言歸正常,對于一個Android App要從頭開始集成我們的sdk,首先可能需要看我們的集成文檔。復(fù)制一堆配置代碼,包括java的以及xml的,一不小心還會復(fù)制錯。借助我們的”Init MagicWindow Conf”功能,在Application類里可以通過圖形化界面快速生成sdk的配置以及AndroidManifest.xml中的配置。

在sdk配置的對話框中輸入app的渠道號和appKey,就會自動生成代碼。這些生成的配置是集成我們sdk所必要的代碼。

如果您想集成mLink的功能,也很簡單。我們的plugin也提供了代碼生成的功能。一般會在引導(dǎo)頁的Activity中完成mLink的注冊和路由,此時可以通過我們plugin的”Init MLink”功能來生成這些代碼。

借助plugin生成的代碼,只能自動生成registerWithAnnotation()這個方法。這個方法是借助Annotation實現(xiàn)mLink跳轉(zhuǎn),而無需寫register邏輯。如果有特殊的跳轉(zhuǎn)邏輯或者需要傳遞額外的參數(shù),我們還是推薦您使用register()方法自己來實現(xiàn)。

對于mLink相關(guān)的Annotation,我們也提供了快捷生成的方式,這些方式是給懶人準(zhǔn)備的,當(dāng)然我們自己用起來也覺得很方便。
此時,基本完成sdk的集成步驟,也差不多介紹完了我們plugin的全部功能。最后還剩下一個功能,App正式發(fā)版時,一般會借助gradle打包,打包的時候會做一些混淆的工作。遇到過好幾個客戶,把我們的sdk也進行了混淆,從而導(dǎo)致無法使用mLink的功能。我們的plugin提供了“Keep MW SDK”的功能,它可以在proguard的配置中排除我們的sdk混淆。到此,sdk正式集成完成了

我們沒有寫一行代碼:)。
如果大家對我們的plugin感興趣,可以去github上拉我們的代碼(https://github.com/magicwindow/mw-sdk-plugin),歡迎在使用時給我們提需求,也歡迎發(fā)pr給我們。
最后不能忘了Xcode的用戶,我們會等到Swift 3正式發(fā)布后,考慮用Swift 3開發(fā)一款插件給iOS的開發(fā)者使用。
文/魚雨魚(簡書作者)
原文鏈接:http://www.itdecent.cn/p/acc9f2e38a7a
著作權(quán)歸作者所有,轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),并標(biāo)注“簡書作者”。