八十岁生日,微信邀请,html5.doc
文本预览下载声明
八十岁生日,微信邀请,html5
篇一:微信开发HTML5轻游戏中的几个坑
成都嗡嗡文化传媒有限公司 微信开发HTML5轻游戏中的几个坑
摘要:基于微信开发的HTML5游戏,开发者需要克服哪些坑呢?又该如何推广呢?本文转自深海的博客,他分享了具体开发实现过程中,基于微信的Html5 WebApp需要注意哪些细节以及如何用代码实现。
现如今微信为各种移动Web的小应用提供了肥沃的土壤,于是乎形形色色的应用孕育而出。人人都可以做开发,但不是每个人都能开发出好的应用,在开发过程中开发者会应注意哪些“坑”呢?
不同于传统的手游商店下载模式,HTML5 手机网页游戏是可以直接运行在微信内置的浏览器里。
这段时间团队一直在做微信端的一些产品设计和开发,当然也包含一定的运营工作。做过的东西也不少,微名片、微抢票、微活动、微招聘等一些小case。
今天想说的是我们在微信中被玩的最活跃的轻游戏--微刮奖,这东西可以被用来刮书、刮门票、刮套餐,还有客户要用来刮电话费。
先上图,感知一下具体样子:
成都嗡嗡文化传媒有限公司
而我想分享的是我们在具体开发实现过程中,基于微信的Html5 WebApp需要去克服的一些坑:这个小游戏的基本规则是:限定用户每天刮书次数是2次 (自由刮一次和分享后再刮一次),每天都可刮奖为此,我们希望实现的思路首先是限定在只能使用微信中玩,实现代码如下:
[js] view plaincopy
1.
2.
3.
4.
5.
6.
7.
if (!HttpContext.Current.Request.Browser.IsMobileDevice){ var result = new RedirectResult(quot;urlquot;, true); filterContext.Result = result; return;}if (string.IsNullOrEmpty(HttpContext.Current.Request.UserAgent))
{
var result = new RedirectResult(quot;urlquot;, true);
filterContext.Result = result;
return;
}
8. 9. 10. 11. 12. 13.
成都嗡嗡文化传媒有限公司
14.
15.
16.
17.
18.
19. if (HttpContext.Current.Request.UserAgent.IndexOf(quot;MicroMessenge{ var result = new RedirectResult(quot;urlquot;, true); filterContext.Result = result; return;}rquot;) == -1)
这招通过UserAgent的判断思路貌似网上大家也用的比较多,不用却依然存在挺多坑: 1. 初级问题:iOS和主流Android机器没问题,但碰到Windows Phone,就直接在微信中跳出去无法玩。原因是微信中默认的UserAgent是MicroMessenger,在这些机器的微信版本中不存在,所以为了解决Windows Phone,我们加入了如下代码:
[js]
view plaincopy
1.
2.
3.
4. 5.
6. var useragent = HttpContext.Current.Request.UserAgent.ToLower(); if (useragent.IndexOf(quot;Windows Phonequot;.ToLower()) != -1) {base.OnActionExecuting(filterContext);return; }
2. 高级问题:有高人直接使用一些插件工具,伪造MicroMessenger的UserAgent,这样理论上就可以在任何可以打开网页的浏览器中玩了,解决此问题,我们利用的是微信的sdk中接口:仅当用户在微信中使用时执行控件初始化刮奖操作,否则其他终端浏览就会一直处于loading状态。
[js] view plaincopy
1.
2.
3. dataForWeixin.callback = function () { //一些初始化的操作 }
关于微信的接口大家直接阅读原文,这边不直接贴代码出来了,不然贴不下。
上面的思路做了很多事,但对我们的业务规则来说还有一个很致命的bug没有解决。
成都嗡嗡文化传媒有限公司 这个bug就是只要用户手动清除微信中的cookie和缓存信息,然后重新进入活动,就能无限次刮奖,理论上是百分百中奖了。
显示全部