Skip to content

Commit

Permalink
Merge pull request #1211 from taptap/feat_share_review_docs
Browse files Browse the repository at this point in the history
feat: add share&review docs
  • Loading branch information
HelloVass authored Oct 8, 2024
2 parents 13af3a5 + 0479219 commit a35bcf5
Show file tree
Hide file tree
Showing 7 changed files with 744 additions and 0 deletions.
5 changes: 5 additions & 0 deletions cn/docs/sdk/review/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"label": "TapTap 评价",
"collapsed": true,
"position": 3
}
36 changes: 36 additions & 0 deletions cn/docs/sdk/review/features.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
title: 评价功能介绍
sidebar_label: 功能介绍
sidebar_position: 1
---

评价功能支持游戏调起 TapTap 的评价编辑器,帮助用户快捷发布对本游戏的评价。

![](https://img.tapimg.com/market/images/6691ae30aa3097522d06570edc53d1a2.png)

## 服务优势
- 快速积累真实评价
- 获得真实玩家评分评价,提高站内热度,收集玩家反馈,吸引潜在用户。
- 流程短,效率高
- 一键直接调起游戏评价编辑,免去玩家多步操作。

## 用户使用流程
1. 玩家在游戏中点击「去 TapTap 评价」按钮(该按钮及相关UI由开发者自行绘制)。
2. 有 TapTap 客户端则调起客户端评价编辑页;无客户端则打开游戏的 TapTap 网页版的查看评价页。


## 注意事项
使用评价功能时,请勿诱导好评,否则游戏将受到相应处罚。

- 调用评价功能时诱导好评倾向包括:
- 邀请评价界面使用「好评」「五星」等诱导字样。
- 承诺好评奖励。
- 在调起评价前,先询问玩家对游戏满意度,仅为满意度高的用户调起评价。
- 诱导好评行为根据严重程度、影响范围、违规次数,可能面临以下处罚:
- 清除所有诱导好评,回溯游戏评分。
- 游戏详情页展示诱导好评标识。
- 限制流量、暂停分发。

- 建议的引导评价方式:
- 平实的引导玩家「去 TapTap 评价」。
- 有诚意的表述期望玩家客观评价,游戏将根据反馈不断改进游戏。
294 changes: 294 additions & 0 deletions cn/docs/sdk/review/guide.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,294 @@
---
title: 评价开发指南
sidebar_label: 开发指南
sidebar_position: 2
---

import MultiLang from "/src/docComponents/MultiLang";
import CodeBlock from "@theme/CodeBlock";
import v4SDKVersions from '/src/docComponents/v4SDKVersions';
import { Conditional } from "/src/docComponents/conditional";
import AndroidFaq from "../_partials/android-package-visibility.mdx";
import UnitySDKInstallation from "../_partials/unity-sdk-installation.mdx";

## 权限说明

<MultiLang kind="unity_android_v4">

<>
该模块依赖权限如下:

| 权限 | 使用目的 | 权限申请时机 |
| ---------------------- | ---------------------- | ---------------------- |
| 安装 APK 权限 | 用于安装 Tap 客户端 | 用户首次使用该功能时会申请权限 |
</>

<>

该模块依赖权限如下:

| 权限 | 使用目的 | 权限申请时机 |
| ---------------------- | ---------------------- | ---------------------- |
| 安装 APK 权限 | 用于安装 Tap 客户端 | 用户首次使用该功能时会申请权限 |

同时该模块也会访问设备已安装的 Tap 客户端信息,所以接入 SDK 后将在应用 `AndroidManifest.xml` 中添加如下配置:

```xml
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<queries>
<package android:name="com.taptap" />
</queries>
```

</>

<>

该模块依赖权限如下:

| 权限 | 使用目的 | 权限申请时机 |
| ---------------------- | ---------------------- | ---------------------- |
| 安装 APK 权限 | 用于安装 Tap 客户端 | 用户首次使用该功能时会申请权限 |

同时该模块也会访问设备已安装的 Tap 客户端信息,所以接入 SDK 后将在应用 `AndroidManifest.xml` 中添加如下配置:

```xml
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<queries>
<package android:name="com.taptap" />
</queries>
```

</>

</MultiLang>

## 集成前准备

使用Tap评价功能前提需要通过 **TapTap 开发者中心 > 商店 > 游戏资料 > 商店资料** 中已经上传 APK, 发布设置为 **立即上线** 并通过 **审核**(开发者包如果暂时不想对外,发布状态选 **敬请期待** 或者 **预约**)。


## SDK 获取

<MultiLang kind="unity_android_v4">

<>

<UnitySDKInstallation
npmDeps={[
"com.taptap.sdk.core",
"com.taptap.sdk.update",
]}
githubDeps={[
{package: "com.taptap.sdk.core", url: `https://github.com/taptap/TapSDKCore-Unity.git#${v4SDKVersions.taptap.unity}`},
{package: "com.taptap.sdk.update", url: `https://github.com/taptap/TapSDKUpdate-Unity.git#${v4SDKVersions.taptap.unity}`}
]}
unitypackageModules={[
{name: "TapTapSDK_Core.unitypackage", desc: "TapTapSDK 核心模块,必选"},
{name: "TapTapSDK_Update.unitypackage", desc: "TapTapSDK 更新唤起模块,必选"},
]}/>

</>

<>

1. 项目根目录的 build.gradle 添加仓库地址:

<CodeBlock language="groovy">{
`allprojects {
repositories {
google()
mavenCentral()
}
}`
}</CodeBlock>

2. app module 的 build.gradle 添加对应依赖:

<CodeBlock language="groovy">{
`dependencies {
implementation 'com.taptap.sdk:tap-core:${v4SDKVersions.taptap.android}'
implementation 'com.taptap.sdk:tap-review:${v4SDKVersions.taptap.android}'
}`
}</CodeBlock>

</>

<>

1. 项目根目录的 build.gradle 添加仓库地址:

<CodeBlock language="groovy">{
`allprojects {
repositories {
google()
mavenCentral()
}
}`
}</CodeBlock>

2. app module 的 build.gradle 添加对应依赖:

<CodeBlock language="groovy">{
`dependencies {
implementation 'com.taptap.sdk:tap-core:${v4SDKVersions.taptap.android}'
implementation 'com.taptap.sdk:tap-review:${v4SDKVersions.taptap.android}'
}`
}</CodeBlock>

</>

<>

</>

</MultiLang>

## 初始化

### TapSDK 初始化

<MultiLang kind="unity_android_v4">

<>

`TapTapSdkOptions` 详细参数见 [入门指南#快速开始](/sdk/access/quickstart/#初始化)

```cs
using TapSDK.Core;
using TapSDK.Compliance;

// 核心配置 详细参数见 [入门指南#快速开始]
TapTapSdkOptions coreOptions = new TapTapSdkOptions();
// TapSDK 初始化
TapTapSDK.Init(coreOptions);
```

</>

<>

`TapTapSdkOptions` 详细参数见 [入门指南#快速开始](/sdk/access/quickstart/#初始化)

```java
import com.taptap.sdk.core.TapTapLanguage;
import com.taptap.sdk.core.TapTapRegion;
import com.taptap.sdk.core.TapTapSdk;
import com.taptap.sdk.core.TapTapSdkOptions;

/* 必选配置 */
// 开发者中心对应 Client ID
String clientId = "";
// 开发者中心对应 Client Token
String clientToken = "";
// 是否开启 log,建议 Debug 开启,Release 关闭,默认关闭 log
boolean enableLog = BuildConfig.DEBUG;

TapTapSdkOptions tapSdkOptions = new TapTapSdkOptions(
clientId, // 游戏 Client ID
clientToken, // 游戏 Client Token
TapTapRegion.CN, // 游戏可玩区域: [TapTapRegion.CN]=国内 [TapTapRegion.GLOBAL]=海外
null, // 分包渠道名称 , 可为空
null, // 游戏版本号
false, // 是否自动上报 GooglePlay 内购支付成功事件 仅 [TapTapRegion.GLOBAL] 生效
false, // 自定义字段是否能覆盖内置字段
null, // 自定义属性,启动首个预置事件(device_login)会带上这些属性
null, // OAID 证书内容, 用于上报 OAID 仅 [TapTapRegion.CN] 生效
enableLog, // 是否开启 log,建议 Debug 开启,Release 关闭,默认关闭 log
TapTapLanguage.AUTO // TapSDK 首选语言 默认为 TapTapLanguage.AUTO
);
// 初始化 TapSDK
TapTapSdk.init(context, tapSdkOptions);
```

</>

<>

`TapTapSdkOptions` 详细参数见 [入门指南#快速开始](/sdk/access/quickstart/#初始化)

```kotlin
import com.taptap.sdk.core.TapTapSdk
import com.taptap.sdk.core.TapTapSdkOptions
import com.taptap.sdk.core.TapTapRegion
import com.taptap.sdk.core.TapTapLanguage

TapTapSdk.init(
context = context,
sdkOptions = TapTapSdkOptions(
clientId = clientId,
clientToken = clientToken,
region = TapTapRegion.CN,
preferredLanguage = TapTapLanguage.ZH_HANS,
enableLog = false
),
)
```
</>

受限于苹果政策,iOS 平台的 TapTap 客户端不提供跳转游戏评价功能

```cpp
FTapUpdate::Init(TEXT("clientId"), TEXT("clientToken"));
```
</MultiLang>
## 跳转游戏评价
<MultiLang kind="unity_android_v4">
<>
```cs
// TODO unity
```
</>

<>

```java
import com.taptap.sdk.review.TapTapReview;

TapTapReview.openReview();
```
</>

<>

```kotlin
import com.taptap.sdk.review.TapTapReview

TapTapReview.openReview()
```
</>

<>

受限于苹果政策,iOS 平台的 TapTap 客户端不提供跳转游戏评价功能

</>

</MultiLang>


## 测试
为了保证上线后,游戏对于用户是否正常使用 Tap 评价功能,请务必按照以下说明完成自测。

### 上传 APK

新应用需要上传测试的 APK 至开发者中心,并通过审核。已上架的游戏,需确保更新资料版本中的 APK 包名和已上架的 APK 包名保持一致。

### 应用上线

针对已上架的游戏,开发者需确保**更新资料版本中的包名和已上架的游戏包名保持一致**,否则会导致玩家因包名不一致而更新失败。

针对新游戏,开发者需要在 TapTap 上线一个包含 APK 包并且通过审核**(用于平台获取游戏包名,包名需与后续更新的包名保持一致)**的商店资料版本,如果 APK 包当前无法对外,可将发布状态设置为「敬请期待」或「预约」。

### 开始测试

触发跳转游戏评价功能后正常状态是可以唤起 TapTap 应用对应游戏详情的评价页面。




5 changes: 5 additions & 0 deletions cn/docs/sdk/share/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"label": "TapTap 分享",
"collapsed": true,
"position": 3
}
34 changes: 34 additions & 0 deletions cn/docs/sdk/share/faq.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
title: 常见问题
sidebar_label: 常见问题
sidebar_position: 3
---

## 为什么分享内容中图片内容不显示?

通常情况是 [Android FileProvider](https://developer.android.com/reference/androidx/core/content/FileProvider) 配置不对导致,需要检查 [Android FileProvider](https://developer.android.com/reference/androidx/core/content/FileProvider) 配置是否正确

## 分享后直接闪退什么原因?

检查是否是 contents 字段携带的文本数据里过大导致,Android 系统对于 intent 传递的数据内容大小是有限制的。通常是 1Mb。

## 如何判断当前 TapTap 版本是否支持分享?

SDK 有提供相应 API,示列如下:

```
if (TapTapShareUtil.checkTapTapInstall(this)
&& TapTapShareUtil.checkTapTapSupportShare(this)) {
// 当前已安装 TapTap 且 支持分享功能
}
```

## 已经安装最新版 TapTap,TapTapShareUtil.checkTapTapInstall(this) 还是返回 -1,提示没有安装。

检查当前项目SDK版本Android 11(API 30)以后需要再 AndroidManifest.xml 添加安装包可见性权限:

```
<queries>
<package android:name="com.taptap" />
</queries>
```
Loading

0 comments on commit a35bcf5

Please sign in to comment.