提交 b1e998f4 作者: 钱宇

modify:聚合sdk文档修改:添加隐私协议相关方法。

上级 1d96b609
plugins { plugins {
...@@ -79,5 +79,5 @@ dependencies { ...@@ -79,5 +79,5 @@ dependencies {
androidTestImplementation(libs.androidx.junit) androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core) androidTestImplementation(libs.androidx.espresso.core)
implementation("com.zw.game.center:gameCenter:1.0.0.4") implementation("com.zw.game.center:gameCenter:1.0.0.5")
} }
\ No newline at end of file
package com.zwgame.test.gamecenterdemo package com.zwgame.test.gamecenterdemo
...@@ -8,7 +8,9 @@ import androidx.appcompat.app.AppCompatActivity ...@@ -8,7 +8,9 @@ import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.WindowCompat import androidx.core.view.WindowCompat
import com.google.android.material.button.MaterialButton import com.google.android.material.button.MaterialButton
import com.zwwl.sdk.core.ZySdk import com.zwwl.sdk.core.ZySdk
import com.zwwl.sdk.core.callback.ZySdkCallback
import com.zwwl.sdk.core.constant.Constant import com.zwwl.sdk.core.constant.Constant
import com.zwwl.sdk.core.listener.ISdkEventListener
import org.json.JSONObject import org.json.JSONObject
class MainActivity : AppCompatActivity() { class MainActivity : AppCompatActivity() {
...@@ -33,6 +35,57 @@ class MainActivity : AppCompatActivity() { ...@@ -33,6 +35,57 @@ class MainActivity : AppCompatActivity() {
findViewById<MaterialButton>(R.id.btn_show_float).setOnClickListener { onShowFloatClick() } findViewById<MaterialButton>(R.id.btn_show_float).setOnClickListener { onShowFloatClick() }
findViewById<MaterialButton>(R.id.btn_hide_float).setOnClickListener { onHideFloatClick() } findViewById<MaterialButton>(R.id.btn_hide_float).setOnClickListener { onHideFloatClick() }
findViewById<MaterialButton>(R.id.btn_exit).setOnClickListener { onExitClick() } findViewById<MaterialButton>(R.id.btn_exit).setOnClickListener { onExitClick() }
//获取隐私政策同意状态
val privacyStatus = ZySdk.hasPrivacyConsentAccepted()
//设置监听
ZySdk.setSdkEventListener(object: ISdkEventListener {
/**
* [ZySdk.sdkInit] 在非动态 gameId 模式下会请求游戏信息,完成后回调一次。
*
* @param success `true` 表示游戏详情业务成功(`status_code == 1`)且已写入登录/开关等内存状态。
*/
override fun onInitGameInfoReady(success: Boolean) {
super.onInitGameInfoReady(success)
}
/**
* 登录成功回调。
*
* 渠道登录/账号登录/复用本地缓存登录态 回调
* 都会触发一次该回调。
*/
override fun onLogin(userInfoJson: String) {
super.onLogin(userInfoJson)
//登录后操作
}
/**
* 账号登出/Token失效 回调
*/
override fun onLogout() {
super.onLogout()
//登出后操作
}
/**
* SDK隐私弹窗中点击同意按钮后回调。
*/
override fun onPrivacyConsentAccepted() {
super.onPrivacyConsentAccepted()
//同意隐私后操作
}
/**
* SDK隐私弹窗中点击拒绝按钮后回调。
*/
override fun onPrivacyConsentRejected() {
super.onPrivacyConsentRejected()
//拒绝隐私后操作
}
})
} }
private inline fun guardBusy(crossinline block: () -> Unit) { private inline fun guardBusy(crossinline block: () -> Unit) {
...@@ -203,7 +256,7 @@ class MainActivity : AppCompatActivity() { ...@@ -203,7 +256,7 @@ class MainActivity : AppCompatActivity() {
private fun onShowFloatClick() { private fun onShowFloatClick() {
statusText.setText(R.string.status_show_float_clicked) statusText.setText(R.string.status_show_float_clicked)
ZySdk.sdkShowFloat(this, object : ZySdkCallback { ZySdk.showHuaweiFloat(this, object : ZySdkCallback {
override fun onResult(result: String) { override fun onResult(result: String) {
} }
...@@ -212,7 +265,7 @@ class MainActivity : AppCompatActivity() { ...@@ -212,7 +265,7 @@ class MainActivity : AppCompatActivity() {
private fun onHideFloatClick() { private fun onHideFloatClick() {
statusText.setText(R.string.status_hide_float_clicked) statusText.setText(R.string.status_hide_float_clicked)
ZySdk.sdkHideFloat(this, object : ZySdkCallback { ZySdk.hideHuaweiFloat(this, object : ZySdkCallback {
override fun onResult(result: String) { override fun onResult(result: String) {
} }
......
plugins { plugins {
...@@ -39,5 +39,5 @@ dependencies { ...@@ -39,5 +39,5 @@ dependencies {
androidTestImplementation libs.espresso.core androidTestImplementation libs.espresso.core
androidTestImplementation libs.ext.junit androidTestImplementation libs.ext.junit
implementation("com.zw.game.center:gameCenter:1.0.0.4") implementation("com.zw.game.center:gameCenter:1.0.0.5")
} }
\ No newline at end of file
package com.example.gamecenterjavademo; package com.example.gamecenterjavademo;
...@@ -5,11 +5,14 @@ import android.util.Log; ...@@ -5,11 +5,14 @@ import android.util.Log;
import android.widget.TextView; import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import androidx.core.view.WindowCompat; import androidx.core.view.WindowCompat;
import com.zwwl.sdk.core.ZySdk; import com.zwwl.sdk.core.ZySdk;
import com.zwwl.sdk.core.callback.ZySdkCallback;
import com.zwwl.sdk.core.constant.Constant; import com.zwwl.sdk.core.constant.Constant;
import com.zwwl.sdk.core.listener.ISdkEventListener;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.json.JSONObject; import org.json.JSONObject;
...@@ -36,6 +39,57 @@ public class MainActivity extends AppCompatActivity { ...@@ -36,6 +39,57 @@ public class MainActivity extends AppCompatActivity {
findViewById(R.id.btn_show_float).setOnClickListener(v -> onShowFloatClick()); findViewById(R.id.btn_show_float).setOnClickListener(v -> onShowFloatClick());
findViewById(R.id.btn_hide_float).setOnClickListener(v -> onHideFloatClick()); findViewById(R.id.btn_hide_float).setOnClickListener(v -> onHideFloatClick());
findViewById(R.id.btn_exit).setOnClickListener(v -> onExitClick()); findViewById(R.id.btn_exit).setOnClickListener(v -> onExitClick());
//获取隐私政策同意状态
boolean privacyStatus = ZySdk.hasPrivacyConsentAccepted();
//设置监听
ZySdk.setSdkEventListener(new ISdkEventListener() {
/**
* 登录成功回调。
*
* 渠道登录/账号登录/复用本地缓存登录态 回调
* 都会触发一次该回调。
*/
@Override
public void onLogin(@NonNull String s) {
//登录后操作
}
/**
* 账号登出/Token失效 回调
*/
@Override
public void onLogout() {
//登出后操作
}
/**
* [ZySdk.sdkInit] 在非动态 gameId 模式下会请求游戏信息,完成后回调一次。
*
* @param success `true` 表示游戏详情业务成功(`status_code == 1`)且已写入登录/开关等内存状态。
*/
@Override
public void onInitGameInfoReady(boolean success) {
}
/**
* SDK隐私弹窗中点击同意按钮后回调。
*/
@Override
public void onPrivacyConsentAccepted() {
//同意隐私后操作
}
/**
* SDK隐私弹窗中点击拒绝按钮后回调。
*/
@Override
public void onPrivacyConsentRejected() {
//拒绝隐私后操作
}
});
} }
private void guardBusy(Runnable block) { private void guardBusy(Runnable block) {
...@@ -54,7 +108,7 @@ public class MainActivity extends AppCompatActivity { ...@@ -54,7 +108,7 @@ public class MainActivity extends AppCompatActivity {
private void onInitClick() { private void onInitClick() {
guardBusy(() -> { guardBusy(() -> {
statusText.setText(R.string.status_init_clicked); statusText.setText(R.string.status_init_clicked);
ZySdk.INSTANCE.sdkInit(this, false, new ZySdkCallback() { ZySdk.sdkInit(this, false, new ZySdkCallback() {
@Override @Override
public void onResult(@NotNull String result) { public void onResult(@NotNull String result) {
...@@ -84,7 +138,7 @@ public class MainActivity extends AppCompatActivity { ...@@ -84,7 +138,7 @@ public class MainActivity extends AppCompatActivity {
private void onLoginClick() { private void onLoginClick() {
guardBusy(() -> { guardBusy(() -> {
statusText.setText(R.string.status_login_clicked); statusText.setText(R.string.status_login_clicked);
ZySdk.INSTANCE.sdkLogin(this, new ZySdkCallback() { ZySdk.sdkLogin(this, new ZySdkCallback() {
@Override @Override
public void onResult(@NotNull String result) { public void onResult(@NotNull String result) {
releaseBusy(); releaseBusy();
...@@ -133,7 +187,7 @@ public class MainActivity extends AppCompatActivity { ...@@ -133,7 +187,7 @@ public class MainActivity extends AppCompatActivity {
} catch (Exception e) { } catch (Exception e) {
Log.e(TAG, "build roleJson error", e); Log.e(TAG, "build roleJson error", e);
} }
ZySdk.INSTANCE.sdkReportRole(this, roleJson.toString(), new ZySdkCallback() { ZySdk.sdkReportRole(this, roleJson.toString(), new ZySdkCallback() {
@Override @Override
public void onResult(@NotNull String result) { public void onResult(@NotNull String result) {
releaseBusy(); releaseBusy();
...@@ -161,7 +215,7 @@ public class MainActivity extends AppCompatActivity { ...@@ -161,7 +215,7 @@ public class MainActivity extends AppCompatActivity {
private void onUpgradeClick() { private void onUpgradeClick() {
guardBusy(() -> { guardBusy(() -> {
statusText.setText(R.string.status_upgrade_clicked); statusText.setText(R.string.status_upgrade_clicked);
ZySdk.INSTANCE.sdkUpdate(this, new ZySdkCallback() { ZySdk.sdkUpdate(this, new ZySdkCallback() {
@Override @Override
public void onResult(@NotNull String result) { public void onResult(@NotNull String result) {
releaseBusy(); releaseBusy();
...@@ -205,7 +259,7 @@ public class MainActivity extends AppCompatActivity { ...@@ -205,7 +259,7 @@ public class MainActivity extends AppCompatActivity {
} catch (Exception e) { } catch (Exception e) {
Log.e(TAG, "build payJson error", e); Log.e(TAG, "build payJson error", e);
} }
ZySdk.INSTANCE.sdkPay(this, payJson.toString(), false, new ZySdkCallback() { ZySdk.sdkPay(this, payJson.toString(), false, new ZySdkCallback() {
@Override @Override
public void onResult(@NotNull String result) { public void onResult(@NotNull String result) {
releaseBusy(); releaseBusy();
...@@ -230,7 +284,7 @@ public class MainActivity extends AppCompatActivity { ...@@ -230,7 +284,7 @@ public class MainActivity extends AppCompatActivity {
private void onShowFloatClick() { private void onShowFloatClick() {
statusText.setText(R.string.status_show_float_clicked); statusText.setText(R.string.status_show_float_clicked);
ZySdk.INSTANCE.sdkShowFloat(this, new ZySdkCallback() { ZySdk.showHuaweiFloat(this, new ZySdkCallback() {
@Override @Override
public void onResult(@NotNull String result) { public void onResult(@NotNull String result) {
...@@ -240,7 +294,7 @@ public class MainActivity extends AppCompatActivity { ...@@ -240,7 +294,7 @@ public class MainActivity extends AppCompatActivity {
private void onHideFloatClick() { private void onHideFloatClick() {
statusText.setText(R.string.status_hide_float_clicked); statusText.setText(R.string.status_hide_float_clicked);
ZySdk.INSTANCE.sdkHideFloat(this, new ZySdkCallback() { ZySdk.hideHuaweiFloat(this, new ZySdkCallback() {
@Override @Override
public void onResult(@NotNull String result) { public void onResult(@NotNull String result) {
...@@ -251,7 +305,7 @@ public class MainActivity extends AppCompatActivity { ...@@ -251,7 +305,7 @@ public class MainActivity extends AppCompatActivity {
private void onExitClick() { private void onExitClick() {
guardBusy(() -> { guardBusy(() -> {
statusText.setText(R.string.status_exit_clicked); statusText.setText(R.string.status_exit_clicked);
ZySdk.INSTANCE.sdkExit(this, new ZySdkCallback() { ZySdk.sdkExit(this, new ZySdkCallback() {
@Override @Override
public void onResult(@NotNull String result) { public void onResult(@NotNull String result) {
releaseBusy(); releaseBusy();
......
# Game Center SDK 接入说明V1.0.0.0 # Game Center SDK 接入说明V1.0.0.0
...@@ -18,7 +18,10 @@ ...@@ -18,7 +18,10 @@
- [7. 退出引导](#quickstart-exit) - [7. 退出引导](#quickstart-exit)
- [8. 检查升级](#quickstart-update) - [8. 检查升级](#quickstart-update)
- [9. 显示/隐藏浮窗](#quickstart-float) - [9. 显示/隐藏浮窗](#quickstart-float)
- [三、示例代码位置](#samples) - [三、其他方法](#others)
- [1. 设置 SDK 全局事件回调监听器](#others-listener)
- [2. 获取玩家是否已经同意过 SDK 隐私政策](#others-privacy)
- [四、示例代码位置](#samples)
--- ---
...@@ -523,7 +526,7 @@ ZySdk.sdkUpdate(this, object : ZySdkCallback { ...@@ -523,7 +526,7 @@ ZySdk.sdkUpdate(this, object : ZySdkCallback {
显示浮窗 显示浮窗
```kotlin ```kotlin
ZySdk.sdkShowFloat(this, object : ZySdkCallback { ZySdk.showHuaweiFloat(this, object : ZySdkCallback {
override fun onResult(result: String) { override fun onResult(result: String) {
} }
...@@ -532,7 +535,7 @@ ZySdk.sdkShowFloat(this, object : ZySdkCallback { ...@@ -532,7 +535,7 @@ ZySdk.sdkShowFloat(this, object : ZySdkCallback {
隐藏浮窗 隐藏浮窗
```kotlin ```kotlin
ZySdk.sdkHideFloat(this, object : ZySdkCallback { ZySdk.hideHuaweiFloat(this, object : ZySdkCallback {
override fun onResult(result: String) { override fun onResult(result: String) {
} }
...@@ -550,8 +553,85 @@ ZySdk.sdkHideFloat(this, object : ZySdkCallback { ...@@ -550,8 +553,85 @@ ZySdk.sdkHideFloat(this, object : ZySdkCallback {
--- ---
<a name="others"></a>
## 三、其他方法
<a name="others-listener"></a>
### 1. 设置 SDK 全局事件回调监听器
目前支持监听的事件如下:
| 回调名 | 参数 | 说明 |
|:--------------------------:|:--------------------:|:--------------------:|
| `onInitGameInfoReady` | success: Boolean | 游戏详情请求成功并写入内存 |
| `onLogin` | userInfoJson: String | 登录成功回调,返回用户信息json字符串 |
| `onLogout` | 无 | 账号登出/Token失效 回调 |
| `onPrivacyConsentAccepted` | 无 | 隐私弹窗中点击同意按钮后回调 |
| `onPrivacyConsentRejected` | 无 | 隐私弹窗中点击拒绝按钮后回调 |
调用如下:
```kotlin
ZySdk.setSdkEventListener(object : ISdkEventListener {
/**
* [ZySdk.sdkInit] 在非动态 gameId 模式下会请求游戏信息,完成后回调一次。
*
* @param success `true` 表示游戏详情业务成功(`status_code == 1`)且已写入登录/开关等内存状态。
*/
override fun onInitGameInfoReady(success: Boolean) {
super.onInitGameInfoReady(success)
}
/**
* 登录成功回调。
*
* 渠道登录/账号登录/复用本地缓存登录态 回调
* 都会触发一次该回调。
*/
override fun onLogin(userInfoJson: String) {
super.onLogin(userInfoJson)
//登录后操作
}
/**
* 账号登出/Token失效 回调
*/
override fun onLogout() {
super.onLogout()
//登出后操作
}
/**
* SDK隐私弹窗中点击同意按钮后回调。
*/
override fun onPrivacyConsentAccepted() {
super.onPrivacyConsentAccepted()
//同意隐私后操作
}
/**
* SDK隐私弹窗中点击拒绝按钮后回调。
*/
override fun onPrivacyConsentRejected() {
super.onPrivacyConsentRejected()
//拒绝隐私后操作
}
})
```
---
<a name="others-privacy"></a>
### 2. 获取玩家是否已经同意过 SDK 隐私政策
```kotlin
val privacyStatus = ZySdk.hasPrivacyConsentAccepted()
```
<a name="samples"></a> <a name="samples"></a>
## 、示例代码位置 ## 、示例代码位置
| 能力 | 代码位置 | | 能力 | 代码位置 |
|----------------------------------|--------------------------------------------------------------------| |----------------------------------|--------------------------------------------------------------------|
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论