华为服务号(Business Touch Kit)提供给商家对应的华为服务号,让用户快速发现商家服务,建立用户与商家的互动连接。为您提供华为统一的商家服务号中心,通过服务分发,用户互动连接,多样化的营销工具等,促进商家的商业闭环。
开发者通过在App 端进行接口的调用,与云侧的服务商家后台获得交互。
为此,开发者需要:
在这个Codelab中,你将使用已经创建好的Demo Project实现对华为服务号的API调用,通过Demo Project你可以体验到:
集成HUAWEI HMS Core能力,需要完成以下准备工作:
具体操作,请按照《HUAWEI HMS Core集成准备》中详细说明来完成。
步骤 1 在"allprojects > repositories"中配置华为服务号 SDK的Maven仓地址。
步骤 2 在"buildscript > repositories"中配置华为服务号 SDK的Maven仓地址。
buildscript {
repositories {
google()
jcenter()
maven { url 'https://developer.huawei.com/repo/' }
}
dependencies {
classpath 'com.android.tools.build:gradle:3.4.1'
}
}
allprojects {
repositories {
google()
jcenter()
maven {url 'https://developer.huawei.com/repo/'}
}
}
步骤 1 打开应用的build.gradle文件。
步骤 2 在build.gradle文件中增加如下配置。
compileOptions {
sourceCompatibility = 1.8
targetCompatibility = 1.8
}
步骤 3 在"dependencies"中添加编译依赖。
dependencies {
implementation "com.huawei.hms:hbm:{version}"
}
步骤 4 添加AGC插件配置。请根据实际情况选择:
方式一:在文件头部声明下一行添加如下配置。
apply plugin: 'com.huawei.agconnect'
方式二:在plugins中添加如下配置。
plugins {
id 'com.android.application'
//添加如下配置
id 'com.huawei.agconnect'
}
在完成以上的配置后,点击Sync Now,完成"build.gradle"文件的同步,将相关依赖下载到本地。
整个工程的结构如下图:
在Android Studio里新建工程,可参见创建Android Studio工程。
1.获取HbmSdkService单例(设计模式:单例模式,提供了一种访问类的唯一的对象的方式,可以直接访问,不需要实例化该类的对象)。使用如下。
HbmSdkService.getInstance();
2.初始化HbmSdkService单例。
HbmSdkService.getInstance().init(this);
3.调用接口,同意华为服务号协议。
HbmSdkService.getInstance().enableHbmAgreement(result -> {
if (result.getHbmCode().getCode() == HbmCode.CODE_SUCCESS) {
// 成功同意协议
...
} else {
// 同意协议失败
...
}
});
4.调用接口,打开Channel接口。
//flag为true打开通道,flag为false关闭通道
HbmSdkService.getInstance().enableChannel(flag, result -> {
if (result.getHbmCode().getCode() == HbmCode.CODE_SUCCESS) {
// 打开/关闭通道回调结果成功
...
} else {
// 打开/关闭通道回调结果失败
...
}
});
5.使用各项接口实现业务,使用如下单例调用各类接口。
HbmSdkService.getInstance().xxx;
a)调用startHbmActivity接口,打开商家服务号主页。
//HbmIntent设置为HbmIntent.ACTION_TO_PUB,
//HbmIntent.KEY_PUB_ID 商家服务号
//HbmIntent.KEY_PUB_NAME 商家服务号名称,选填
HbmSdkService.getInstance().startHbmActivity((Activity) context,
HbmIntent.create(context, HbmIntent.ACTION_TO_PUB)
.putExtra(HbmIntent.KEY_PUB_ID, pubId)
.putExtra(HbmIntent.KEY_PUB_NAME, pubName),
result -> {
if (result.getHbmCode().getCode() == HbmCode.CODE_SUCCESS) {
//打开服务号主页成功
...
} else{
//打开服务号主页失败
...
}
});
b)打开专辑页与打开服务号主页类似,只需将HbmIntent设置为HbmIntent.ACTION_TO_ALBUM,同时需要传递HbmIntent.KEY_ALBUM_ID作为跳转参数。
c)打开商家消息会话、服务主题、设置页、全部服务动态页面、用户协议等也与上面的方法类似。只需将HbmIntent设置为对应值,不同的是不需要传递额外字段。
d)关注、取关商家。pubId代表商家服务号的id号。
//关注商家,建立关注关系
HbmSdkService.getInstance().followPub(pubId, listener);
//取关商家,取消关注关系
HbmSdkService.getInstance().unFollowPub(pubId, listener);
e)添加、移除通知。
//添加通知,iNotify:待添加的INotify对象,notifyFlag:待添加的通知类型标记。
HbmSdkService.getInstance().addNotify(iNotify, notifyFlag);
//移除通知,iNotify:待移除的INotify对象
HbmSdkService.getInstance().removeNotify(iNotify);
完成上述代码后,手机连上电脑。使用Android Studio自带的Gradle编译工具,双击installDebug,即可安装Demo。
运行结果如图:
接口调用结果如图:
干得好,您已经成功完成了Codelab并学到了:
您可以阅读下面链接,了解更多相关的信息。
相关文档。
本Codelab中所用demo源码下载地址如下: