• 【原生】CocosCreator TapTap接入


    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获得

    签名可以下载签名生成工具获得

  • 相关阅读:
    day3---字符串的索引与切片
    day4---int bool str之间相互转换
    day3---数据类型整体分析
    day2---while else
    day2---运算符
    day2---格式化输出
    ES6-04 Promise设计 类 模块
    jquery02-效果动画
    jquery01-基础使用
    bootstrap-03 常用重要组件(2)
  • 原文地址:https://www.cnblogs.com/gamedaybyday/p/15124722.html
Copyright © 2020-2023  润新知