Cocos版本:2.4.4
一 注册TapTap账号
二 参考文档创建游戏、下载SDK
三 接入SDK
四 登录
一 注册TapTap账号
到TapTap开发者中心注册账号,提交身份证、手机号等注册开发者账号,需要一段时间审核后,才能进行接入。
二 参照文档创建游戏、下载SDK
到TapTap开发者文档中心去,根据文档创建游戏,并下载SDK。
三 接入SDK
1 引入TapSDK到项目
android studio中选择项目显示方式为Project,并将TapSDK文件复制到libs文件夹下,如果libs没有则创建一个。
2 修改build.gradle
需要修改build.gradle文件如下,参考 TapTap快速开始-项目配置、LeanCloud JavaSDK配置指南
flatDir:添加一个常规目录作为仓库。它允许你在dependency块中从该目录添加文件
cn.leancloud:realtime-android:8.0.4 :Android 推送、LiveQuery、即时通讯 library
cn.leanclound:storage-android:8.0.4:storage-android,Android 存储 library
io.reactivex.rxjava2:rxandroid:2.1.1:RxJava提供了响应式编码规范,而RxAndroid是专供Android平台的RxJava
修改build.gradle文件,引入libs下的aar文件
3 修改最低版本miniSdkVersion
修改miniSdkVersion,修改后报错提示需要至少sdk版本21和26。尝试修改为21,如果不行就修改为26。
修改最低版本,找到gradle.properties文件,修改PROP_MIN_SDK_VERSION属性
修改后保存,会弹出提示,点击右上角sync now
4 重复命名的文件报错
在build.gradle中android{}下增加如下代码。exclude:在打包时移除项目中的相关文件,不打入apk文件中。
增加完成后,需要重启Android Studio
packagingOptions { exclude 'META-INF/proguard/okhttp3.pro' }
5 检测游戏是否可以正常运行
修改完成后,在java中打TapConfig之类是没有代码提示的,不要在android studio里rebuild project,到cocos重新构建一次就有提示了。
在真机上运行一次游戏,看是否报错。没错的话,那么说明修改配置生效。
四 登录
初始化
//taptap初始化 TapConfig tdsConfig = new TapConfig.Builder() .withAppContext(AppActivity.this) // Context 上下文 .withClientId("nN7RH4JntmB6vngt0l") // 开发者中心对应 Client ID .withClientToken("oGLtCFzTsqioTm0hcIXbMVetOMUntKuc9fCiCBwl") // 开发者中心对应 Client Token .withServerUrl("https://www.biliking.com") // 开发者中心 > 你的游戏 > 游戏服务 > 技术服务 > 数据存储 > 文件 > 设置 > 文件访问域名 绑定域名 .withRegionType(TapRegionType.CN) // TapRegionType.CN: 国内 TapRegionType.IO: 国外 .build(); TapBootstrap.init(AppActivity.this, tdsConfig);
所需要的 clientID、Client Token游戏服务-应用配置中
绑定域名在游戏服务-技术服务-数据存储-文件-设置中,这个绑定域名需要自己设置下。
进行登录,我这里TDSUser resultUser会报错,根本没有getObjectId()这些方法。
//判断登录状态 if (null == TDSUser.currentUser()) { // 未登录 TDSUser.loginWithTapTap(AppActivity.this, new Callback<TDSUser>() { @Override public void onSuccess(TDSUser resultUser) { Toast.makeText(AppActivity.this, "succeed to login with Taptap.", Toast.LENGTH_SHORT).show(); // 开发者可以调用 resultUser 的方法获取更多属性。 Log.v("TapTap","登录成功:" + resultUser); //String userId = resultUser.getObjectId(); // 用户唯一标识 //String avatar = (String) resultUser.get("avatar"); // 头像 //String nickName = (String) resultUser.get("nickname"); // 昵称 } @Override public void onFail(TapError error) { Log.v("TapTap","登录失败:" + error); Toast.makeText(AppActivity.this, error.getMessage(), Toast.LENGTH_SHORT).show(); } }, TapLoginHelper.SCOPE_PUBLIC_PROFILE); } else { // 已登录 }
登录前,先得去游戏服务-生态服务-TapTap登录里新增安卓包,需要包名和签名。如果没有在这里配置的话,直接调用Tap登录接口会提示没有signxxx什么的,无法登录。
包名从AndroidManifest.xml文件得package获得
签名可以下载签名生成工具获得