提交 b1e998f4 作者: 钱宇

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

上级 1d96b609
plugins {
plugins {
......@@ -79,5 +79,5 @@ dependencies {
androidTestImplementation(libs.androidx.junit)
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
import androidx.core.view.WindowCompat
import com.google.android.material.button.MaterialButton
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.listener.ISdkEventListener
import org.json.JSONObject
class MainActivity : AppCompatActivity() {
......@@ -33,6 +35,57 @@ class MainActivity : AppCompatActivity() {
findViewById<MaterialButton>(R.id.btn_show_float).setOnClickListener { onShowFloatClick() }
findViewById<MaterialButton>(R.id.btn_hide_float).setOnClickListener { onHideFloatClick() }
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) {
......@@ -203,7 +256,7 @@ class MainActivity : AppCompatActivity() {
private fun onShowFloatClick() {
statusText.setText(R.string.status_show_float_clicked)
ZySdk.sdkShowFloat(this, object : ZySdkCallback {
ZySdk.showHuaweiFloat(this, object : ZySdkCallback {
override fun onResult(result: String) {
}
......@@ -212,7 +265,7 @@ class MainActivity : AppCompatActivity() {
private fun onHideFloatClick() {
statusText.setText(R.string.status_hide_float_clicked)
ZySdk.sdkHideFloat(this, object : ZySdkCallback {
ZySdk.hideHuaweiFloat(this, object : ZySdkCallback {
override fun onResult(result: String) {
}
......
plugins {
plugins {
......@@ -39,5 +39,5 @@ dependencies {
androidTestImplementation libs.espresso.core
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;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.view.WindowCompat;
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.listener.ISdkEventListener;
import org.jetbrains.annotations.NotNull;
import org.json.JSONObject;
......@@ -36,6 +39,57 @@ public class MainActivity extends AppCompatActivity {
findViewById(R.id.btn_show_float).setOnClickListener(v -> onShowFloatClick());
findViewById(R.id.btn_hide_float).setOnClickListener(v -> onHideFloatClick());
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) {
......@@ -54,7 +108,7 @@ public class MainActivity extends AppCompatActivity {
private void onInitClick() {
guardBusy(() -> {
statusText.setText(R.string.status_init_clicked);
ZySdk.INSTANCE.sdkInit(this, false, new ZySdkCallback() {
ZySdk.sdkInit(this, false, new ZySdkCallback() {
@Override
public void onResult(@NotNull String result) {
......@@ -84,7 +138,7 @@ public class MainActivity extends AppCompatActivity {
private void onLoginClick() {
guardBusy(() -> {
statusText.setText(R.string.status_login_clicked);
ZySdk.INSTANCE.sdkLogin(this, new ZySdkCallback() {
ZySdk.sdkLogin(this, new ZySdkCallback() {
@Override
public void onResult(@NotNull String result) {
releaseBusy();
......@@ -133,7 +187,7 @@ public class MainActivity extends AppCompatActivity {
} catch (Exception e) {
Log.e(TAG, "build roleJson error", e);
}
ZySdk.INSTANCE.sdkReportRole(this, roleJson.toString(), new ZySdkCallback() {
ZySdk.sdkReportRole(this, roleJson.toString(), new ZySdkCallback() {
@Override
public void onResult(@NotNull String result) {
releaseBusy();
......@@ -161,7 +215,7 @@ public class MainActivity extends AppCompatActivity {
private void onUpgradeClick() {
guardBusy(() -> {
statusText.setText(R.string.status_upgrade_clicked);
ZySdk.INSTANCE.sdkUpdate(this, new ZySdkCallback() {
ZySdk.sdkUpdate(this, new ZySdkCallback() {
@Override
public void onResult(@NotNull String result) {
releaseBusy();
......@@ -205,7 +259,7 @@ public class MainActivity extends AppCompatActivity {
} catch (Exception 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
public void onResult(@NotNull String result) {
releaseBusy();
......@@ -230,7 +284,7 @@ public class MainActivity extends AppCompatActivity {
private void onShowFloatClick() {
statusText.setText(R.string.status_show_float_clicked);
ZySdk.INSTANCE.sdkShowFloat(this, new ZySdkCallback() {
ZySdk.showHuaweiFloat(this, new ZySdkCallback() {
@Override
public void onResult(@NotNull String result) {
......@@ -240,7 +294,7 @@ public class MainActivity extends AppCompatActivity {
private void onHideFloatClick() {
statusText.setText(R.string.status_hide_float_clicked);
ZySdk.INSTANCE.sdkHideFloat(this, new ZySdkCallback() {
ZySdk.hideHuaweiFloat(this, new ZySdkCallback() {
@Override
public void onResult(@NotNull String result) {
......@@ -251,7 +305,7 @@ public class MainActivity extends AppCompatActivity {
private void onExitClick() {
guardBusy(() -> {
statusText.setText(R.string.status_exit_clicked);
ZySdk.INSTANCE.sdkExit(this, new ZySdkCallback() {
ZySdk.sdkExit(this, new ZySdkCallback() {
@Override
public void onResult(@NotNull String result) {
releaseBusy();
......
# Game Center SDK 接入说明V1.0.0.0
# Game Center SDK 接入说明V1.0.0.0
......@@ -18,7 +18,10 @@
- [7. 退出引导](#quickstart-exit)
- [8. 检查升级](#quickstart-update)
- [9. 显示/隐藏浮窗](#quickstart-float)
- [三、示例代码位置](#samples)
- [三、其他方法](#others)
- [1. 设置 SDK 全局事件回调监听器](#others-listener)
- [2. 获取玩家是否已经同意过 SDK 隐私政策](#others-privacy)
- [四、示例代码位置](#samples)
---
......@@ -523,7 +526,7 @@ ZySdk.sdkUpdate(this, object : ZySdkCallback {
显示浮窗
```kotlin
ZySdk.sdkShowFloat(this, object : ZySdkCallback {
ZySdk.showHuaweiFloat(this, object : ZySdkCallback {
override fun onResult(result: String) {
}
......@@ -532,7 +535,7 @@ ZySdk.sdkShowFloat(this, object : ZySdkCallback {
隐藏浮窗
```kotlin
ZySdk.sdkHideFloat(this, object : ZySdkCallback {
ZySdk.hideHuaweiFloat(this, object : ZySdkCallback {
override fun onResult(result: String) {
}
......@@ -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>
## 、示例代码位置
## 、示例代码位置
| 能力 | 代码位置 |
|----------------------------------|--------------------------------------------------------------------|
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论