作爲開發者,傳統的微信分享拿到分享的狀態碼並不能完全確定玩家是否分享到好友或羣。
因此一部分開發者給分享做一個定時器,超過5秒就判定玩家分享成功,實際上很容易被玩家利用。
因此我們可以利用微信分享過程中的圖片url鏈接做文章:
1.需要一個web服務器,提供給客戶端接口https://xxxx?openid=xxx&appid=xxx&channel=xxx&imgurl=https://xxxcos.ap-shanghai.myqcloud.comxx.png 接口
其中 openid是玩家的openid,appid是小程序的appid,channel是自定義的渠道,imgurl是原來通過分享傳給微信的圖片鏈接。
2. 客戶端在分享的時候將微信分享圖片鏈接改成 https://xxxx?openid=xxx&appid=xxx&channel=xxx&imgurl=https://xxxcos.ap-shanghai.myqcloud.comxx.png
3.web服務器拿到微信客戶端的請求後分別將參數拿到後記錄在服務器,這樣就知道哪個玩家在哪個應用裏分享了多少次,然後服務器在header裏設置狀態碼302之後,header跳轉到imgurl的鏈接。
4. 用戶從微信頁面返回遊戲頁面時,我們再請求自己的web服務器,通過openId,appid和渠道來查詢該用戶是否在數據庫裏有標識進行過分享的記錄,如果記錄存在,那麼就給該用戶發放分享成功的獎勵。