房卡麻将分析之"一键入局"

地方棋牌,VR,AR技术,请关注公众号:"红孩儿的游戏开发之路“。

房卡麻将分析之"一键入局"

房卡麻将通过微信邀请好友加入房间进行游戏,大大方便了玩家进行麻将游戏。这也凸显了微信对于游戏引流导量的强大平台作用。本次我们就给大家讲一下“一键入局”的技术原理。

首先,我们先来疏理一下整个过程:

玩家打开游戏,创建房间,并将房间信息(房间说明和房间号码)生成链接通过微信SDK的分享到好友或朋友圈。其它玩家看到这个链接并点击后,如果已经安装游戏,会提示打开游戏APP并直接加入房间。如果未完装游戏,则会转到游戏下载页。

这是在微信中分享房间的链接:

这里非常重要的一个技术是用到“魔窗”。它是实现通过微信链接打开App并进入房间的关键。

“魔窗”的主页是:http://www.magicwindow.cn,它有非常完整的集成文档,包括Android和IOS,Web等多个平台系统的接入说明,中外还有专业技术妹子的接入视频讲解,非常详尽。

这里主要使用的就是mLink,按照官方的文档一步步接入即可。在这一块,主要是需要生成一个短链接,这个短链接需要带上房间号信息,就像下面这样:

OK,配置好后台的信息并按文档集成好SDK后,在客户端逻辑部分要做的是当"魔窗" 唤醒App时所响应的函数中,将短链接房间号信息取出来。

AppActivity.java中的代码片段:

			MLink.getInstance(context).register("first",new MLinkCallback()
			{
				public void execute(Map<String, String>paramMap, Uri uri,Context context){
					String roomid = uri.getQueryParameter("roomid");
					if (roomid != null)
					{
						Native.WxAutoLoginSetInfo(Integer.parseInt("1"), roomid);
					}
				}
			});

JniCallback.cpp中的代码片段:

		JNIEXPORT void JNICALL Java_org_cocos2dx_cpp_Native_WxAutoLoginSetInfo(JNIEnv* env, jclass method, jint autoLogon, jstring roomId)
		{
			const char* data = env->GetStringUTFChars(roomId, 0);
			MissionWeiXin::m_nAutoLogin = autoLogon;
			MissionWeiXin::m_strRoomID = data;
		}

有了房间号,设置给游戏中的变量,并在游戏中判断接收到的房间号是否有效,调用加入房间的函数进入房间,即可完成整个“一键入局”的处理了。

void SDHomeScence::update(float delta)
{
    //如果玩家自动进入游戏
	if (MissionWeiXin::m_nAutoLogin == 1 && isVisible())
    {
        int iActJoinNum = atoi(MissionWeiXin::m_strRoomID.c_str());
        int iServerID = iActJoinNum / 10000 - 10;
        SetJoinRoomIdInfo(iActJoinNum );

        CGameServerItem* pGameServer = GameManagerBase::InstanceBase().SearchGameServer(iServerID);
        if ( pGameServer )
        {
GameManagerBase::InstanceBase().connectGameServerByServerID(iServerID);
        }
        else
        {
            NoticeMsg::Instance().ShowTopMsgByScript("JoinRoomNumError");
        }
        MissionWeiXin::m_nAutoLogin = 0;
    }
}

如此,整个过程就算基本完成了。好了,加入了微信”一键入局“,相信我们的房卡麻将游戏可以大大提升下载量和试玩量。

地方棋牌,VR,AR技术,请关注公众号:"红孩儿的游戏开发之路“。

时间: 2024-12-19 11:42:46

房卡麻将分析之"一键入局"的相关文章

房卡麻将分析系列 &quot;牌局回放&quot; 之 播放处理

持续放出房卡麻将设计与研发讲解.敬请关注微信共众号:红孩儿的游戏开发之路 房卡麻将分析系列 "牌局回放" 之 播放处理 昨天红孩儿给大伙讲了讲"牌局回放"的数据记录处理,有了数据的存储,下面就是数据的显示了. 实话讲,好久没用过 SQL Server 来做数据库了, 网狐的服务器是基于WIN,IOCP,  SQL Server 这套路子.配置好后,可以在QPTreasureDB数据库中看到三个牌局相关的表. 其中dbo.PrivateGameRecord是存储当前游

房卡麻将分析系列之&quot;断线重连&quot;

"房卡"麻将研发技巧,尽在"红孩儿的游戏开发之路",欢迎关注公众号! 房卡麻将分析系列之"断线重连" 大家好,我是红孩儿,"房卡"麻将分析系列继续进行中. 在进行游戏的过程中,人们往往会遇到"断线"情况,比如坐公车,地铁下班路上玩一局,下车转站时往往先关机,过一会儿再上线继续完,如果没有自动"断线重连",则对于牌局的体验感影响会非常大,在"房卡"麻将中加入"

房卡麻将分析系列之&quot;发牌器&quot;算法设计

大家好,经过一段时间的努力,在填平了大部分源码框架中的坑后,我们的"大赢家"红中麻将总算完成了1.0版本,虽然仍然有诸多问题,但总归算是有一个好的开始,希望后续诸事顺利,能够早日跑出流水,也欢迎各位合作商积极与我联系. 回顾开发过程,我深深的体会到,一个有多年摸牌经验的服务器主程是有多么重要!记得年前帮一家公司做房卡麻将项目,对方从上到下,基本没人会玩麻将,诸事都需要请教麻友,这样的情况我觉得上线的产品应该也不太会好吧,没爱的设计~!不过我可是8岁就上牌桌,八十年代家里就有了一幅竹制麻

MySQL微信房卡麻将棋牌源码全套实现原理

在MyS微信房卡麻将棋牌源码全套( h5.super-mans.com Q:2012035031)微信房卡麻将棋牌源码全套的事务隔离级别. 读未提交:一个事务可以读取到另一个事务未提交的修改.这会带来脏读.幻读.不可重复读问题.(基本没用) 读已提交:一个事务只能读取另一个事务已经提交的修改.其避免了脏读,但仍然存在不可重复读和幻读问题. 可重复读:同一个事务中多次读取相同的数据返回的结果是一样的.其避免了脏读和不可重复读问题,但幻读依然存在. 串行化:事务串行执行.避免了以上所有问题. 以上是

cocos Creator js 房卡麻将/血战/H5四川麻将源码下载搭建

房卡麻将/血战/H5四川麻将 源码 支持iOS/Android/H5 完整源码 1.基于NODEJS+MYSQL的服务器,成熟的技术方案,高效稳定,且方便Windows开发,Linux平台布署,节约服务器运转成本. 2.采用最新版本的cocos引擎,cocos creator开发,可快速的进行界面调整.且能够快速地发布iOS,Android版本. 3.如需H5版本,只需针对H5平台进行资源优化即可. 4.成熟可靠的房卡式设计,能满足大部分用户使用体验. 5.产品经过大量测试,可以运转稳定. 测试

Cocos2d-x山西推倒胡+扣点房卡麻将下载架设教程

1.数据库还原修改后台数据库jeefwtwo 表:sys_user8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92 密码(123456)修改游戏数据库 QPPlatformDB表:DataBaseInfo  SQL的地址端口账号密码表:GameRoomInfo  修改服务器的机器标示 PS,搭建的源码必须完整,本文测试源码来自 Cocos2d-x山西推倒胡+扣点房卡麻将maliwl.com 2.执行脚本每个脚本都要执

房卡麻将源码下载十三水房卡麻将源码搭建教程

代码中需修改的地方:1.cocos2d-x-3.14.1\cocos\Android.mk 里面 #$(call import-module,curl/prebuilt/android)修改成$(call import-module,curl/prebuilt/android) 2.cocos2d-x-3.14.1\extensions\Android.mk 添加如下  目的是为了支持外部静态curl库LOCAL_STATIC_LIBRARIES += cocos_network_staticL

微信房卡麻将棋牌架设之游戏服务器架构的详细设计(一) 内核设计

题目:微信房卡麻将棋牌架设之游戏服务器架构的详细设计(一) 内核设计 今天向大家介绍一下游戏服务器的设计,着重讲解一下微信房卡麻将棋牌架设(aqiulian.com)的服务器搭建,如果有什么不懂得可以咨询我Q_212303635,欢迎大家的咨询.那么我们开始进去主题吧. 内核的几个组件被设计成Service,也就是说这几个模块都要实现如下接口: 图1  IService接口 Start方法用来启动服务. Stop 方法用来关闭服务. IsService 方法用于查询当前服务是否正在工作. 内核中

手游房卡麻将被流量攻击了怎么办

Anti防御是针对客户端在遭受大流量的DDoS攻击后导致服务不可用的情况下,推出的付费增值服务,用户可以通过配置Anti防御,将攻击流量引流到Anti防御节点上,确保源站的稳定可靠. 用户购买Anti防御,把域名解析到Anti防御记录值上并配置源站IP:所有公网流量都会走高防机房,通过端口协议转发的方式将用户的访问通过Anti防御节点转发到源站IP,同时将恶意攻击流量在Anti防御节点上进行清洗过滤后将正常流量返回给源站IP,从而确保源站IP稳定访问的防护服务.发生DDoS攻击时不需要做流量牵引