1. 程式人生 > >iOS開發之BusinessChat框架使用

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

介面如下:

使用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

執行程式碼,按鈕樣式如下圖:

點選按鈕後,會調起iMessage應用,使用者可以直接與商戶進客服行聯絡。

      BCChatButton是一個純UI的按鈕類,其繼承自UIControl,使用方式和正常的UIButton一樣,需要注意,其中並沒有封裝互動邏輯,按鈕的觸發事件需要開發者自己定義。BCChatAction來進行互動邏輯的處理,這個類中只有一個方法,如下:

/*
businessIdentifier為商戶ID
intentParameters為意圖引數字典,其中可定義鍵值如下:
BCParameterNameIntent 定義意圖 使用者傳送訊息時可以讓商戶更清楚使用者的問題領域
BCParameterNameGroup 定義組 幫助商戶將問題分發明確的組 
BCParameterNameBody 資訊內容
*/
+ (void)openTranscript:(NSString *)businessIdentifier
      intentParameters:(NSDictionary<BCParameterName, NSString *> *)intentParameters;