集成Zendesk收集用戶(hù)feedback

Zendesk 概述

項(xiàng)目集成Zendesk 可以讓?xiě)?yīng)用管理者更加輕松地管理終端客戶(hù)的服務(wù)和支持需求,本文主要是針對(duì)iOS 項(xiàng)目集成 Zendesk SDK,收集用戶(hù)feedback, 并集合到slack channel 實(shí)現(xiàn)實(shí)時(shí)接收用戶(hù)反饋信息 展開(kāi)的。

1. 集成Zendesk SDK

和大部分第三方SDK集成方法一樣,集成Zendesk 同樣有多種方法,包括常用的 CocoaPodsCarthage 以及 在Xcode里手動(dòng)導(dǎo)入到項(xiàng)目 等方法,具體請(qǐng)參考:iOS 項(xiàng)目集成Zendesk SDK 。

創(chuàng)建APP

在正式使用sdk 之前,我們還需要到zendesk官方申請(qǐng)注冊(cè)并創(chuàng)建我們自己的app, 因?yàn)檫@里是想實(shí)現(xiàn)收集用戶(hù)Feedback,對(duì)應(yīng)Zendesk的產(chǎn)品為support, 可以到這里創(chuàng)建我們的app: https://www.zendesk.com/support/

一旦創(chuàng)建完成app, Zendesk 并會(huì)為這個(gè)app生成 init SDK 需要用到 appId, clientId 以及 appUrl, 具體可在創(chuàng)建完app后到
https://yourApp.zendesk.com/agent/admin/mobile_sdk 里查看,如下圖所示:

appId/clientId/appUrl

init SDK

以上工作完成后 可以在項(xiàng)目初始化 sdk了,參考: init zendesk support sdk

在AppDelegate 導(dǎo)入Zendesk并使用上一步獲取到的必要參數(shù)進(jìn)行初始化:

import SupportProvidersSDK
import ZendeskCoreSDK

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions:   [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    Zendesk.initialize(appId: "appId", clientId: "clientId",    zendeskUrl: "url")
    Support.initialize(withZendesk: Zendesk.instance)
}

創(chuàng)建一個(gè)身份

Zendesk需要一個(gè)用戶(hù)身份,以便該應(yīng)用可以作為Zendesk支持用戶(hù)進(jìn)行身份驗(yàn)證,然后將其設(shè)置為Zendesk單例:

let identity = Identity.createAnonymous(name: "\(userName)", email: "\(userEmail)")
Zendesk.instance?.setIdentity(identity)

Zendesk有兩種 identity: anonymous 和 JWT. 更多細(xì)節(jié)參考 identity.

設(shè)置身份時(shí)注意

  1. 必須在Zendesk.initialize之后且在使用Zendesk API 請(qǐng)求之前設(shè)置一個(gè)身份。也可以在Support.initialize之前或之后進(jìn)行設(shè)置,如果使用Support SDK而不設(shè)置身份將會(huì)導(dǎo)致所有網(wǎng)絡(luò)請(qǐng)求失敗,即發(fā)送feedback時(shí)無(wú)法發(fā)送成功。

  2. 如果設(shè)置身份時(shí)沒(méi)有傳入用戶(hù)名等參數(shù),則在Zendesk后臺(tái)將會(huì)以 Mobile App User 名字顯示該用戶(hù)。

  3. 如果用戶(hù)第一次發(fā)送feedback時(shí)沒(méi)有設(shè)置名字或者發(fā)送完第一次后更改過(guò)名字,則往后發(fā)送的所有feedback 在zendesk后臺(tái)用戶(hù)名都顯示為第一次時(shí)的那個(gè)(Zendesk后臺(tái)是用email標(biāo)記是否同一個(gè)用戶(hù)的)。

  4. 多次設(shè)置同一個(gè)用戶(hù)identity 是無(wú)效的,即多次調(diào)用 setIdentity ()無(wú)效,但只要identity不一樣了,Zendesk則會(huì)認(rèn)為這是一個(gè)新的用戶(hù)。

2. 使用SDK發(fā)送feedback

這里使用自定義UI界面,因此在需要發(fā)送時(shí)直接調(diào)用Zendesk提供的api, 詳細(xì)文檔參考:
Working with API providers

UI
let provider = ZDKRequestProvider()
let request = ZDKCreateRequest()
request.subject = "subject string"
request.requestDescription = "detail string"
request.tags = ["iOS"]   // 作為zendesk 后臺(tái)分類(lèi)使用

zendesk支持 自定義字段,創(chuàng)建自定義字段,首先需要在后臺(tái)添加自己想要的字段,并獲取它的 FieldID

Custom Fields

然后 在代碼上 進(jìn)行配置

 let customFieldForAppVersion = CustomField(fieldId: 360028685191, value: "\(versionString)")
request.customFields = [ customFieldForAppVersion]

最后發(fā)送請(qǐng)求

provider.createRequest(request) { result, error in

}

發(fā)完之后則可以到zendesk后臺(tái)管理平臺(tái)查看該條feedback:

后臺(tái)

如果需要發(fā)送附件,則需要在創(chuàng)建request時(shí)加入 UploadResponse類(lèi)型的附件文件

request.attachments = UploadResponse

上傳到到zendesk的附件不會(huì)被壓縮,但有大小限制,根據(jù)收費(fèi)不同可支持不同大小的附件體積上傳。如果需要壓縮建議在上傳關(guān)本地壓縮文件后再上傳。

3. 集成到slack channel

參考文章:
https://support.zendesk.com

1. 在Slack上創(chuàng)建一個(gè)新的app

需要在Slack上創(chuàng)建一個(gè)新的app, 并拿到一個(gè)webhook url

2. 在Zendesk 的extension 中添加一個(gè)target:

image.png

3. 在Zendesk 添加一個(gè)trigger 觸發(fā)這個(gè)extension.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容