Skip to content

Commit a35bcf5

Browse files
authored
Merge pull request #1211 from taptap/feat_share_review_docs
feat: add share&review docs
2 parents 13af3a5 + 0479219 commit a35bcf5

File tree

7 files changed

+744
-0
lines changed

7 files changed

+744
-0
lines changed

cn/docs/sdk/review/_category_.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"label": "TapTap 评价",
3+
"collapsed": true,
4+
"position": 3
5+
}

cn/docs/sdk/review/features.mdx

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
---
2+
title: 评价功能介绍
3+
sidebar_label: 功能介绍
4+
sidebar_position: 1
5+
---
6+
7+
评价功能支持游戏调起 TapTap 的评价编辑器,帮助用户快捷发布对本游戏的评价。
8+
9+
![](https://img.tapimg.com/market/images/6691ae30aa3097522d06570edc53d1a2.png)
10+
11+
## 服务优势
12+
- 快速积累真实评价
13+
- 获得真实玩家评分评价,提高站内热度,收集玩家反馈,吸引潜在用户。
14+
- 流程短,效率高
15+
- 一键直接调起游戏评价编辑,免去玩家多步操作。
16+
17+
## 用户使用流程
18+
1. 玩家在游戏中点击「去 TapTap 评价」按钮(该按钮及相关UI由开发者自行绘制)。
19+
2. 有 TapTap 客户端则调起客户端评价编辑页;无客户端则打开游戏的 TapTap 网页版的查看评价页。
20+
21+
22+
## 注意事项
23+
使用评价功能时,请勿诱导好评,否则游戏将受到相应处罚。
24+
25+
- 调用评价功能时诱导好评倾向包括:
26+
- 邀请评价界面使用「好评」「五星」等诱导字样。
27+
- 承诺好评奖励。
28+
- 在调起评价前,先询问玩家对游戏满意度,仅为满意度高的用户调起评价。
29+
- 诱导好评行为根据严重程度、影响范围、违规次数,可能面临以下处罚:
30+
- 清除所有诱导好评,回溯游戏评分。
31+
- 游戏详情页展示诱导好评标识。
32+
- 限制流量、暂停分发。
33+
34+
- 建议的引导评价方式:
35+
- 平实的引导玩家「去 TapTap 评价」。
36+
- 有诚意的表述期望玩家客观评价,游戏将根据反馈不断改进游戏。

cn/docs/sdk/review/guide.mdx

Lines changed: 294 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,294 @@
1+
---
2+
title: 评价开发指南
3+
sidebar_label: 开发指南
4+
sidebar_position: 2
5+
---
6+
7+
import MultiLang from "/src/docComponents/MultiLang";
8+
import CodeBlock from "@theme/CodeBlock";
9+
import v4SDKVersions from '/src/docComponents/v4SDKVersions';
10+
import { Conditional } from "/src/docComponents/conditional";
11+
import AndroidFaq from "../_partials/android-package-visibility.mdx";
12+
import UnitySDKInstallation from "../_partials/unity-sdk-installation.mdx";
13+
14+
## 权限说明
15+
16+
<MultiLang kind="unity_android_v4">
17+
18+
<>
19+
该模块依赖权限如下:
20+
21+
| 权限 | 使用目的 | 权限申请时机 |
22+
| ---------------------- | ---------------------- | ---------------------- |
23+
| 安装 APK 权限 | 用于安装 Tap 客户端 | 用户首次使用该功能时会申请权限 |
24+
</>
25+
26+
<>
27+
28+
该模块依赖权限如下:
29+
30+
| 权限 | 使用目的 | 权限申请时机 |
31+
| ---------------------- | ---------------------- | ---------------------- |
32+
| 安装 APK 权限 | 用于安装 Tap 客户端 | 用户首次使用该功能时会申请权限 |
33+
34+
同时该模块也会访问设备已安装的 Tap 客户端信息,所以接入 SDK 后将在应用 `AndroidManifest.xml` 中添加如下配置:
35+
36+
```xml
37+
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
38+
<queries>
39+
<package android:name="com.taptap" />
40+
</queries>
41+
```
42+
43+
</>
44+
45+
<>
46+
47+
该模块依赖权限如下:
48+
49+
| 权限 | 使用目的 | 权限申请时机 |
50+
| ---------------------- | ---------------------- | ---------------------- |
51+
| 安装 APK 权限 | 用于安装 Tap 客户端 | 用户首次使用该功能时会申请权限 |
52+
53+
同时该模块也会访问设备已安装的 Tap 客户端信息,所以接入 SDK 后将在应用 `AndroidManifest.xml` 中添加如下配置:
54+
55+
```xml
56+
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
57+
<queries>
58+
<package android:name="com.taptap" />
59+
</queries>
60+
```
61+
62+
</>
63+
64+
</MultiLang>
65+
66+
## 集成前准备
67+
68+
使用Tap评价功能前提需要通过 **TapTap 开发者中心 > 商店 > 游戏资料 > 商店资料** 中已经上传 APK, 发布设置为 **立即上线** 并通过 **审核**(开发者包如果暂时不想对外,发布状态选 **敬请期待** 或者 **预约**)。
69+
70+
71+
## SDK 获取
72+
73+
<MultiLang kind="unity_android_v4">
74+
75+
<>
76+
77+
<UnitySDKInstallation
78+
npmDeps={[
79+
"com.taptap.sdk.core",
80+
"com.taptap.sdk.update",
81+
]}
82+
githubDeps={[
83+
{package: "com.taptap.sdk.core", url: `https://github.com/taptap/TapSDKCore-Unity.git#${v4SDKVersions.taptap.unity}`},
84+
{package: "com.taptap.sdk.update", url: `https://github.com/taptap/TapSDKUpdate-Unity.git#${v4SDKVersions.taptap.unity}`}
85+
]}
86+
unitypackageModules={[
87+
{name: "TapTapSDK_Core.unitypackage", desc: "TapTapSDK 核心模块,必选"},
88+
{name: "TapTapSDK_Update.unitypackage", desc: "TapTapSDK 更新唤起模块,必选"},
89+
]}/>
90+
91+
</>
92+
93+
<>
94+
95+
1. 项目根目录的 build.gradle 添加仓库地址:
96+
97+
<CodeBlock language="groovy">{
98+
`allprojects {
99+
repositories {
100+
google()
101+
mavenCentral()
102+
}
103+
}`
104+
}</CodeBlock>
105+
106+
2. app module 的 build.gradle 添加对应依赖:
107+
108+
<CodeBlock language="groovy">{
109+
`dependencies {
110+
implementation 'com.taptap.sdk:tap-core:${v4SDKVersions.taptap.android}'
111+
implementation 'com.taptap.sdk:tap-review:${v4SDKVersions.taptap.android}'
112+
}`
113+
}</CodeBlock>
114+
115+
</>
116+
117+
<>
118+
119+
1. 项目根目录的 build.gradle 添加仓库地址:
120+
121+
<CodeBlock language="groovy">{
122+
`allprojects {
123+
repositories {
124+
google()
125+
mavenCentral()
126+
}
127+
}`
128+
}</CodeBlock>
129+
130+
2. app module 的 build.gradle 添加对应依赖:
131+
132+
<CodeBlock language="groovy">{
133+
`dependencies {
134+
implementation 'com.taptap.sdk:tap-core:${v4SDKVersions.taptap.android}'
135+
implementation 'com.taptap.sdk:tap-review:${v4SDKVersions.taptap.android}'
136+
}`
137+
}</CodeBlock>
138+
139+
</>
140+
141+
<>
142+
143+
</>
144+
145+
</MultiLang>
146+
147+
## 初始化
148+
149+
### TapSDK 初始化
150+
151+
<MultiLang kind="unity_android_v4">
152+
153+
<>
154+
155+
`TapTapSdkOptions` 详细参数见 [入门指南#快速开始](/sdk/access/quickstart/#初始化)
156+
157+
```cs
158+
using TapSDK.Core;
159+
using TapSDK.Compliance;
160+
161+
// 核心配置 详细参数见 [入门指南#快速开始]
162+
TapTapSdkOptions coreOptions = new TapTapSdkOptions();
163+
// TapSDK 初始化
164+
TapTapSDK.Init(coreOptions);
165+
```
166+
167+
</>
168+
169+
<>
170+
171+
`TapTapSdkOptions` 详细参数见 [入门指南#快速开始](/sdk/access/quickstart/#初始化)
172+
173+
```java
174+
import com.taptap.sdk.core.TapTapLanguage;
175+
import com.taptap.sdk.core.TapTapRegion;
176+
import com.taptap.sdk.core.TapTapSdk;
177+
import com.taptap.sdk.core.TapTapSdkOptions;
178+
179+
/* 必选配置 */
180+
// 开发者中心对应 Client ID
181+
String clientId = "";
182+
// 开发者中心对应 Client Token
183+
String clientToken = "";
184+
// 是否开启 log,建议 Debug 开启,Release 关闭,默认关闭 log
185+
boolean enableLog = BuildConfig.DEBUG;
186+
187+
TapTapSdkOptions tapSdkOptions = new TapTapSdkOptions(
188+
clientId, // 游戏 Client ID
189+
clientToken, // 游戏 Client Token
190+
TapTapRegion.CN, // 游戏可玩区域: [TapTapRegion.CN]=国内 [TapTapRegion.GLOBAL]=海外
191+
null, // 分包渠道名称 , 可为空
192+
null, // 游戏版本号
193+
false, // 是否自动上报 GooglePlay 内购支付成功事件 仅 [TapTapRegion.GLOBAL] 生效
194+
false, // 自定义字段是否能覆盖内置字段
195+
null, // 自定义属性,启动首个预置事件(device_login)会带上这些属性
196+
null, // OAID 证书内容, 用于上报 OAID 仅 [TapTapRegion.CN] 生效
197+
enableLog, // 是否开启 log,建议 Debug 开启,Release 关闭,默认关闭 log
198+
TapTapLanguage.AUTO // TapSDK 首选语言 默认为 TapTapLanguage.AUTO
199+
);
200+
// 初始化 TapSDK
201+
TapTapSdk.init(context, tapSdkOptions);
202+
```
203+
204+
</>
205+
206+
<>
207+
208+
`TapTapSdkOptions` 详细参数见 [入门指南#快速开始](/sdk/access/quickstart/#初始化)
209+
210+
```kotlin
211+
import com.taptap.sdk.core.TapTapSdk
212+
import com.taptap.sdk.core.TapTapSdkOptions
213+
import com.taptap.sdk.core.TapTapRegion
214+
import com.taptap.sdk.core.TapTapLanguage
215+
216+
TapTapSdk.init(
217+
context = context,
218+
sdkOptions = TapTapSdkOptions(
219+
clientId = clientId,
220+
clientToken = clientToken,
221+
region = TapTapRegion.CN,
222+
preferredLanguage = TapTapLanguage.ZH_HANS,
223+
enableLog = false
224+
),
225+
)
226+
```
227+
</>
228+
229+
受限于苹果政策,iOS 平台的 TapTap 客户端不提供跳转游戏评价功能
230+
231+
```cpp
232+
FTapUpdate::Init(TEXT("clientId"), TEXT("clientToken"));
233+
```
234+
235+
</MultiLang>
236+
237+
## 跳转游戏评价
238+
239+
<MultiLang kind="unity_android_v4">
240+
241+
<>
242+
243+
```cs
244+
// TODO unity
245+
```
246+
</>
247+
248+
<>
249+
250+
```java
251+
import com.taptap.sdk.review.TapTapReview;
252+
253+
TapTapReview.openReview();
254+
```
255+
</>
256+
257+
<>
258+
259+
```kotlin
260+
import com.taptap.sdk.review.TapTapReview
261+
262+
TapTapReview.openReview()
263+
```
264+
</>
265+
266+
<>
267+
268+
受限于苹果政策,iOS 平台的 TapTap 客户端不提供跳转游戏评价功能
269+
270+
</>
271+
272+
</MultiLang>
273+
274+
275+
## 测试
276+
为了保证上线后,游戏对于用户是否正常使用 Tap 评价功能,请务必按照以下说明完成自测。
277+
278+
### 上传 APK
279+
280+
新应用需要上传测试的 APK 至开发者中心,并通过审核。已上架的游戏,需确保更新资料版本中的 APK 包名和已上架的 APK 包名保持一致。
281+
282+
### 应用上线
283+
284+
针对已上架的游戏,开发者需确保**更新资料版本中的包名和已上架的游戏包名保持一致**,否则会导致玩家因包名不一致而更新失败。
285+
286+
针对新游戏,开发者需要在 TapTap 上线一个包含 APK 包并且通过审核**(用于平台获取游戏包名,包名需与后续更新的包名保持一致)**的商店资料版本,如果 APK 包当前无法对外,可将发布状态设置为「敬请期待」或「预约」。
287+
288+
### 开始测试
289+
290+
触发跳转游戏评价功能后正常状态是可以唤起 TapTap 应用对应游戏详情的评价页面。
291+
292+
293+
294+

cn/docs/sdk/share/_category_.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"label": "TapTap 分享",
3+
"collapsed": true,
4+
"position": 3
5+
}

cn/docs/sdk/share/faq.mdx

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
title: 常见问题
3+
sidebar_label: 常见问题
4+
sidebar_position: 3
5+
---
6+
7+
## 为什么分享内容中图片内容不显示?
8+
9+
通常情况是 [Android FileProvider](https://developer.android.com/reference/androidx/core/content/FileProvider) 配置不对导致,需要检查 [Android FileProvider](https://developer.android.com/reference/androidx/core/content/FileProvider) 配置是否正确
10+
11+
## 分享后直接闪退什么原因?
12+
13+
检查是否是 contents 字段携带的文本数据里过大导致,Android 系统对于 intent 传递的数据内容大小是有限制的。通常是 1Mb。
14+
15+
## 如何判断当前 TapTap 版本是否支持分享?
16+
17+
SDK 有提供相应 API,示列如下:
18+
19+
```
20+
if (TapTapShareUtil.checkTapTapInstall(this)
21+
&& TapTapShareUtil.checkTapTapSupportShare(this)) {
22+
// 当前已安装 TapTap 且 支持分享功能
23+
}
24+
```
25+
26+
## 已经安装最新版 TapTap,TapTapShareUtil.checkTapTapInstall(this) 还是返回 -1,提示没有安装。
27+
28+
检查当前项目SDK版本Android 11(API 30)以后需要再 AndroidManifest.xml 添加安装包可见性权限:
29+
30+
```
31+
<queries>
32+
<package android:name="com.taptap" />
33+
</queries>
34+
```

0 commit comments

Comments
 (0)