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

簽名可以下載簽名生成工具獲得
