国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 微信小程序 微信開發(fā) 微信開發(fā)H5輕游戲

微信開發(fā)H5輕游戲

May 11, 2017 pm 01:06 PM

現(xiàn)如今微信為各種移動(dòng)Web的小應(yīng)用提供了肥沃的土壤,于是乎形形色色的應(yīng)用孕育而出。人人都可以做開發(fā),但不是每個(gè)人都能開發(fā)出好的應(yīng)用,在開發(fā)過程中開發(fā)者會(huì)應(yīng)注意哪些“坑”呢?本文轉(zhuǎn)自深海的博客,他分享了在具體開發(fā)實(shí)現(xiàn)過程中基于微信的Html5 WebApp需要注意的細(xì)節(jié)以及如何用代碼實(shí)現(xiàn)。

  全文如下:

  不同于傳統(tǒng)的手游商店下載模式,HTML5 手機(jī)網(wǎng)頁游戲是可以直接運(yùn)行在微信內(nèi)置的瀏覽器里。

  這段時(shí)間團(tuán)隊(duì)一直在做微信端的一些產(chǎn)品設(shè)計(jì)和開發(fā),當(dāng)然也包含一定的運(yùn)營工作。做過的東西也不少,微名片、微搶票、微活動(dòng)、微招聘等一些小case。

  今天想說的是我們?cè)谖⑿胖斜煌娴淖罨钴S的輕游戲--微刮獎(jiǎng),這東西可以被用來刮書、刮門票、刮套餐,還有客戶要用來刮電話費(fèi)。

  先上圖,感知一下具體樣子:

1.jpg

而我想分享的是我們?cè)诰唧w開發(fā)實(shí)現(xiàn)過程中,基于微信的Html5 WebApp需要去克服的一些坑:這個(gè)小游戲的基本規(guī)則是:限定用戶每天刮書次數(shù)是2次 (自由刮一次和分享后再刮一次),每天都可刮獎(jiǎng)為此,我們希望實(shí)現(xiàn)的思路首先是限定在只能使用微信中玩,實(shí)現(xiàn)代碼如下:

if (!HttpContext.Current.Request.Browser.IsMobileDevice)
            {
                var result = new RedirectResult("url", true);
                filterContext.Result = result;
                return;
            }
            if (string.IsNullOrEmpty(HttpContext.Current.Request.UserAgent))
            {
                var result = new RedirectResult("url", true);
                filterContext.Result = result;
                return;
            }
  
            if (HttpContext.Current.Request.UserAgent.IndexOf("MicroMessenger") == -1)
            {
                var result = new RedirectResult("url", true);
                filterContext.Result = result;
                return;
            }

這招通過UserAgent的判斷思路貌似網(wǎng)上大家也用的比較多,不用卻依然存在挺多坑:

  1. 初級(jí)問題:iOS和主流Android機(jī)器沒問題,但碰到Windows Phone,就直接在微信中跳出去無法玩。原因是微信中默認(rèn)的UserAgent是MicroMessenger,在這些機(jī)器的微信版本中不存在,所以為了解決Windows Phone,我們加入了如下代碼:

var useragent = HttpContext.Current.Request.UserAgent.ToLower();
           if (useragent.IndexOf("Windows Phone".ToLower()) != -1)
           {
               base.OnActionExecuting(filterContext);
               return;
           }

 2. 高級(jí)問題:有高人直接使用一些插件工具,偽造MicroMessenger的UserAgent,這樣理論上就可以在任何可以打開網(wǎng)頁的瀏覽器中玩了,解決此問題,我們利用的是微信的sdk中接口:僅當(dāng)用戶在微信中使用時(shí)執(zhí)行控件初始化刮獎(jiǎng)操作,否則其他終端瀏覽就會(huì)一直處于loading狀態(tài)。

dataForWeixin.callback = function () {
           //一些初始化的操作
       }

關(guān)于微信的接口大家直接閱讀原文,這邊不直接貼代碼出來了,不然貼不下。

  上面的思路做了很多事,但對(duì)我們的業(yè)務(wù)規(guī)則來說還有一個(gè)很致命的bug沒有解決。

  這個(gè)bug就是只要用戶手動(dòng)清除微信中的cookie和緩存信息,然后重新進(jìn)入活動(dòng),就能無限次刮獎(jiǎng),理論上是百分百中獎(jiǎng)了。這是由于我的規(guī)則將判斷當(dāng)前微信用戶是否刮過獎(jiǎng)的判斷依據(jù)放在了cookie中,貌似除此以外也沒有其他辦法。想利用openid,但我們的微信訂閱號(hào),如果從朋友圈過來的話都無法獲取openid,還是依然存在上訴問題。

  為了解決這個(gè)問題,最后我們終于找到了一條思路,借用微信服務(wù)號(hào)的授權(quán)接口,基本思路如下:

  用戶進(jìn)入頁面loading=》程序調(diào)用我們另外一個(gè)微信服務(wù)號(hào)的授權(quán)接口,返回openid=》將openid存入cookie(若不存在或過期,則重新執(zhí)行前面步驟)=》根據(jù)openid從數(shù)據(jù)庫判斷本期活動(dòng)刮了幾次,同時(shí),這個(gè)過程會(huì)自動(dòng)判斷用戶是否在微信中玩游戲,否則回調(diào)將一直處于loading狀態(tài)。整個(gè)過程使用下來,還比較流暢。這邊貼一下授權(quán)相關(guān)的代碼:

#region 微信授權(quán)
        public ActionResult WeixinLogin(string CurrentUrl)
        {
            string url = WeixinOAuth2.Authorize(Server.UrlEncode(CurrentUrl));
            return RedirectPermanent(url);
        }
  
        public ActionResult WeixinCallback()
        {
            if (!string.IsNullOrEmpty(Request["code"]))
            {
                // 獲取AccessToken參數(shù)
                var param = WeixinOAuth2.GetAccessToken(Request["code"]);
                string url = string.Format("{0}#access_token={1}&openid={2}&expires_in={3}&state={4}", ConfigHelper.GetValue("Weixin_Callback"), param.access_token,param.openid,param.expires_in, Server.UrlDecode(Request.QueryString["state"]));
                //重新跳轉(zhuǎn)到回調(diào)頁面,保持騰訊登錄相同風(fēng)格
                return Redirect(url);
            }
            return View();
        }
    /// <summary>
        /// 授權(quán)請(qǐng)求頁面
        /// </summary>
        /// <param name="flag">0為獲取微信基本信息 1為獲取微信openid接口</param>
        /// <returns></returns>
        public static string Authorize(string ReturnUrl)
        {
            string url=string.Format("https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri={1}&response_type=code&scope=snsapi_base&state={2}#wechat_redirect", Weixin_AppKey, Weixin_GetOpenIDCallback, ReturnUrl);
            return url;
        }  
    #endregion

至此,在微信中解決如何判斷當(dāng)前用戶的唯一性問題,基本上完全可以搞定。針對(duì)這套方案唯一存在的風(fēng)險(xiǎn)就是微信的接口的通暢性和穩(wěn)定性。

  當(dāng)然,在整個(gè)開發(fā)過程中還有很多其他問題需要一一克服,比如,微信分享后回調(diào)的實(shí)現(xiàn),相應(yīng)很多朋友都要用,還比如這種小游戲我們甚至需要支持grps下流程訪問,不可能那些很大的游戲框架,這怎么搞等等問題,這些打算后面再慢慢寫些文章分享。

以上是微信開發(fā)H5輕游戲的詳細(xì)內(nèi)容。更多信息請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)代碼編輯軟件(SublimeText3)

熱門話題

Laravel 教程
1601
29
PHP教程
1502
276
Nvgpucomp64.dll導(dǎo)致Windows PC游戲崩潰; Nvgpucomp64.dll導(dǎo)致Windows PC游戲崩潰; Mar 26, 2024 am 08:20 AM

如果Nvgpucomp64.dll導(dǎo)致游戲頻繁崩潰,這里提供的解決方案可能會(huì)對(duì)您有所幫助。這種問題通常是由于過時(shí)或損壞的顯卡驅(qū)動(dòng)程序、游戲文件損壞等原因引起的。修復(fù)這些問題可以幫助您解決游戲崩潰的困擾。Nvgpucomp64.dll文件與NVIDIA顯卡關(guān)聯(lián)。當(dāng)這個(gè)文件崩潰時(shí),你的游戲也會(huì)崩潰。這通常發(fā)生在《LordsoftheFallen》、《LiesofP》、《RocketLeague》和《ApexLegends》等游戲中。Nvgpucomp64.dll使WindowsPC上的游戲崩潰如果N

超級(jí)人類(superpeople)游戲下載安裝方法介紹 超級(jí)人類(superpeople)游戲下載安裝方法介紹 Mar 30, 2024 pm 04:01 PM

超級(jí)人類(superpeople)游戲可以通過steam客戶端下載游戲,這款游戲的大小在28G左右,下載到安裝通常需要一個(gè)半小時(shí),下面為大家?guī)砭唧w的下載安裝教程!新的申請(qǐng)全球封閉測試方法1)在Steam商店(steam客戶端下載)搜索“SUPERPEOPLE”2)點(diǎn)擊“SUPERPEOPLE”商店頁面下方的“請(qǐng)求SUPERPEOPLE封閉測試訪問權(quán)限”3)點(diǎn)擊請(qǐng)求訪問權(quán)限按鈕后,將在Steam庫中可確認(rèn)“SUPERPEOPLECBT”游戲4)在“SUPERPEOPLECBT”中點(diǎn)擊安裝按鈕并下

絕地求生FPS優(yōu)化設(shè)置,吃雞PUBG游戲幀率優(yōu)化 絕地求生FPS優(yōu)化設(shè)置,吃雞PUBG游戲幀率優(yōu)化 Jun 19, 2024 am 10:35 AM

絕地求生游戲幀率優(yōu)化,提升游戲的流暢度和性能方法:更新顯卡驅(qū)動(dòng)程序:確保您的計(jì)算機(jī)上安裝了最新的顯卡驅(qū)動(dòng)程序。這有助于優(yōu)化游戲性能并修復(fù)可能存在的兼容性問題。降低游戲設(shè)置:將游戲中的圖形設(shè)置調(diào)整為較低的水平,例如降低分辨率、減少特效和陰影等。這會(huì)減輕計(jì)算機(jī)的負(fù)擔(dān)并提高幀率。關(guān)閉不必要的后臺(tái)程序:在游戲運(yùn)行時(shí),關(guān)閉其他不必要的后臺(tái)程序和進(jìn)程,以釋放系統(tǒng)資源并提高游戲性能。清理硬盤空間:確保您的硬盤有足夠的可用空間。刪除不需要的文件和程序,清理臨時(shí)文件和回收站等。關(guān)閉垂直同步(V-Sync):在游戲

華碩發(fā)布 BIOS 更新,提高英特爾第 13/14 代處理器游戲穩(wěn)定性 華碩發(fā)布 BIOS 更新,提高英特爾第 13/14 代處理器游戲穩(wěn)定性 Apr 20, 2024 pm 05:01 PM

本站4月20日消息,華碩公司近日發(fā)布了BIOS更新,改善了英特爾第13/14代處理器運(yùn)行游戲時(shí)崩潰等不穩(wěn)定情況。本站此前報(bào)道,玩家反饋的問題包括運(yùn)行萬代南夢(mèng)宮格斗游戲《鐵拳8》PC演示版時(shí),即便電腦擁有充足的內(nèi)存和顯存,也會(huì)出現(xiàn)系統(tǒng)崩潰并提示內(nèi)存不足的錯(cuò)誤信息。類似的崩潰問題也出現(xiàn)在《戰(zhàn)地風(fēng)云2042》、《遺跡2》、《堡壘之夜》、《墮落之主》、《霍格沃茨之遺》以及《TheFinals》等多款游戲中。RAD公司今年2月發(fā)布長文,解釋說游戲崩潰問題是BIOS設(shè)置、英特爾處理器的高時(shí)鐘頻率和高功耗共同

為 PS5 Pro 鋪路,《無人深空》更新代碼'驚現(xiàn)”游戲機(jī)開發(fā)代號(hào)'Trinity”及畫質(zhì)配置文件 為 PS5 Pro 鋪路,《無人深空》更新代碼'驚現(xiàn)”游戲機(jī)開發(fā)代號(hào)'Trinity”及畫質(zhì)配置文件 Jul 22, 2024 pm 01:10 PM

本站7月22日消息,外媒twistedvoxel在《無人深空》最新的“世界第一部分”更新代碼中發(fā)現(xiàn)了傳聞中PS5的開發(fā)代號(hào)“Trinity”及相關(guān)畫質(zhì)配置文件,佐證了索尼有望近期推出PS5Pro機(jī)型。雖然《無人深空》在近期的更新中已為游戲加強(qiáng)了畫質(zhì)表現(xiàn),但仍有不少玩家認(rèn)為這可能是HelloGames為新機(jī)型所提前鋪路,根據(jù)最新的圖形預(yù)設(shè),在PS5Pro下這款游戲的動(dòng)態(tài)分辨率縮放從0.6增加到0.8,這代表游戲平均分辨率更高,一些圖形細(xì)節(jié)從“High”級(jí)別升級(jí)到“Ultra”級(jí)別,不過由于每款游戲

WIN10玩游戲任務(wù)欄怎樣一直顯示_WIN10玩游戲任務(wù)欄一直顯示的處理操作步驟 WIN10玩游戲任務(wù)欄怎樣一直顯示_WIN10玩游戲任務(wù)欄一直顯示的處理操作步驟 Mar 28, 2024 am 08:36 AM

1、鼠標(biāo)右鍵點(diǎn)擊任務(wù)欄的空白處,然后找到屬性,點(diǎn)擊它。2、在這可以看到系統(tǒng)默認(rèn)設(shè)置是沒有勾選自動(dòng)隱藏任務(wù)欄的。3、點(diǎn)擊勾選,然后確定,保存更改。4、再回到我們的桌面就能看到任務(wù)欄被自動(dòng)隱藏了,把鼠標(biāo)光標(biāo)移到最下面的話,又會(huì)顯示出來。

蘋果手機(jī)游戲麥克風(fēng)權(quán)限打開方法講解 蘋果手機(jī)游戲麥克風(fēng)權(quán)限打開方法講解 Mar 22, 2024 pm 05:56 PM

1、在手機(jī)設(shè)置中點(diǎn)擊進(jìn)入【隱私】。2、點(diǎn)擊【麥克風(fēng)】選項(xiàng)。3、將需要設(shè)置麥克風(fēng)權(quán)限的游戲應(yīng)用右側(cè)開關(guān)打開。

H5指的是什么?探索上下文 H5指的是什么?探索上下文 Apr 12, 2025 am 12:03 AM

H5referstoHTML5,apivotaltechnologyinwebdevelopment.1)HTML5introducesnewelementsandAPIsforrich,dynamicwebapplications.2)Itsupportsmultimediawithoutplugins,enhancinguserexperienceacrossdevices.3)SemanticelementsimprovecontentstructureandSEO.4)H5'srespo

See all articles