Cordova第四式–套件應用篇

Cordova第四式–套件應用篇

從Cordova到AngularJS搭配Ionic的整個環境建立,接下來要快速讓一個Hybrid APP順利執行,一般來說就要懂得運用套件(Plugins),畢竟要從JavaScript控制到裝置本身的作業系統,不是使用現成的套件,就是獨立完成撰寫一個套件,別忘了如果你要支援多個作業平台那你就得深入每一個原生語言,由於官方的Cordova Plugins選項過於龐大,所以我們接下來就由較為精緻的ngCordova Plugins作為介紹的參考依據,可能是該套件的相關技術介紹或如何使用等等。

在談到ITE2 NAS/PowerNAS強調的「分享」前,我們先來談談如何透過OAuth做到社群整合,採用請求使用者社群帳戶進行認證,免去輸入帳號及密碼的登入流程,該如何實現呢?就以目前能夠綁定的三個社群網站來舉例:

$cordovaOauth.google(string clientId, array appScope, object options);

$cordovaOauth.facebook(string clientId, array appScope, object options);

$cordovaOauth.twitter(string consumerKey, string consumerSecretKey, object options);

 

除了Twitter略為不同,Google和Facebook與其它各大社群網站對照一下,就可以發現大多都只需要帶著準備好的Client ID和APP Scope(想要請求的項目或權限,如個人資訊、電子郵件或好友清單等),另外則是在option的物件中帶上重新導向的定義(redirect URI),基本上就可以完成大多的OAuth功能。

 

接下來當然就是如何將檔案分享出去呢?別擔心!$cordovaSocialSharing會幫你完成任務的,.share(message, subject, file, link),就可以將相關訊息透過分享選單指定目的地,或許在不同的作業平台會有支援程度的些許不同,還是可以透過它來完成大部分的社群動態發佈或是發簡訊、寄電子郵件;那麼有Android開發經驗的人可能會想到,那我要如何處理分享進來的檔案呢?這時cordova-plugin-webintent2可以幫你做到Intent的功能,在Manifest設定好intent-filter接著在JavaScript的部分webintent.getExtra一樣可以處理EXTRA_STREAM和EXTRA_TEXT,如果有需要做一些程式微調,只要進到Plugins的路徑底下,找到WebIntent.java打開後就是熟悉的原生語言,看到你就知道該怎麼做的!

 

ngCordova不論在首頁或是套件概述都可以看到相機,而即時的拍照上傳或應用,就將使用到它!$cordovaCamera.getPicture(options),其實這部分該特別注意的是options的部分,因為你是要開啟相機來拍照還是選擇現有的影像,是暫存還是要在裝置存檔,你期待的回傳結果是什麼都在這裡要設定好。由於屬性眾多就不一一介紹,沒有出現在下列的精選介紹,別忘了參考相關文件。

 

sourceType: CAMERA可以選擇開啟相機拍攝照片,或是PHOTOLIBRARY或SAVEDPHOTOALBUM選取現有的影像來進行後續處理。

destinationType: DATA_URL指定回傳base64的字串,不過影像經過base64編碼後通常資料龐大,所以一般會建議使用FILE_URI或NATIVE_URI的回傳方式。

 

當然,除了這次介紹的幾個套件,還有許多常見的套件應用,例如$cordovaCapture擷取聲音、影片或圖像;$cordovaDevice取得裝置的資訊(型號、作業系統或版本等);$cordovaDialogs使用常見的彈出視窗;$cordovaFile對於路徑或檔案的控制或讀寫…等。接著一些實用的低耗電的背景定位、iBeacon、SQLite及SMS的簡訊發送等;或是針對iOS的3DTouch及TouchID的介紹,這麼多有趣的相關應用,趕快嘗試看看吧!


發佈留言

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料