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獲得
簽名可以下載簽名生成工具獲得