GameMaker 游戏接入 Taptap 教程


这篇教程是为了解决 GameMaker 游戏接入 Taptap 和 TapSDK 时的问题。

如果可以,请赞助我:爱发电 。TapSDK 的插件制作和该文档的编写花费了我大量的时间踩坑。

那么,请开始吧!如果你的游戏已经上架 Taptap ,只是想要接入 TapSDK,请跳过关于游戏审核


关于游戏审核

在使用本教程之前,首先需要成功注册厂商并尝试过一次游戏上架。具体文档请参考:https://developer.taptap.cn/docs/store/

GameMaker 游戏在审核期会出现一个普遍问题,即因为“非法收集信息”而被审核失败。类似于陀螺仪信息的采集需要在用户协议与许可之后。因此,你的游戏必须在最一开始有一个用户协议的查看与确认环节。至于这一环节的实现方式请自行发挥。

在解决问题之前,请先查看你的 IDE 版本,启动你的 GameMaker 并进入到主界面,在窗口的右上角会出现一个Runtime: vx.x.x.x.x ,请记住最后的这个版本号。随后请打开文件夹:

C:\ProgramData\GameMakerStudio2\Cache\runtimes\runtime-[版本号]\android\runner\ProjectFiles\src\main\java\YYAndroidPackageDomain\YYAndroidPackageCompany\YYAndroidPackageProduct

这个文件夹所处的位置很深,且路径很长,在该文件夹中找到RunnerActivity.java这一代码文件打开。

mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); 
mSensorManager.registerListener(this, mAccelerometer, SensorManager.SENSOR_DELAY_GAME);

将以上代码删除。

mSensorManager.unregisterListener(this);
mSensorManager.registerListener(this, mAccelerometer, SensorManager.SENSOR_DELAY_GAME);

将以上代码改为:

if(mSensorManager != null) mSensorManager.unregisterListener(this);
if(mSensorManager != null) mSensorManager.registerListener(this, mAccelerometer, SensorManager.SENSOR_DELAY_GAME);

清理后重新编译游戏,现在应该可以通过自动审核了,至于人工审核就需要自行和taptap方面沟通。


接入 TapSDK

首先,你需要下载TapSDK的GameMaker插件:蓝奏云 密码:ej62 。解压出yymps格式的插件文件后可以用工具(Tools)->导入本地包(Import Local Package)进行插件导入。插件内有两个文件夹:ExtensionsTapDemo,前者是插件本体,后者是演示房间。我推荐最开始使用 GMTapSDK 的人可以看一看演示,了解异步事件-社交的用法。

准备工作

TapSDK 不能直接使用,需要进行一些准备。首先请在GameMaker中查看游戏配置(Game Options)->安卓(Android),在通用(General)一栏中将包域名(Package Domain),包公司(Package Company),包产品(Package Product)三项修改为你自己的值(而不是使用默认的com.company.game)。然后将最小SDK(Minimum SDK)一项调到21,否则无法正常编译。

然后,你需要编译游戏并将其安装到你的手机上(最好是真机,模拟器有时会出现问题),并安装另外一款软件:TDS签名工具(点此下载)。打开这个软件,点击选择应用按钮,稍等片刻后,在下方的应用列表中选中你的游戏。然后点击获取签名按钮。

编译游戏之前务必使用清理(Clean)按钮清理之前的编译缓存,否则大概率无法编译成功。

现在,你需要复制包名和签名。包名是选择应用下方框中的值,而签名是包名下方的值(你可以通过复制签名按钮很轻松的复制这个值。)

然后,来到 Taptap 开发者中心。依次进入 TapTap 开发者中心 > 你的游戏 > 游戏服务 > 应用配置,点击「立即开启」,获得当前应用的基本信息。你需要拿到五个值:

  • Client ID: 在基本信息中有
  • Client Token: 在基本信息中有
  • Server Url: 在基本信息的右侧,有个域名配置,点开,其中有个服务器地址,复制它。
  • Game Channel: 游戏频道
  • Game Version: 游戏版本

你可以将以上五个值填写到演示物体obj_testtap的创建事件中。然后我们需要进行登录前的准备。

注意:游戏频道和游戏版本用于后台数据统计,不需要可以随便填。但尽量还是能填啥填啥。

配置签名证书

Android 和 iOS 应用需要在 TapTap 开发者中心进入你的游戏,依次选择 游戏服务 > 开发与构建 > TapTap 登录 配置应用的相关信息(如下图所示),否则测试登录功能时会返回 signature not match 报错信息,无法正常使用 TapTap 登录功能。

Taptap

签名和包名在上文已经给了获取的方法。直接复制进去即可。如果没有正确配置签名证书,那么你在登录时会出现Taptap客户端闪退的情况。

现在,你可以在手机上运行演示房间,检查是否可用了。

其他功能

登录状态和退出登录

taptap_login_status() 函数可以用于获取登录状态,返回"null"是没登录,如果登录了则返回玩家的验证密钥。
taptap_logout() 函数可以登出游戏,没有返回值。

篝火计划

taptap_gouhuo() 可以检测玩家是否加入篝火计划,返回值为 true 或 false。
taptap_license() 可以检测玩家是否购买了游戏,即是否拥有游玩许可。

taptap_license必须与YYC编译搭配使用,否则阻拦不住任何人。

第三方

taptap_binding(int expires_in, String openid, String access_token, String taptap_name) 用于绑定账号。类比米游社的Taptap账号绑定。
taptap_binding_again(int expires_in, String openid, String access_token, String taptap_name) 重新绑定。
taptap_login_third(int expires_in, String openid, String access_token) 第三方登录
taptap_login_third_again(int expires_in, String openid, String access_token) 第三方重登录

  • 24
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值