改善使用者以提升整體使用體驗 設計。
一般最佳做法
建議您一律遵循以下最佳做法, 。
在開始之前判斷加購內容擁有權
外掛程式是由 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 物件,請考慮將該程式碼放在其所屬函式中。
這個建立函式應該只會建構並傳回物件。這樣一來,
只要在使用者介面必須重新整理時,就能快速重新產生該物件。注意事項
呼叫 build()
中的
卡片服務:
簡化資訊卡
如果某張資訊卡有太多小工具,可能會填滿太多畫面, 就會變得較不實用大型資訊卡區段會顯示為可收合的 UI 元素 這樣就能隱藏使用者的資訊。以簡化外掛程式 完全切合使用者需求
使用錯誤資訊卡
針對錯誤狀況建立資訊卡。如果外掛程式發生錯誤, 顯示包含錯誤資訊的資訊卡,以及修正資訊的方式 可以的話舉例來說,如果外掛程式無法連結至 Google 以外的帳戶 服務,因為授權失敗,系統會顯示說明卡片並詢問 ,確認要使用的帳戶資訊。
編寫測試和測試訊息
請完整測試您建立的所有外掛程式。建構的測試函式 使用測試資料建立資訊卡和小工具,然後驗證這些物件 您就能正常建立
使用動作回呼函式時 您通常必須建構回應物件您可以使用類似下列的陳述式: 確認回應的建立正確:
Logger.log(response.printJson());
執行您透過 Apps Script 直接建立的測試函式 使用「Run」選單如果有可用的外掛程式 請務必安裝取消發布的版本 供您測試
請針對外掛程式擴充的每個代管應用程式使用適當的測試資料。適用對象 舉例來說,如果這個外掛程式擴充了 Gmail,您可能需要再寫幾封測試電子郵件 及其訊息 ID,這樣您的外掛程式功能就會 預期會出現這種情況您可以取得 特定訊息,方法是使用 Gmail API Users.messages.list 方法或使用 Apps Script 的 Gmail 服務。
日曆會議最佳做法
如果您的外掛程式整合了第三方服務 日曆會議 選項匯入 Google 日曆,請遵循下列額外的最佳做法:
保持 onCreateFunction
的亮度
每個 onCreateFunction
當使用者嘗試執行
建立該類型的會議解決方案請確認這些函式只會執行
至少達到建立會議所需的工作量。在這些階段中做太多事
函式可能會導致外掛程式的使用者體驗降低。
為會議資料使用適當的 ConferenceData
欄位
建構應用程式
ConferenceData
物件,即可填入會議的詳細資料 (存取
驗證碼、電話號碼、PIN 碼、URI 等)。請務必使用相應的
EntryPoint
欄位
。請勿將這些細節放在ConferenceData
中
附註欄位。
不要將會議詳細資料附加至 Google 日曆活動
你不需要為外掛程式新增已建立的第三方相關資訊 請將會議內容複製到 Google 日曆活動說明中。Google 日曆做的 並在必要時自動執行