請參閱這些外掛程式設計指南,提升整體使用者體驗。
一般最佳做法
建議您為開發的所有外掛程式採用下列最佳做法。
開始前請先確認外掛程式擁有權
外掛程式是由 Apps Script 專案定義,且必須由特定帳戶擁有,或放在共用雲端硬碟中。編寫外掛程式程式碼前,請先決定專案的擁有者帳戶,以及做為發布者的帳戶。此外,請決定要將哪些帳戶設為協作者,並確保這些帳戶有權存取指令碼專案和相關聯的 Google Cloud 專案。
擴充 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 專案。您可以隨意使用 jQuery 等用戶端 JavaScript 程式庫,不會遇到這種延遲問題。
Google Workspace 外掛程式最佳做法
下列最佳做法僅適用於 Google Workspace 外掛程式和資訊卡服務。
只使用幾張卡片
如果外掛程式使用的資訊卡過多,導覽設定會變得複雜,難以管理。
請避免建立過多卡片。
使用小工具建立功能
編寫程式碼來建立 Card 或其他複雜的 UI 物件時,請考慮將該程式碼放在自己的函式中。這個建立函式應只會建構物件並傳回。這樣一來,每當 UI 必須重新整理時,您就能快速重新產生該物件。請記得在使用 Card 服務中的建構工具類別後呼叫 build()。
保持卡片簡單
如果特定資訊卡的小工具過多,可能會佔用太多螢幕空間,導致實用性降低。雖然大型卡片區塊會轉譯為可收合的 UI 元素,但這會向使用者隱藏資訊。盡量簡化外掛程式,只提供使用者需要的內容。
使用錯誤資訊卡
為錯誤情況建立資訊卡。如果外掛程式發生錯誤,應該會顯示含有錯誤資訊的資訊卡,並盡可能提供修正錯誤的指示。舉例來說,如果授權失敗,導致外掛程式無法連線至非 Google 服務,請顯示說明此情況的資訊卡,並要求使用者驗證所用的帳戶資訊。
編寫測試和測試訊息
您應徹底測試建立的所有外掛程式。使用測試資料建構測試函式,建立資訊卡和小工具,然後確認物件是否如預期建立。
使用動作回呼函式時,通常必須建構回應物件。您可以使用下列陳述式,確認回覆是否正確建構:
Logger.log(response.printJson());
使用「執行」選單,直接從 Apps Script 編輯器執行您建立的測試函式。如果外掛程式可正常運作,請務必安裝未發布的版本,以便進行測試。
請使用適合外掛程式擴充的各個主機應用程式的測試資料。舉例來說,如果外掛程式會擴充 Gmail 功能,您可能需要幾封測試電子郵件及其郵件 ID,確保外掛程式在收到不同郵件內容時能正常運作。如要取得特定郵件的郵件 ID,請使用 Gmail APIusers.messages.list 方法列出郵件,或使用 Apps Script 的 Gmail 服務。
行事曆會議最佳做法
如果外掛程式將第三方日曆會議選項整合至 Google 日曆,請遵循下列額外最佳做法:
保持 onCreateFunction 燈號
使用者嘗試建立該類型的會議解決方案時,系統會同步呼叫您在資訊清單中定義的每個
onCreateFunction。請確保這些函式只會執行建立會議所需的最低工作量。在這些函式中執行過多作業,可能會導致外掛程式的使用者體驗不佳。
針對會議資料使用適當的 ConferenceData 欄位
建構ConferenceData物件時,您可以填入會議詳細資料 (存取代碼、電話號碼、PIN 碼、URI 等)。請務必使用對應的EntryPoint欄位填寫這項資訊。請勿在ConferenceData附註欄位中提供這些詳細資料。
不要將會議詳細資料附加至日曆活動
外掛程式不必將建立的第三方會議資訊新增至日曆活動說明。Google 日曆會在必要時自動執行這項操作。