egret-docs-master/microclient/manual/readme/README.md

118 lines
6.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

## 什么是微端
白鹭微端是 Egret 团队为了解决 HTML5 游戏打包为原生 APP 而发布的原生打包解决方案。通过白鹭微端解决方案,让 HTML5 游戏以真正原生 APP 形态展现在玩家手中。
白鹭微端内置两种运行模式Runtime 模式下可大幅度提升基于 Egret 引擎所研发的游戏性能,而 Webview 模式可以最大化保证兼容性,支持其他不同游戏引擎所开发的 HTML5 游戏。与此同时,通过动态加载技术,白鹭微端可保证所打包的原生 APP 包体极小,以便节省游戏推广成本,提高游戏用户留存率。
![](p0-1.jpg)
上图为微端的工作架构图。
微端内包含两种运行模式WebView 模式 和 Runtime 模式。根据游戏类型可以在微端管理后台任意切换。
![](p0-2.png)
玩家在打开一个微端游戏后,会从微端服务器获取 4 个信息(这些信息可以在开发者后台自行修改,后面会有详细的说明)。
1. 游戏的 URL 地址:这是微端里运行的 HTML5 游戏的真实地址。
2. 游戏的版本号:在 Runtime 模式下微端会把游戏过程中加载到的资源全部缓存下来。如果您修改了版本号,微端会自动清除本地缓存资源,重新下载。
3. Runtime 版本Runtime 是用来运行游戏的播放器。如果开发者需要使用新功能或者遇到 bug 需要升级 Runtime只要在后台设置一下微端就会自动更新。**注意:** 由于 iOS 禁止热更新,远程更新 Runtime 的功能仅在安卓系统生效。iOS 需要通过更新安装包的方式实现更新。
4. 启动页 URL 地址Runtime 的体积大概是 5MB 左右(不同机型体积不同,会自动适配),下载它的时候也需要一段时间,此时可以显示一个启动页,减少用户等待的焦虑感。这是一个标准的 HTML 页面,开发者可以自己设计,比如游戏的说明或广告,地址可以在管理后台设置。
上面这些工作完成了以后,就会全屏打开游戏页面,后面的流程和在浏览器中运行 Egret HTML5 游戏完全一致。
## 如何使用
我们可以通过登陆微端后台或者登陆 Launcher 创建一个游戏
* 微端后台地址:[https://cloud.egret.com/](https://cloud.egret.com/) 使用论坛的账号密码即可登陆。
* Launcher 下载地址:[https://egret.com/products/engine.html](https://egret.com/products/engine.html) 使用论坛的账号密码即可登陆。
下面以 Launcher 为例。
### 创建一个游戏
打开 Launcher 的微端页面,可以看到如下页面:
![](p1_0.jpg)
点击创建游戏即可看到如下页面,填写所需的参数,这些参数在创建好以后可以随时修改。
![](p1_1.jpg)
WebView 模式,只要填游戏名称和游戏地址就可以了。
![](p1_2.jpg)
Runtime 模式,可以设置更多的参数
1. **游戏名称:** 只是用于后台管理,可以和真实的游戏名不一致。
2. **游戏地址:** 微端运行的 HTML5 游戏地址。一般创建好了不需要修改,如果遇到服务器故障或被封等原因无法访问,可以修改成一个新的地址。**注意:** Runtime 模式目前仅支持 **4.1.0** 以上引擎制作的游戏。
3. **启动页地址:** 下载 Runtime 时显示的一个网页。**注意:** 这个页面会被缓存下来,如果修改了启动页的内容,请更换网页地址。
4. **游戏版本:** 第一个版本号。后期修改版本号后,微端会清除本地的缓存。
### 修改参数
![](p1_0.jpg)
创建好游戏以后,如上图所示可以在列表中看到,点击编辑图标
![](p1_3.jpg)
### 创建微端工程
![](p1_4.jpg)
点击如图所示的微端按钮,可以看到如下界面
![](p1_5.jpg)
输入相关参数点击“创建”按钮就会根据项目类型自动创建一个微端工程。Android 是一个标准的 Android Studio 项目iOS 是 标准的 xcode 项目。
在工程项目里修改图标,接入第三方 SDK 以后就可以发布安装程序了。把发布出的安装包装到手机,就可以体验微端游戏了。
iOS 项目同上。
### 注意事项
1. 微端只支持 WebGL 模式,请确保 index.html 里的渲染模式
```
egret.runEgret({ renderMode: "webgl", audioType: 0 });
```
2. 启动页会被缓存下来,如果要修改,请使用不同的 url 地址。
3. 微端仅支持 4.1.0 以上的 Egret 引擎制作的游戏。
4. 游戏地址的 HTML 页面里,不要使用 iframe 等 DOM 标签,否则可能无法解析。
5. 因为 iOS 访问 http 服务器需要打开 NSAllowsArbitraryLoads为了能让游戏网页正常访问我们的模板项目里是默认打开的。
6. 因为 iOS 禁止热更新,远程更新 Runtime 的功能仅在安卓系统生效。iOS 需要通过重新发包来实现更新。
7. RES 资源管理模块里有个设置最大并发加载线程数量的方法,在微端里建议改成 8会提高加载速度。
```
RES.setMaxLoadingThread(8);
```
8. Runtime 模式下,[js 与 Native 的交互方式请看此文档](http://developer.egret.com/cn/github/egret-docs/Native/native/communicateSkill/index.html), WebView 模式下的交互方式将在下个版本支持。
9. 如果游戏是横屏,请将微端工程也设置成横屏,否则会黑屏。
10. 安卓动态申请权限要求:如果在继承自 NativeActivity 的 Activity 中实现了 onRequestPermissionsResult 方法(模版中是 MainActivity需要在方法中调用 super.onRequestPermissionsResult 。
### 相关下载和安卓版本要求
#### Egret Launcher
Launcher 下载地址:[https://egret.com/products/engine.html](https://egret.com/products/engine.html) 使用论坛的账号密码即可登陆。
#### 微端管理后台:[cloud.egret.com](http://cloud.egret.com)
[启动页 Demo 下载](http://tool.egret-labs.org/microclient/doc/zip/loadingPage_v4.1.zip)
#### 安卓版本要求:
Android 默认编译 SDK 版本2319 及以上都可以)
最低支持 SDK 版本19
NDK 版本r10d
gradle 版本gradle-experimental:0.9.1
默认 buildToolsVersion25.0.2