iOS开发之BusinessChat框架使用

简介: iOS开发之BusinessChat框架使用

BusinessChat是iOS11.3后引入的新框架,这个框架配合iMessage应用将商家与用户更加紧密的结合起来,并且为商家提供了另外一种非常方便的客服系统。


     我们知道,在iOS10中新引入了iMessage扩展,iMessage扩展除了丰富了表情包外,开发者也可以开发一些功能独立的iMessage应用,关于iMessage扩展的相关应用,如下博客中有着完整的介绍。


https://my.oschina.net/u/2340880/blog/749331


    随着iMessage扩展使得iMessage功能的越来越强大,其为用户提供能力和与第三方APP交互能力也越来越强,BusinessChat框架是提供给应用程序调用iMessage来与商家的客服系统联系的功能框架。


   许多服务类的应用程序都有客服系统,例如当用户使用电商类应用程序时通常会需要联系商家。要使用BusinessChat相关功能,首先需要注册成为Apple商家,在如下网站进行商家注册:


https://register.apple.com


界面如下:

image.png



使用AppleID登录后,填写必要的商家信息和成员信息,即可进行申请,提交申请后,需要Apple进行审核,如果审核通过会分配商户ID给我们,我们需要使用这个商户ID来进行我们的开发。


   BusinessChat框架中有两个类:BCChatButton类和BCChatAction类,BCChatButton类是单纯的UI支持类,它提供了同意的联系客服按钮样式,BCChatAction类用来处理行为逻辑。示例代码如下:


@implementation ViewController


- (void)viewDidLoad {

   [super viewDidLoad];

   BCChatButton * btn = [[BCChatButton alloc]initWithStyle:BCChatButtonStyleDark];

   btn.frame = CGRectMake(50, 100, 200,100);

   [btn addTarget:self action:@selector(click) forControlEvents:UIControlEventTouchUpInside];

   [self.view addSubview:btn];

}


-(void)click{

   NSLog(@"message");

   [BCChatAction openTranscript:@"8d7f4b79-bf77-45ab-86b5-b74f56d47737" intentParameters:@{BCParameterNameIntent:@"buy",BCParameterNameGroup:@"custom",BCParameterNameBody:@"Hello World"}];

}



@end

运行代码,按钮样式如下图:



image.png

点击按钮后,会调起iMessage应用,用户可以直接与商户进客服行联系。


     BCChatButton是一个纯UI的按钮类,其继承自UIControl,使用方式和正常的UIButton一样,需要注意,其中并没有封装交互逻辑,按钮的触发事件需要开发者自己定义。BCChatAction来进行交互逻辑的处理,这个类中只有一个方法,如下:


/*

businessIdentifier为商户ID

intentParameters为意图参数字典,其中可定义键值如下:

BCParameterNameIntent 定义意图 用户发送消息时可以让商户更清楚用户的问题领域

BCParameterNameGroup 定义组 帮助商户将问题分发明确的组

BCParameterNameBody 信息内容

*/

+ (void)openTranscript:(NSString *)businessIdentifier

     intentParameters:(NSDictionary<BCParameterName, NSString *> *)intentParameters;

 

目录
相关文章
|
26天前
|
API 数据安全/隐私保护 iOS开发
利用uni-app 开发的iOS app 发布到App Store全流程
利用uni-app 开发的iOS app 发布到App Store全流程
83 3
|
3月前
|
存储 iOS开发
iOS 开发,如何进行应用的本地化(Localization)?
iOS 开发,如何进行应用的本地化(Localization)?
122 2
|
3月前
|
机器学习/深度学习 PyTorch TensorFlow
是否有其他框架可以在iOS设备上进行机器学习?
是否有其他框架可以在iOS设备上进行机器学习?
21 1
|
3月前
|
存储 数据建模 iOS开发
iOS设备功能和框架: 什么是 Core Data,它在 iOS 中的作用是什么?
iOS设备功能和框架: 什么是 Core Data,它在 iOS 中的作用是什么?
32 1
|
3月前
|
定位技术 iOS开发
iOS设备功能和框架: 如何使用 Core Location 获取设备的位置信息?
iOS设备功能和框架: 如何使用 Core Location 获取设备的位置信息?
19 0
|
3月前
|
存储 数据建模 数据库
IOS开发数据存储:什么是 UserDefaults?有哪些替代方案?
IOS开发数据存储:什么是 UserDefaults?有哪些替代方案?
38 0
|
3月前
|
API 定位技术 iOS开发
IOS开发基础知识:什么是 Cocoa Touch?它在 iOS 开发中的作用是什么?
IOS开发基础知识:什么是 Cocoa Touch?它在 iOS 开发中的作用是什么?
42 2
|
3月前
|
安全 编译器 Swift
IOS开发基础知识: 对比 Swift 和 Objective-C 的优缺点。
IOS开发基础知识: 对比 Swift 和 Objective-C 的优缺点。
89 2
|
1天前
|
API 定位技术 iOS开发
IOS开发基础知识:什么是 Cocoa Touch?它在 iOS 开发中的作用是什么?
【4月更文挑战第18天】**Cocoa Touch** 是iOS和Mac OS X应用的核心框架,包含面向对象库、运行时系统和触摸优化工具。它提供Mac验证的开发模式,强调触控接口和性能,涵盖3D图形、音频、网络及设备访问API,如相机和GPS。是构建高效iOS应用的基础,对开发者至关重要。
8 0
|
2月前
|
监控 API Swift
用Swift开发iOS平台上的上网行为管理监控软件
在当今数字化时代,随着智能手机的普及,人们对于网络的依赖日益增加。然而,对于一些特定场景,如家庭、学校或者企业,对于iOS设备上的网络行为进行管理和监控显得尤为重要。为了满足这一需求,我们可以利用Swift语言开发一款iOS平台上的上网行为管理监控软件。
181 2