本文介绍如何在 Android Studio 中运行 Yunba Android SDK 中的 Demo 示例程序。
另,云巴 Android SDK 自 v1.8.0-beta 版本起,开始支持小米、华为推送,通过在这两类机型上的小米、华为推送进程来拉起云巴进程,从而实现应用被杀掉也收到推送的效果。本文将以小米推送为例,对这一功能作出演示。
本文涉及的运行环境如下:
打开云巴官方网站,注册并登录。
点击界面右上角“创建应用”。
对于 Android 应用来说,只需填写应用名称、应用包名两项即可。
假设我们创建了一个应用包名(PackageName)为:io.yunba.test 的应用。
创建完成后,即可得到对应的 AppKey。如图所示:
云巴官网提供的 Android Demo 是 Eclipse 下的工程,引入 Android Studio 时,需在其 Welcome 界面选择 Import project (Eclipse ADT, Gradle, etc.) 选项。
如图所示。
在弹出的文件树中,找到下载的 SDK 的 yunba-demo 文件夹,点击 OK 确认,并输入目标工程的路径 (Import Destination Directory),点击 Next、Finish 即可成功导入。
引入后,如遇到错误提示:"failed to find target with hash string android-15", 则说明您没有安装 Android 4.0.3 (API 15) 的 SDK,打开 Tools --> Android --> SDK Manager,按需要进行安装即可。
由于 Android SDK Demo 使用的应用包名是 io.yunba.example,而本文创建的是 io.yunba.test。因此,需要把工程中所有的 example 重命名为 test。注意,这里不可以仅仅使用文本查找和替换的方式,具体的重命名方法可以参考下文。(在修改过程中,如出现 sync now 的黄色横幅提示,请点击确认)
打开 app - manifests - AndroidManifest.xml,将该文件中的 example 字符批量重命名为 test(笔者的测试环境下,批量重命名的快捷键是 Fn + Shift + F6),并保存;
打开 Gradle Scripts 下的 build.gradle (Module.app),将 applicationId "io.yunba.example"
改为 applicationId "io.yunba.test"
;
右击 app - java - io.yunba.example,选择 Refactor,将 example 改为 test,点击 Do refactor 按钮确认修改;
打开菜单栏的 Edit - Find - Replace in Path,将其他出现 example 的地方替换为 test;
至此,包名修改完成。
使用第一步中从 Portal 获取到的 AppKey 替换 AndroidManifest.xml 中的 AppKey。
有关小米、华为推送集成的详细内容,可查看 第三方推送集成指南。这里以小米推送为例,进行简要的说明。
如图所示,用户可以借助云巴提供的“自动创建应用”的功能,委托云巴进行小米或华为应用的申请。申请成功后,获取到的 AppID、AppKey 等应用信息将显示在当前页面上。
对于希望自己创建应用的开发者们,可前往小米、华为 Portal 创建应用:
在 Demo 的 YunBaApplication.java 文件中添加 YunBaManager.setXMRegister(String appid,String appkey)
。
使用上一步中创建小米应用时获得的 AppID、AppKey 作为参数。添加后如下:
YunBaManager.setThirdPartyEnable(getApplicationContext(), true);
YunBaManager.setXMRegister(<Your_Xiaomi_AppID>, <Your_Xiaomi_AppKey>);
YunBaManager.start(getApplicationContext());
登录云巴 Portal,进入应用列表,找到之前创建的应用,并点击其右侧的第三方推送选项。选择小米标签页后,在启用一栏选择“是”,并填上小米应用的包名(io.yunba.test)和 AppSecret 即可。
这里以小米 Max 手机为例,连接小米手机并打开开发者模式。在 Android Studio 中,点击 Run 按钮,选择小米设备即可。
成功运行后,在小米手机上选择允许安装,并在 设置 - 授权管理 - 自启动管理 中将 YunBaDemo 的自启动打开。
打开应用,订阅一个名为 news 的 Topic。订阅成功后,将该应用杀死。然后在云巴 Portal 上向 news 发送一条内容为 good news 的消息:
发送后,可在小米手机端收到两条通知: