主题
Skip to content
1、发布区域含有欧盟地区时,必须接入 GDPR
WARNING
判断用户是否为欧盟地区的用户
如果是欧盟地区,需要在设置页面新增 GDPR 按钮,并在点击后弹出 GDPR 弹窗
SDK 内部还实现了第一次启动时弹出 GDPR 弹窗,此逻辑为 SDK 内部逻辑,无需接入
欧盟隐私
- 非欧盟地区,不弹 GDPR,设置界面没有 GDPR 按钮
- 欧盟地区,弹 GDPR,设置界面出现 GDPR 按钮,点击弹出 GDPR 界面
TypeScript
//监听 是否为欧盟地区 如果true 可以展示欧盟弹窗
public inEeaForGDPRListen(callback : (inEea : boolean) => void) {}
// 移除 监听
public inEeaForGDPRRemove() {}
//state: 0-欧盟弹窗关闭 1-欧盟弹窗展示 (注,如果回调了1,那么后续会有0)
public showGDPRDialogStatic(callback :(status : number) => void) {}
2、游戏内需要有 隐私政策和用户协议按钮
WARNING
在游戏首页或游戏设置页展示 隐私政策和用户协议按钮,并且点击可跳转
隐私政策
TypeScript
//10. 跳转到隐私界面
public gotoPrivacyPolicyStatic() {}
用户协议
TypeScript
//11. 跳转到用户协议
public gotoTermsServiceStatic() {}
3、使用了支付模块时,必须使用 GP 动态价格
WARNING
通过接口获取动态价格
在游戏内商品展示动态价格,货币种类也需要展示
在 GP 后台配置商品前,需要一个商品申请审核包,此包不需要处理动态价格逻辑
开始加载商品信息
注意 此方法只是开始加载 获取结果使用 getProductInfo 方法,可在首页调用一次就好
TypeScript
// 1.启动时查询想要查询的id,可以多个。(也可以启动时不查询,展示商品界面前查询,这里不做任何限制,游戏怎么方便怎么来。)
// 2.展示商品界面时获取某个id的详细信息,游戏自行显示界面数据。注:可能不一定成功,如果获取为空,那么游戏需要显示默认的。
loadProductInfo(productIds : Array<string>) {}
获取商品信息(查询动态价格)
注意 先使用 loadProductInfo 加载后才能获取,加载失败或未完成时 返回 空
TypeScript
// 获取产品信息 可能会返回null 需要在此之前(首页 或者其他页面)调用loadProductInfo 加载(loadProductInfo内部是一个异步请求)
getProductInfo(productId : string) : ProductInfo | null
4、去掉 GM 工具相关的所有代码
DANGER
如果游戏内含有 GM 工具相关代码,在打包提审前一定要记得去掉!!
5、去掉热更新相关的所有代码
DANGER
如果游戏内含有热更新相关代码,在打包提审前一定要记得去掉!!
6、和内购提审包的区别
DANGER
需要配置正式的支付 id,同时打包时记得将版本号+1,不能和内购提审包一致
7、包体大于 150M 时,需要主动进行资源分发
资源分发模式介绍
安装时分发(install-time)
WARNING
💡 资源包在用户安装应用时分发。这些资源包以拆分 APK(APK 集的一部分)的形式提供。它们也称为“预先”资源包;您可以在应用启动时立即使用这些资源包。这些资源包会增加 Google Play 商店上列出的应用大小。用户无法修改或删除这些资源包
下载大小限制:Asset Pack 的总下载大小上限为 1 GB
集成(install-time)
集成环境
在项目的 build.gradle
文件中将 Android Gradle 插件的版本更新为 4.0.0
或更高版本
工程配置
在项目的顶级目录中,为资源包创建一个目录。此目录名称将用作 Asset Pack 名称。资源包名称必须以字母开头,并且只能包含字母、数字和下划线。
在 Asset Pack 目录中,创建一个
build.gradle
文件并添加以下代码。请务必指定资源包的名称,并且仅指定一种分发类型:
go
// In the asset pack’s build.gradle file:
plugins {
id 'com.android.asset-pack'
}
assetPack {
packName = "asset-pack-name" // Directory name for the asset pack
dynamicDelivery {
deliveryType = "[ install-time ]"
}
}
- 在项目的应用
build.gradle
文件中,添加项目中每个资源包的名称,如下所示:
json
// In the app build.gradle file:
android {
...
assetPacks = [":asset-pack-name", ":asset-pack2-name"]
}
- 在项目的
settings.gradle
文件中,添加项目中的所有资源包,如下所示:
go
// In the settings.gradle file:
include ':app'
include ':asset-pack-name'
include ':asset-pack2-name'
在资源包目录中,创建以下子目录:
src/main/assets
。将资源放置在
src/main/assets
目录中。您也可以在此处创建子目录。应用的目录结构现在应如下所示
bash
build.gradle
settings.gradle
app/
asset-pack-name/build.gradle
asset-pack-name/src/main/assets/your-asset-directories
- 在生成的 app bundle 中,根级目录现在包含以下内容:
asset-pack-name/manifest/AndroidManifest.xml
:配置资源包的标识符和分发模式asset-pack-name/assets/your-asset-directories
:此目录包含作为资源包的一部分分发的所有资产
点我快速对接


