公眾號執行超時後提示無法提供服務的處理方法?

Tags: 公眾,

本文是針對之前我發的篇《

公眾號提示該公眾號暫時無法提供服務的解決方法

》經驗的補充,主要是在實際應用中的有效解決方法。

2 公眾號提示該公眾號暫時無法提供服務的解決方法

公眾號執行超時後提示無法提供服務的處理方法

工具/原料

微信公眾號

開發才模式

方法/步驟

很多朋友在開發微信平臺時都會遇到用戶發送信息或執行某種需要和服務器交互的操作時,公眾號提示“該公眾號暫時無法提供服務,請稍候再試”的提示,這樣讓人感覺很不爽,我那篇經驗也已經分析了原因。

公眾號執行超時後提示無法提供服務的處理方法

出現這提示,在排除網絡正常的情況下,最大的原因就是因為您的程序執行時間過長,沒有有效的返回數據,微信就判斷是執行錯誤,所以返回了無法提供服務的提示。官方說的是如果不能及時處理時需要回得空串就行了。

公眾號執行超時後提示無法提供服務的處理方法

上一篇經驗也給出了PHP版的回覆方法,就是直接echo '';回覆空值,這樣微信平臺收到這個就不做任何提示了,但是這有個很不好地方就是用戶輸入內容或點擊什麼了,你的公眾號沒有反應,在用戶體驗上就差些了。上一篇經驗不是很完善,因為在echo空值後,你再執行程序,程序還是會超時,這時可能還沒提示無法提供服務。

公眾號執行超時後提示無法提供服務的處理方法

公眾號執行超時後提示無法提供服務的處理方法

要想在程序長時間執行(超過官方說的5秒內回覆),就需要在5秒內回覆出數據,如果沒有數據就回復空,然後繼續執行程序,這時就需要在程序中利用緩衝實現動態輸出了,PHP的就是使用flush,ob_flush實現。

這樣在程序執行過程中,直接返回給了微信,微信不會出現錯誤提示,程序也能繼續執行。

公眾號執行超時後提示無法提供服務的處理方法

上面只是說了,執行過程中輸入,保證不讓公眾號因為程序長時間運行而提示“該公眾號暫時無法提供服務,請稍候再試”,但為了用戶更好體驗,就需要在程序執行完畢後,調用客服消息接口給用戶發信息了,這樣用戶在輸入內容後,程序在後臺就算執行10秒,但不會出現無法提供服務信息,因為你已經返回空值了,程序在10秒後執行完畢得到想要的數據又通過客服消息接口發送給了用戶,用戶體驗上就會增強很多。

公眾號執行超時後提示無法提供服務的處理方法

公眾號執行超時後提示無法提供服務的處理方法

注意事項

調用客服消息接口需要認證公眾號

相關問題答案