請按照這些外掛程式設計的指南,改善使用者的整體體驗。
一般最佳做法
建議您針對自己開發的所有外掛程式遵循以下最佳做法。
開始之前先決定外掛程式擁有權
外掛程式是由 Apps Script 專案定義,這類專案必須由特定帳戶擁有,或放入共用雲端硬碟中。在編寫外掛程式的程式碼之前,請先決定哪個帳戶應擁有專案,以及哪個帳戶做為發布商。請一併決定要將哪些帳戶當做協作者,並確認這些帳戶有權存取指令碼專案及其相關聯的 Cloud Platform 專案。
擴充 Google Workspace,請勿複製
外掛程式旨在為其擴充的 Google Workspace 應用程式提供新功能,或將複雜工作自動化。如果外掛程式只是複製應用程式中既有的功能,或不會對工作流程進行大幅改善的外掛程式,可能無法通過外掛程式審查進行發布。
縮小範圍
明確定義範圍時,請一律選擇最寬鬆的範圍組合。例如,如果外掛程式要求僅需要讀取權限,則請勿在具有 https://www.googleapis.com/auth/calendar
範圍的情況下要求取得使用者日曆的完整存取權。如需唯讀存取權,請使用 https://www.googleapis.com/auth/calendar.readonly
範圍。
避免過度仰賴程式庫
使用 Apps Script 程式庫時,如果所有 Apps Script 程式碼都包含在單一指令碼專案中,則會導致外掛程式執行速度變慢。雖然 Apps Script 程式庫可以在外掛程式中運作,但使用時可能會降低效能。請避免在專案中加入不必要的程式庫,並考慮減少外掛程式依賴的方法。
上述延遲時間僅適用於做為伺服器端程式庫的 Apps Script 專案。您可以自由使用用戶端 JavaScript 程式庫 (例如 jQuery),而且不會發生此延遲情形。
Google Workspace 外掛程式最佳做法
下列最佳做法僅適用於 Google Workspace 外掛程式和卡片服務的使用。
只使用幾張資訊卡
如果外掛程式使用過多卡片,導覽設定會變得複雜且難以管理。
避免過多的衝動,建立非必要的卡片。
使用小工具建立函式
編寫建立 Card
或其他複雜 UI 物件的程式碼時,請考慮將該程式碼放在其專屬函式中。此建立函式只需建構並傳回物件。這可讓您在每次必須重新整理 UI 時快速重新產生該物件。請記得在卡片服務中使用建構工具類別後,呼叫 build()
。
簡化資訊卡
如果特定資訊卡的小工具過多,它可能會填滿螢幕空間,變得較不實用。雖然大型資訊卡區段顯示為可收合的 UI 元素,但這會對使用者隱藏資訊。請盡可能簡化外掛程式,並提供符合使用者需求而非眾多之處。
使用錯誤資訊卡
針對錯誤狀況建立資訊卡。如果外掛程式產生錯誤,系統應該會顯示一張含有錯誤資訊的資訊卡,並說明如何修正問題。舉例來說,如果您的外掛程式因授權失敗而無法連線至非 Google 服務,系統會顯示資訊卡說明相關資訊,並要求使用者驗證要使用的帳戶資訊。
撰寫測試和測試訊息
建議您完整測試您建立的所有外掛程式。使用測試資料建構卡片和小工具的測試函式,然後驗證物件是否正常建立。
使用動作回呼函式時,您通常必須建構回應物件。您可以使用類似下方的陳述式,驗證回應是否已正確建構:
Logger.log(response.printJson());
使用「Run」選單,執行直接透過 Apps Script 編輯器建立的測試函式。若外掛程式可以正常運作,請務必安裝未發布的版本,以便進行測試。
針對外掛程式擴充的每個主機應用程式使用合適的測試資料。舉例來說,如果外掛程式擴充 Gmail,您可能需要一些測試電子郵件和郵件 ID,以確保外掛程式能針對不同郵件內容提供預期功能。您可以使用 Gmail API Users.messages.list 方法列出訊息,或是使用 Apps Script 的 Gmail 服務,取得特定郵件的郵件 ID。
日曆會議的最佳做法
如果您的外掛程式已將第三方日曆會議選項整合至 Google 日曆,請按照下列其他最佳做法操作:
保持 onCreateFunction
燈
當使用者嘗試建立該類型的會議解決方案時,系統會同步呼叫您在資訊清單中定義的每個 onCreateFunction
。請確保這些函式僅執行建立會議的最低必要作業。在上述函式中執行過多動作會導致外掛程式的使用者體驗變慢。
為會議資料使用適當的「ConferenceData
」欄位
建構 ConferenceData
物件時,您可以在其中填入會議的詳細資料 (存取碼、電話號碼、PIN 碼、URI 等)。請務必使用對應的 EntryPoint
欄位當做這項資訊。請勿將這些詳細資料放在 ConferenceData
附註欄位。
不要在 Google 日曆活動中附加會議詳細資料
外掛程式不需要在 Google 日曆活動說明中加入已建立第三方會議的相關資訊。Google 日曆會在必要時自動執行這項作業。