開發一個具有無限潛力的 Shopify 應用程序,可以在 Shopify 多元化的生態體系里觸及到超過一百萬的商家群體。對于開發者來說,從應用開發到審核提交的過程中會遇到許多困惑,希望這篇文章能夠給 Shopify 的開發者們答疑解惑,使應用開發和上線流程更加順暢。
App應用開發流程
創建應用并獲取憑據 (O-Auth)
- 從合作伙伴儀表板上的應用程序菜單中創建一個應用程序,并獲取使用API??所需的憑據(憑證)。
- 了解更多:詳細資料
- Shopify App CLI (命令行工具,該工具會自動生成用于獲取權限和使用Polaris的代碼)
開發商店中的安裝流程
- 生成 一個URL,以獲取使用您的憑據調用API的許可并將其安裝在開發存儲中。
- 了解更多:詳細資料
- 更多閱讀:如何創建嵌入式 App
根據OAuth 2.0規范從獲得的權限中生成訪問令牌,然后調用API。
- 了解更多:詳細資料
有以下三種類型的API,但是訪問令牌獲取方法相同。
- REST Admin API (針對商家的管理功能)
- GraphQL Admin API(為GraphQL中的商家提供管理功能)
- 店面API(通過GraphQL為店面提供功能)
您可以使用以下應用檢查GraphQL Admin API的操作
注:推薦使用GraphQL作為API。
打造嵌入式應用程序:使用Polaris創建UI
要創建要嵌入到商家管理界面或POS應用程序中的UI ,請使用名為Polaris的UI庫。這使您可以創建具有與Shopify相同設計并與移動應用程序兼容的UI。要將Shopify與創建的UI鏈接起來,請使用名為App Bridge的SDK。另外,要在管理屏幕中插入自己的菜單,請在應用程序擴展中設置應用程序擴展。通過使用App Bridge和App擴展,您可以將App功能添加到擴展點,例如訂單管理屏幕,POS應用程序菜單和聊天機器人,以及應用程序的主屏幕。- Polaris設置
- App Bridge設定
- 將App Bridge和Polaris與React結合使用
- 如何使用Polaris組裝UI(來自下面的教程應用程序)
- 應用程式橋動作
- 應用程序擴展程序擴展點
- 應用于POS應用
- 套件中增加了技能(Shopify標準聊天機器人)
將通知作為觸發器進行處理:使用Webhook創建處理
您可以使用webhook來實現基于通知的處理(例如,當訂單來臨時,調用鏈接的庫存系統的API)。Webhooks可以通過商家的界面進行手動注冊,也可以通過API自動注冊(通過API注冊的Webhooks不會顯示在設置上。也可以使用API??或注冊的應用程序進行刪除)。
如果Shopify在指定時間內未收到響應,則將重新發送Webhook。因此,有必要預料到重復傳輸的可能性,并進行設計以使響應首先返回,然后再異步執行操作。請查看上面的鏈接以獲取詳細信息。
向店面添加功能:使用主題編輯店面
如果要向店面(即在線商店的站點側,購買者使用的界面)添加功能(例如,向購物車中添加唯一商品,為會員創建積分功能等),則需要自定義主題。 .如果要使用API從店面操作數據,請使用上面提到的Storefront API。要基于商店數據動態更改主題,您需要插入一種稱為Liquid的模板語言。
- 主題概述
- 主題文件結構
- 主題設定
- 主題詳情
- 部分的詳細信息(可以在主題編輯器中設置的部分)
- Liquid樣例代碼
- 向產品頁面和購物車添加唯一商品(購物車屬性,訂單項屬性)
- 向客戶(會員)信息添加唯一項
- Liquid對象類型和參考范圍
- 多語言在線商店
- 多語言主題
- 主題的多幣種支持
- Shopify主題工具包 (創建主題模板并自動反映它們的命令行工具)
- Ajax API(用于在主題內控制購物車,產品,搜索等的JavaScript API)
- ScriptTag API(該API可讓您在不編輯主題的情況下將外部JavaScript插入店面)
- 多次行證(允許您使用外部帳戶注冊和登錄在線商店的功能。僅適用于Shopify Plus)
要在安裝應用程序時自動自定義主題,您需要使用在線商店API,但如果改動較小,則可以通過在幫助中編寫插入過程來進行。
如果要用應用程序的圖形替換Shopify在線商店的特定URL(例如,如果要在結帳時插入應用程序提供的外部屏幕),或者要從主題調用服務器端API,您可以使用稱為App代理的功能將Shopify的在線商店的URL映射到您應用的服務器的URL。如果您想在訂單完成頁面上插入自己的腳本例如執行轉化評估JavaScript,顯示Liquid數據等,則可以設置其他腳本或調用上面的ScriptTag API。
您也可以將視頻和3D模型插入主題。相關詳情,請參見下文。
使用外部網站或移動應用程序構建店面
要將在線商店創建為外部網站或移動應用程序(以所謂的無頭商業為代表),并創建僅提供Shopify的商業功能的應用程序,請使用Storefront API和Buy SDK。
適用于App Store
有兩種類型的應用程序:只適用于一個商店上安裝的私人定制應用程序,以及可以發布到應用程序商店并由任何商店使用的公共應用程序(從搜索目標中排除,并且實際上是私有的)。如果您可以開發滿足許多商店需求的通用應用程序,請向應用程序商店提交應用程序,并讓其他商家使用它。該應用可以免費發布或收費發行。
- 關于應用程序的類型
- 如何發布Shopify應用
- 申請時需符合的條件
- 關于用于付費應用程序(應用程序內購買)的Billing API
- 關于卸載應用程序時的行為
- 符合GDPR要求的必需Webhook
- 關于應用程序的多語言支持在應用商店中取得成功 (描述了如何推廣您的應用以及禁止使用的內容)
審核應用常見錯誤
完整審核清單請詳讀此文檔。
- 提交應用名稱要符合partner后臺的應用名稱
- 安裝成功到Shopify后臺登陸界面必須自動跳出
- 應用listing的主要語言必須跟應用界面的語言相同
- 請務必創建一個中文應用程序 listing
- Oauth認證必須完整呈現
- App listing, Section G 提供測試應用的虛擬賬戶以及密碼
- App listing, Section G 用視屏鏈接提供使用應用說明流程
- App listing, Section G & B4 寫清楚使用應用說明 (G項提供給Shopify內部,B4項提供給客戶)
- 應用的HTTPS沒有使用SSL認證
- App listing, Section D 提供應用的緊急聯絡人聯系方式
- 完善GDPR Webhooks應用開發注意事項
開發應用前,請務必把 app-submissions@shopify.com 該郵件地址列入你的郵箱白名單,確保審核過程若有任何問題能夠第一時間和Shopify團隊保持聯系。
- 關于測試環境
- 如上所述,如果您通過合作伙伴帳戶創建開發商店,則可以無限期獲得測試環境。
- Shopify數據擴展
- 有一項名為Metafields的功能,該功能可讓您使用API??更新和引用各種Shopify數據(例如,客戶,產品,訂單等)中的任何項目。注冊的數據也可以從主題中稱為Liquid,這對于店面功能開發很有用。
- 從應用商店中的應用中學習技術
- 應用程序安裝屏幕,需要獲得所需API和功能的許可。相反,您可以通過詳細查看此屏幕來檢查使用哪種技術。
- 對于店面應用程序,您可以通過在安裝應用程序后更改主題或頁面并使用瀏覽器的開發控制臺檢查店面內部來猜測應用程序在做什么。
- 閱讀規格以適合您的需求
- 即使Shopify沒有直接滿足您需求的規范,也可以通過成功閱讀(應用)現有規范來解決。例如,該指定的交貨日期和時間的附加方法可以通過改變元件類型和UI被應用到其他車擴展,以及此優惠券代碼的URL嵌入可以應用于建會員積分數的成員。
- 在創建用于運費計算和倉庫合作的應用程序時
- 發貨物流API(CarrierService)和履行服務API注冊使用就可以實現自己的運費計算及運費說明功能(運費計算在規劃限制)。
- 獲取商店統計信息
- 如果使用稱為ShopifyQL的API,則可以使用SQL(有計劃限制)獲取商店統計信息(銷售等)。
- 將主題獨立發布到主題商店您可以與應用商店分開申請并向主題商店發布自己的主題。見這里了解詳細信息。
Shopify應用開發常見問題
Shopify App應用開發流程有哪些?
- 注冊合作伙伴帳戶
- 添加開發商店
- 創建應用并獲取憑據 (O-Auth)
- 開發商店中的安裝流程
- 使用API??創建應用流程
如何實現基于通知的處理?
如何使用外部網站或移動應用程序構建店面?
審核應用常見錯誤應該注意哪些要點?
- 提交應用名稱要符合partner后臺的應用名稱
- 安裝成功到Shopify后臺登陸界面必須自動跳出
- 應用listing的主要語言必須跟應用界面的語言相同
- 請務必創建一個中文應用程序 listing
- Oauth認證必須完整呈現
- App listing, Section G 提供測試應用的虛擬賬戶以及密碼
- App listing, Section G 用視屏鏈接提供使用應用說明流程
- App listing, Section G & B4 寫清楚使用應用說明 (G項提供給Shopify內部,B4項提供給客戶)
- 應用的HTTPS沒有使用SSL認證
- App listing, Section D 提供應用的緊急聯絡人聯系方式
- 完善GDPR Webhooks應用開發注意事項
文章為作者獨立觀點,不代表DLZ123立場。如有侵權,請聯系我們。( 版權為作者所有,如需轉載,請聯系作者 )

網站運營至今,離不開小伙伴們的支持。 為了給小伙伴們提供一個互相交流的平臺和資源的對接,特地開通了獨立站交流群。
群里有不少運營大神,不時會分享一些運營技巧,更有一些資源收藏愛好者不時分享一些優質的學習資料。
現在可以掃碼進群,備注【加群】。 ( 群完全免費,不廣告不賣課!)