VPS参考测评推荐
专注分享VPS主机优惠信息
衡天云优惠活动
华纳云优惠活动
荫云优惠活动

微信开发h5轻游戏(H5小游戏开发)

主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情!
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作

如今,微信为移动web的各种小应用提供了肥沃的土壤,因此诞生了各种应用。每个人都可以开发,但不是每个人都能开发出好的应用程序。开发人员在开发过程中应该注意哪些“坑”?本文转自深海的博客。他分享了基于微信的html5 webapp具体开发实现过程中应该注意的细节以及如何用代码实现。

全文如下:

与传统的手机游戏商店下载模式不同,HTML5手机网页游戏可以直接在微信的内置浏览器中运行。

这段时间,团队一直在微信端做一些产品设计和开发,当然也包括一些运营工作。我做过很多事情,比如微名片、微票务、微活动、微招聘等小case。

今天要讲的是--微刮奖,这是我们在微信上玩得最活跃的轻游戏。这个东西可以用来刮书,门票,套餐,客户刮电话费。

让我们先看看这张照片,大致了解一下它的样子:

1.jpg

我想分享的是我们在基于微信的Html5 WebApp的具体开发和实现过程中需要克服的一些坑:这个小游戏的基本规则是:限制用户每天刮书两次(免费刮一次,分享后再刮一次),每天都可以刮奖品。为此,我们希望实现的想法是首先将其限制为使用微信,实现代码如下:

如果(!HttpContext。current . request . browser . ismobiledevice){ var result = new redirect result(& quot;url & quot,真);filterContextResult =结果;返回;} if(字符串。IsNullOrEmpty(HttpContext。{ var result = new redirect result(& quot;url & quot,真);filterContextResult =结果;返回;} if(HttpContext。current . request . user agent . index of(& quot;微信使& quot)= = -1){ var result = new redirect result(& quot;url & quot,真);filterContextResult =结果;返回;}

根据UserAgent的判断,这种伎俩似乎在互联网上广泛使用,但不使用时仍有很多坑:

1.首要问题:iOS和主流安卓机都没有问题,但是遇到Windows Phone就不能直接在微信上玩了。原因是微信中默认的UserAgent是MicroMessenger,这些机器的微信版本中不存在该代理,因此为了解决Windows Phone,我们添加了以下代码:

var useragent = HttpContext。current . request . user agent . to lower();if(user agent。index of(& quot;Windows Phone&quot。ToLower())!= -1){ base。OnActionExecuting(filter context);返回;} 2.高级问题:有专家直接使用一些插件工具伪造MicroMessenger的UserAgent,使其在理论上可以打开网页的任何浏览器中播放。为了解决这个问题,我们使用了微信的sdk中的接口:只有当用户在微信中使用它时,该控件才会被初始化和抓取,否则其他终端将始终处于加载状态。

Dataforweixin。callback = function(){//一些初始化操作}对于微信的界面,请直接阅读原文,此处不直接贴代码,否则不贴。

上面的想法做了很多事情,但对于我们的业务规则来说仍然有一个致命的bug。

这个bug是只要用户手动清除微信中的cookie和缓存信息,然后重新进入活动,就可以无限期刮奖,理论上是100%中奖。这是因为我的规则把判断当前微信用户是否刮奖的依据放在了cookie中,似乎别无他法。我想使用openid,但如果我们的微信订阅号来自朋友圈,我们就无法获得openid,这仍然存在上诉问题。

为了解决这个问题,我们终于找到了一个借用微信服务号授权接口的思路。基本思想如下:

当用户进入页面loading=,程序调用另一个微信服务号的授权接口,并返回openid=,并将openid存储在cookie中(如果不存在或过期,将重新执行前面的步骤)=。根据openid,判断当前活动从数据库中被抓取了多少次。同时,这个过程会自动判断用户是否在微信上玩游戏,否则回调会一直处于加载状态。使用后整个过程比较流畅。在此发布与授权相关的代码:

#region微信授权公共操作结果weixinlogin(string当前URL){ string URL = weixinoauth 2 . authorize(server . urlencode(当前URL));返回redirect permanent(URL);} public action result WeixinCallback(){ if(!字符串。IsNullOrEmpty(请求【& quot代码& quot】){//获取AccessToken参数var param = weixin oauth 2 . getaccesstoken(request【“code & quot;]);字符串url =字符串。格式(& quot{ 0 } # access _ token = { 1 } amp;openid={2}&ampexpires_in={3}state = { 4 } & quot、ConfigHelper。GetValue(& quot;微信_ Callback & quot),param.access_token,param.openid,param.expires_in,Server。UrlDecode(请求。query string【& quot;国家& quot]));//再次跳转到回调页面,保持腾讯登录的返回重定向(url)样式不变;} return View();}////& lt;总结& gt///授权申请页面//

当然,在整个开发过程中还有许多其他问题需要克服。比如微信分享后回调的实现,应该很多朋友都用过。例如,我们甚至需要为这个小游戏支持grps下的进程访问。那些大的游戏框架是不可能的,如何做到这一点等等。这些计划以后会慢慢写一些文章分享。

这几篇文章你可能也喜欢:

  • 暂无相关推荐文章

本文由主机参考刊发,转载请注明:微信开发h5轻游戏(H5小游戏开发) https://zhujicankao.com/115334.html

【腾讯云】领8888元采购礼包,抢爆款云服务器 每月 9元起,个人开发者加享折上折!
打赏
转载请注明原文链接:主机参考 » 微信开发h5轻游戏(H5小游戏开发)
主机参考仅做资料收集,不对商家任何信息及交易做信用担保,购买前请注意风险,有交易纠纷请自行解决!请查阅:特别声明

评论 抢沙发

评论前必须登录!