零邊際成本小程序產(chǎn)品開發(fā)范式,借勢創(chuàng)造價值!

引言
接下來將主要從以下四個方面給大家具體介紹:
什么是零邊際成本
如何追求零邊際成本
云開發(fā)小程序示例演示
如何借勢創(chuàng)造價值
一、什么是零邊際成本
邊際成本指的是生產(chǎn)一個新的商品所增加的社會成本。零邊際成本指的是生產(chǎn)一個新的商品的時候,它的成本是不增加的。

圖1 邊際成本與零邊際成本
零邊際成本在互聯(lián)網(wǎng)產(chǎn)品中比較常見。例如某些App和網(wǎng)站中售賣的虛擬商品(徽標、會員名稱、皮膚等),它們本質(zhì)上是存儲在服務器上的文件或記錄,是可以無限復制的,但只有在用戶付費后才會給到用戶,這類虛擬商品基本上都是零邊際成本的。
為什么要追求零邊際成本?本質(zhì)上是為了減少我們在成功抓到市場抓手前,做市場驗證時的成本投入,以更少更小的負擔,快速地進行MVP產(chǎn)品的嘗試,這是它主要的一個價值所在。
二、如何追求零邊際成本
事實上不是所有的產(chǎn)品、在所有的生態(tài)里面,都可以實現(xiàn)這個零邊際成本。類似于開發(fā)App、開辦教育培訓機構(gòu)等很多事情,人力、資產(chǎn)等成本投入都是必不可少的。今天分享的零邊際成本開發(fā)范式,其實是基于微信小程序技術(shù),在微信生態(tài)中實現(xiàn)的成本近乎為零的一種開發(fā)范式。
主要涉及以下三個方面:

圖2?零邊際成本開發(fā)范式
首先就是要實現(xiàn)產(chǎn)品閉環(huán),讓其能夠自主運行,能夠自動收款這是毫無疑問的。但微信的企業(yè)支付,只有企業(yè)資質(zhì)的開發(fā)者賬號才可以申請,個人無法使用。個人開發(fā)者和獨立開發(fā)者可以通過使用小微商戶解決,更加靈活,而且這一渠道也是合法的,這一部分下文也會詳細介紹。
其次是價值。無論我們要進行怎樣的產(chǎn)品嘗試,能否成功,本質(zhì)上還是取決于我們的產(chǎn)品能否給用戶提供價值,那我們該如何找到用戶的需求,為用戶提供價值?后面也會分享我的一些思考,希望能對你有所啟發(fā)。
最后是要讓產(chǎn)品的開發(fā)成本和運維成本趨近于零。
開發(fā)成本:今天分享的產(chǎn)品范式中,只要懂一些JS代碼,或者有微信小程序開發(fā)和上線的經(jīng)驗,那么看懂和修改本次分享的項目源碼是沒有問題的。
運維成本:此項目使用了云開發(fā),目前云開發(fā)對小程序開發(fā)者也是十分友好,在前期可以以一種近似于零成本的方式,進行產(chǎn)品的市場試水,這也是目前進行小程序開發(fā)的優(yōu)勢所在。
下面我會在項目中著重講第一點和第三點,第二點會放在最后闡述。
三、云開發(fā)小程序示例演示
下面為大家進行云開發(fā)小程序示例演示,本環(huán)節(jié)會分三個部分介紹。詳細講解請觀看視頻,這里僅做簡要介紹。

圖3?云開發(fā)小程序示例演示
(一)小微商戶介紹
小微商戶本質(zhì)是微信支付的第三方服務商,給個人開發(fā)者提供一種微信支付能力。本案例選擇迅虎,打開迅虎網(wǎng)站后點擊「商戶注冊」即可看到注冊引導,注冊成功后,即可根據(jù)提示申請「微信支付」與「支付寶支付」兩種支付渠道。小微商戶服務商網(wǎng)上有很多,此處選擇迅虎僅是例舉,讀者根據(jù)自身需要選擇其它服務商也是可以的。
本案例使用的是微信渠道,成功注冊后測試支付功能,小微商戶方會返回一個微信支付的收款二維碼,使用微信掃描后會打開微信原生的支付界面,支付體驗與微信企業(yè)支付流程一致。正常支付后,費用會自動轉(zhuǎn)到注冊小微商戶時綁定的銀行卡上。小程序項目源碼中使用其提供的商戶ID和API秘鑰,這些信息在第三方服務端后臺可以看到。
開發(fā)用到的工具是「微信開發(fā)者工具」,該工具主要用于開發(fā)小程序或小游戲項目。先到微信公眾平臺(mp.weixin.qq.com),注冊小程序賬號,這是開發(fā)微信小程序項目必備資質(zhì)?!肝⑿砰_發(fā)者工具」獲取可以點擊小程序---小程序開發(fā)文檔---工具---下載,選擇與自身系統(tǒng)適配的版本下載即可。


圖4 微信公眾平臺與小程序開發(fā)文檔
當小微商戶、小程序賬號、開發(fā)者工具都準備好了之后,就可以打開項目源碼修改,制作我們自己的小程序項目了,項目源碼在文末會提供下載方式。
項目的主要功能設(shè)計如下:

圖5 代碼邏輯
打開下載的項目后我們可以看到資源管理器中共用有三個云函數(shù)和三個頁面。

圖6?小程序項目源碼
主頁面中每一列都是一個可銷售的商品,即用戶每點開一個新的頁面都是需要支付才可以看到相關(guān)內(nèi)容,內(nèi)容可以是文本、視頻或音頻。用戶進行支付后,解鎖相關(guān)的內(nèi)容權(quán)限,整個過程自動化銷售,實現(xiàn)產(chǎn)品閉環(huán)。

圖7 小程序演示
(三)主要代碼講解

圖8 項目源碼 (文末有下載方式)
該小程序主要包含主頁面(index)、支付頁面(buy)、商品內(nèi)容頁面(read)這三個頁面。主頁面(index.wxml)負責渲染出所有待售商品列表,可以根據(jù)需求自由添加商品。
主頁面中用戶單擊其中一個文檔名稱的時候,會調(diào)用一個云函數(shù)「check_doc_authority」,檢查文檔權(quán)限,有權(quán)限則跳轉(zhuǎn)到閱讀頁面(read),并傳遞文檔路徑參數(shù)「docPath」無權(quán)限則跳轉(zhuǎn)到支付頁面(buy)提示購買,傳遞文檔名稱參數(shù)「docName」。
閱讀頁面中的主要代碼在(read)頁面下的 index.js,拿到文檔路徑地址后,下載到本地,然后使用小程序接口「wx.openDocument」打開文檔。若為了嚴謹性,防止用戶直接打開頁面,還可以在此處加載時再進行一次用戶權(quán)限驗證。本案例做簡單演示,故不做部署。
購買頁面中的視圖代碼為顯示購買相應文檔,并居中渲染支付二維碼,下方是按鈕「我已支付」,點擊會觸發(fā)函數(shù)調(diào)用。進入購買頁面后會先獲取由主頁面?zhèn)鬟f過來的文檔名稱參數(shù)「docName」,并調(diào)用云函數(shù)「new_pay_order」生成一個支付訂單,生成收款二維碼展示,其中包含的字段「paid」用于判斷用戶的支付狀態(tài)。
用戶點擊「我已支付」按鈕時,我們并不知道用戶是否已支付,但小微商戶的服務商是知道的,其拿到支付結(jié)果后,會通知我們服務器后端一個網(wǎng)址,由于是云開發(fā),沒有這個網(wǎng)址,也沒有任何服務器,支付狀態(tài)沒有辦法被動接收。
那我們該如何獲取用戶的支付狀態(tài)呢?可以通過云函數(shù)「query_pay_state」去查訂單ID對應的支付訂單,即可獲得用戶的支付結(jié)果。支付成功則返回,支付失敗則給出相應提示。
三個頁面的邏輯框架大致如此,可以根據(jù)自己需求進行修改。接下來重點看一下三個云函數(shù)。
首先是「new_pay_order」,作用是生成一個支付訂單。主要起作用的是「index.js」和「small_micro_pay」,后者是小微商戶的一個模塊,此處將其小程序化,讀者有需要可以copy到自己的項目中使用,或是基于當前的項目修改,里面是一些封裝好的方法。
云函數(shù)的主體文件「index.js」,首先是獲取一個openID,openID是當前用戶對小程序產(chǎn)品的唯一標識。每個小程序產(chǎn)品都是不一樣的,當前用戶在其他小程序產(chǎn)品中的openID也不一樣,所以openID只對當前產(chǎn)品有意義。openID在云開發(fā)中獲取非常方便,直接從當前的去開發(fā)上下文環(huán)境對象中獲取即可,這是云開發(fā)相對后端獨立開發(fā)的方便之處。
隨后是組建下單的參數(shù)對象,做一些必要的加密操作,繼而調(diào)用迅虎的API地址,迅虎會返回一個結(jié)果,里面有我們需要的一些信息,我們需要將這些信息存到云數(shù)據(jù)庫中,此處有一個云數(shù)據(jù)庫集合「pay_order」。在開發(fā)工具中點擊云開發(fā)(如果是第一次打開,按照提示開通即可)。在云開發(fā)---數(shù)據(jù)庫中可以看到「pay_order」的相關(guān)內(nèi)容,主要是包含了一些字段信息。下劃線開頭的字段代表是云環(huán)境自動生成的,其它則是程序員自己存儲的字段。

圖9 云數(shù)據(jù)庫集合「pay_order」
將迅虎中獲取到的信息寫庫,此處有一個關(guān)鍵字段「paid」,判斷用戶是否擁有商品權(quán)限。用戶最開始未支付,所以默認為flase;查到用戶已支付后,程序會將其設(shè)置為true。獲取到的信息中包含支付二維碼地址,簡單美化處理后將二維碼地址返回到支付頁面「buy」中顯示。用戶掃碼支付成功后,即可點擊「我已支付」按鈕,點擊按鈕后會觸發(fā)調(diào)用接下來要介紹的云函數(shù)「query_pay_state」。
第二個云函數(shù)「query_pay_state」中,主要作用是查詢用戶是否已經(jīng)支付成功。首先獲取支付訂單的訂單id,獲取到id后查詢支付記錄,有成功記錄則代表支付成功,反之則支付失敗。通過第三方服務端查詢到訂單支付成功后,將「paid」設(shè)置為true,并存儲到云數(shù)據(jù)庫集合中,如此操作是為了下一次查詢時可以不用再查詢第三方服務器,直接查詢云數(shù)據(jù)庫集合即可。
此處也可以根據(jù)產(chǎn)品需要再優(yōu)化,小程序本地有一個localStorage,利用它可以將文檔的權(quán)限記錄緩存在本地中,可以不用訪問云數(shù)據(jù)庫集合,直接在本地就可以決定當前用戶有無權(quán)限。
最后一個云函數(shù)是「check_doc_authority」,作用是查詢用戶是否有相應的文檔權(quán)限。主要是通過獲取文檔名稱,到云數(shù)據(jù)庫集合「pay_order」中查詢字段「paid」是否等于true,返回查詢結(jié)果。上面提到的在本地緩存權(quán)限驗證可以加在這一段邏輯前面,如果本地緩存中沒有查到文檔權(quán)限再從云數(shù)據(jù)庫中查找,這樣就少了這一步的云函數(shù)調(diào)用。因為云環(huán)境的免費額度是有限的,調(diào)用多了額度消耗也快,如果是使用本地的 localStorage 日志,可以減少云環(huán)境資源的調(diào)用和消耗,這樣的免費資源可以用得更久,這是它的意義所在。
四、如何借勢創(chuàng)造價值
前面分享了小程序開發(fā)范式,我們可以開發(fā)一個自動收款的小程序產(chǎn)品。但有了這樣的產(chǎn)品,用戶還不會主動打開去付費,還要看產(chǎn)品有沒有對用戶產(chǎn)生價值。如何讓產(chǎn)品有價值,關(guān)鍵是在于“勢”。
我們知道,孫子兵法有一句是說“木石之性,方則止,圓則行”,意思是木頭和石頭的特點,在險峻陡峭之處,方的容易靜止,圓的滾動靈活。我們設(shè)計產(chǎn)品也是一樣,要讓產(chǎn)品感覺里面好像有一個“勢”,這個“勢”促進用戶去購買。
怎么去借“勢”呢?給大家分享一個例子,現(xiàn)在知識付費比較流行,例如在行,可以一對一約人聊,知乎也有付費咨詢,包括其他地方也有,基本上付費率高的內(nèi)容一般都是是有價值的。如果你提出一個問題,這個問題是很多微信用戶都遇到過的,那么這個問題就是有潛在價值的。
這里提兩個問題作為參考「如何添加誤刪的微信好友?」「如何找回刪除的微信信息?」,這兩個問題在網(wǎng)上有很多人在問,說明有用戶確實有這個需求。但是我們不是這方面的專家,我們也不知道這兩個的答案怎么辦?怎么向用戶提供有價值的答案呢?
我們可以帶著問題去付費咨詢,例如在知乎上花1000塊錢問100個人,得到100個答案,把這100個答案整理成一個文檔,這個文檔對于一個特定的群體而言,就是有價值的,就有了“勢”,有需求的用戶他們看到了就會有購買意愿。而我們這個產(chǎn)品本身的運維成本是0,所以基本上可以沒有負擔地去運營這個產(chǎn)品,可以有一個很長的長尾去慢慢聚集用戶。同時因為產(chǎn)品對用戶是有價值的,具備增長屬性,即已有用戶可以帶來更多的新用戶,基于用戶口碑傳播,產(chǎn)品本身像樹木一樣,仿佛都有了自然增長屬性。
我們在產(chǎn)品中還可以存放很多文檔,每個文檔分享一個問題,類似的問題還可以組成一個系列,每個頁面都還可以單獨購買。
假如你就某一個問題,匯聚了最專業(yè)的一些回答,并且這個問題是真正的市場需求,就肯定會有人會慢慢聚集到你的產(chǎn)品中來。在開始運營的時候,也可以適當做一些網(wǎng)絡營銷推廣,加速產(chǎn)品起飛。
總結(jié)
最后再統(tǒng)一說明,拿到源碼以后我們需要做什么修改?首先是小微商戶的商戶ID和API密鑰,修改這兩個信息,用戶付費就會支付到你的賬號中;第二個是小程序賬號,在導入項目時選擇自己的AppID,這個AppID可以在小程序后臺看到;第三個是商品信息列表,可以將商品文件存放到云開發(fā)環(huán)境的云存儲中,上傳后會得到一個ID,復制ID替換文件地址,并修改名稱即可。
?推薦閱讀
技術(shù)人的五一怎么過?云加社區(qū)祝你節(jié)日快樂
從0到1詳解ZooKeeper的應用場景及架構(gòu)原理!
Go語言從0到1實現(xiàn)最簡單的數(shù)據(jù)庫!

