日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
一個(gè)安卓App,如何成為DuerOS上的技能應(yīng)用呢?

我們經(jīng)常談到的移動(dòng)互聯(lián)網(wǎng)是與智能手機(jī)密不可分的,iPhone 這樣的智能手機(jī)改變了人們使用手機(jī)的交互方式——由功能機(jī)(feature phone)的按鍵式交互變成了觸控式交互。

Android 和 iOS 成為了移動(dòng)互聯(lián)網(wǎng)上的兩大主流開發(fā)環(huán)境,大多數(shù)的開發(fā)者和企業(yè)都有著自己的Android App,那么,如何讓這些安卓App 成為DuerOS 上支持語(yǔ)音交互的多模態(tài)技能呢?

DBP 上的 App 技能

App技能同樣是一種DBP的自定義技能,與其他自定義技能的區(qū)別在于需要開發(fā)者開發(fā)或調(diào)整自己的安卓App。DBP 平臺(tái)上 APP技能的推出使得Android App 可以很快地成為DuerOS 設(shè)備上的技能,使安卓系統(tǒng)的App生態(tài)能夠與DuerOS的技能生態(tài)水乳交融,為用戶帶來(lái)更多的價(jià)值。

正像老碼農(nóng)在以往技術(shù)大會(huì)上所講的那樣,APP技能的接入和DBP自定義技能的開發(fā)類似,同樣遵循六個(gè)步驟:

  • 開發(fā)者認(rèn)證
  • 技能創(chuàng)建
  • 技能開發(fā)
  • 技能調(diào)試
  • 技能審核
  • 技能上線

目前,DBP 平臺(tái)推出的App技能作為Preview feature 開放給廣大企業(yè)開發(fā)者,遵循預(yù)覽版的相關(guān)審核和流程規(guī)范。

1. 開發(fā)者認(rèn)證

開發(fā)者需要在DBP平臺(tái)上傳身份證、個(gè)人郵箱、手機(jī)號(hào)等信息,通過(guò)審核后成為認(rèn)證開發(fā)者。目前DBP 平臺(tái)采用了百度AI的證照自動(dòng)識(shí)別技術(shù),可以實(shí)現(xiàn)分鐘級(jí)的身份認(rèn)證,使開發(fā)者能夠迅速成為DuerOS 的認(rèn)證開發(fā)者。當(dāng)然,非認(rèn)證開發(fā)者同樣可以創(chuàng)建并調(diào)試自定義技能,但只有認(rèn)證開發(fā)者才能完成技能的上線。

對(duì)應(yīng)企業(yè)開發(fā)者而言,還要上傳企業(yè)的營(yíng)業(yè)執(zhí)照掃描件,通過(guò)審核后成為認(rèn)證開發(fā)者。

需要注意的是,當(dāng)前,DBP平臺(tái)APP 技能的開發(fā)只對(duì)認(rèn)證的企業(yè)開發(fā)者開放。

2. APP技能創(chuàng)建

APP 技能目前作為Preview feature 開放,開發(fā)者在創(chuàng)建APP 技能的時(shí)候首先要閱讀并確認(rèn)《DBP應(yīng)用開發(fā)者協(xié)議》。

然后,填寫技能名稱等相關(guān)信息,提交后,等候Preivew 的審核。

在Preview 審核通過(guò)后,即表示APP 技能創(chuàng)建完成,可以對(duì)技能的意圖/槽位/詞典等進(jìn)行配置操作了,詳情參見(jiàn)《感知自然語(yǔ)言理解(NLU)》。

3. APP技能的開發(fā)

APP 技能開發(fā)包括兩部分:技能(bot) 服務(wù)的開發(fā)和 APP 客戶端的開發(fā)。

3.1 技能服務(wù)的開發(fā)

APP 技能的bot 服務(wù)開發(fā)與DBP 上其他自定義技能的開發(fā)類似,尤其與交互模型的建立,關(guān)于意圖、槽位、詞典、常用表達(dá)等參考《技能交互模型》。

目前,多數(shù)APP 技能都采用了DBP 平臺(tái)的代理服務(wù)AVC(App Voice Control),這樣無(wú)需獨(dú)立部署服務(wù)器即可使用語(yǔ)音交互的能力。簡(jiǎn)單地說(shuō), 設(shè)計(jì)并填寫完交互模型,就可以認(rèn)為是開發(fā)完成了。AVC 將語(yǔ)音交互的結(jié)果以結(jié)構(gòu)化數(shù)據(jù)返回給APP 客戶端,由客戶端完成對(duì)應(yīng)的操作。

對(duì)于復(fù)雜交互的APP 技能而言,同樣可以部署自己的物理bot,在自己的技能服務(wù)中實(shí)現(xiàn)更復(fù)雜的邏輯。

3.2 APP 客戶端的開發(fā)

針對(duì)語(yǔ)音交互的復(fù)雜程度,APP 客戶端的開發(fā)可以分為4個(gè)等級(jí):

  • L1: 只支持打開/退出的語(yǔ)音指令
  • L2: 支持有限的語(yǔ)音指令
  • L3: 支持多種意圖\槽位\詞典\常用表達(dá)的語(yǔ)音指令
  • L4: 支持用戶話術(shù)的內(nèi)容直達(dá)以及使用自己的物理bot處理更復(fù)雜的語(yǔ)音指令

從客戶端的維度看,可以分為集成Bot App SDK 的APP 技能和未集成Bot App SDK 的APP 技能。L1等級(jí)的APP技能沒(méi)有集成Bot APP SDK,L2/L3/L3等級(jí)的APP技能集成了Bot APP SDK。

3.2.1 L1 APP 技能的開發(fā)

在DBP 平臺(tái)的控制臺(tái),依次選擇 【創(chuàng)建技能】->【自定義技能】->【Android App 技能】, 填寫技能名稱和APP 包名,如圖所示:

一步完成,待開發(fā)者App自身完成開發(fā)后,即可進(jìn)入L1 APP 技能的調(diào)試階段。

3.2.2 L2 APP 技能的開發(fā)

L2 技能使用了本地自定義交互模型,意思就是用戶語(yǔ)音指令和意圖匹配關(guān)系,定義在本地代碼中。

參考示例代碼(https://github.com/dueros/AndroidBotSdkDemo)將Bot App SDK 集成到開發(fā)者的APP 技能中。

開發(fā)者只需要參考代碼組裝UIContextPayload對(duì)象,就可以完成本地自定義交互模型的構(gòu)建,示例代碼如下:

 
 
 
 
  1. // 1.創(chuàng)建UIContextPayload對(duì)象開始組裝 
  2.        UiContextPayload payload = new UiContextPayload(); 
  3.        // 2.定義用戶語(yǔ)音意圖集合(盡可能豐富的收集用戶表達(dá),常用同音異字表達(dá)都加上,比如“登錄”&“登陸”) 
  4.        String[] loginWords = {"開始","點(diǎn)擊開始","開始游戲","啟動(dòng)游戲","進(jìn)行游戲"}; 
  5.        // 3.可以定義支持的話術(shù) 
  6.        payload.addHyperUtterance(“sdkdemo://startGame”, Arrays.asList(loginWords), null, null); 
  7.        // 重復(fù)步驟2.3 可以添加多個(gè)交互組件。比如開始,退出,登錄,注冊(cè)...... 
  8.        BotSdk.getInstance().updateUiContext(payload); 

用戶的語(yǔ)音表達(dá),命中自定義交互組件中定義的具體話術(shù)后,云端匹配成功,并封裝url為ClickLink指令下發(fā)到設(shè)備端。設(shè)備端收到ClickLink指令,通過(guò)回調(diào)方法onClickLink,把匹配結(jié)果分發(fā)給App,示例代碼如下:

 
 
 
 
  1. /** 
  2.  * 云端返回的UIContext匹配結(jié)果 
  3.  * @param url 自定義交互描述中的url 
  4.  * @param paramMap 對(duì)于系統(tǒng)內(nèi)建類型,參數(shù)列表。參數(shù)就是從query中通過(guò)分詞取得的關(guān)鍵詞。這個(gè)參數(shù)配合type,params字段使用 
  5.  */ 
  6.     @Override 
  7.     public void onClickLink(String url, HashMap paramMap) { 
  8.         if ("sdkdemo://startGame".equals(url)) { 
  9.             //TODO 執(zhí)行開始游戲邏輯,比如是startGameBtn.performClick() 
  10.         } 
  11.     } 

開發(fā)者完成Android App開發(fā)后,即可進(jìn)入L1 APP 技能的調(diào)試階段。

3.2.3 L3 APP 技能的開發(fā)

L3技能使用了DBP 平臺(tái)的自定義交互模型,關(guān)于如何構(gòu)建交互模型,可以參考《技能交互模型》。

參考示例代碼(https://github.com/dueros/AndroidBotSdkDemo)將Bot App SDK 集成到開發(fā)者的APP 技能中。

在客戶端APP 中, 會(huì)通過(guò)Bot App SDK的 回調(diào)方法handleIntent在App中處理意圖的內(nèi)容,示例代碼如下:

 
 
 
 
  1. /*** 
  2.  * 云端意圖返回結(jié)果 
  3.  * @param intent 意圖內(nèi)容,參考{@link BotIntent} 包含意圖名稱和槽位參數(shù)結(jié)構(gòu)如下 
  4.  * {@link BotIntent#name} 意圖名稱,對(duì)應(yīng)于云端創(chuàng)建意圖的 意圖標(biāo)識(shí)名 
  5.  * {@link BotIntent#slots} 槽位列表 對(duì)應(yīng)于云端創(chuàng)建意圖的 槽位信息,數(shù)量(0~n) 
  6.  * 槽位信息結(jié)構(gòu)如下: 
  7.  * {@link com.baidu.duer.botsdk.BotIntent.Slot#name} 槽位名稱 
  8.  * {@link com.baidu.duer.botsdk.BotIntent.Slot#value} 槽位值 
  9.  * @param customData 自定義數(shù)據(jù),暫時(shí)不用 
  10.  */ 
  11.     @Override 
  12.     public void handleIntent(BotIntent intent, String customData) { 
  13.  
  14.         String intentResult = "\n指令名稱:%s\n槽位信息:%s"; 
  15.         Log.i("HandleIntentTAG", "intent result:" + intentResult); 
  16.         if ("queryWeather".equals(intent.name)) { 
  17.             String loactionOfWeather; 
  18.             if (intent.slots != null) { 
  19.                 for (BotIntent.Slot slot : intent.slots) { 
  20.                     // 遍歷槽位列表,找到需要的槽位值 
  21.                     if ("sys.city".equals(slot.name)) { 
  22.                         loactionOfWeather = slot.value; 
  23.                     } 
  24.                 } 
  25.             } 
  26.             // TODO 使用localtionOfWeather 參數(shù)查詢天氣 
  27.         } 

開發(fā)者完成Android App開發(fā)后,即可進(jìn)入L3 APP 技能的調(diào)試階段。

3.2.4 L4 APP 技能的開發(fā)

L4 的APP 技能還在內(nèi)測(cè)階段,需要聯(lián)系DBP 的產(chǎn)品經(jīng)理進(jìn)行完整的接入流程。

4. APP技能調(diào)試

目前,APP 技能還處于Preview feature 階段,因此只能在真機(jī)上進(jìn)行技能調(diào)試。

4.1 真機(jī)調(diào)試開發(fā)環(huán)境的安裝

創(chuàng)建好APP技能后,點(diǎn)擊【測(cè)試驗(yàn)證】 → 點(diǎn)擊【真機(jī)測(cè)試】→ 點(diǎn)擊【新增設(shè)備SN】,添加自己的小度設(shè)備SN。

開發(fā)者在配置好設(shè)備SN之后,可以對(duì)真機(jī)設(shè)備說(shuō),“小度小度,打開技能開發(fā)助手”,在技能的菜單中選擇【升級(jí)為開發(fā)版ROM】,根據(jù)語(yǔ)音提示進(jìn)行后續(xù)操作即可。

注意:如果以上操作都完成還是提示申請(qǐng)升級(jí)失敗,請(qǐng)確認(rèn)設(shè)備上的賬號(hào)和DBP平臺(tái)登錄的賬號(hào)是否一致,要確保使用相同的賬號(hào)。

4.2 真機(jī)調(diào)試密鑰的獲取和使用

在開發(fā)環(huán)境安裝成功之后, 需要下載開發(fā)環(huán)境的密鑰本地。

真機(jī)調(diào)試密鑰的使用方法如下:

1)替換到設(shè)備本地的 ~/.android 目錄中

2)執(zhí)行命令重啟adb:

adb kill-server

adb start-server

4.3 在真機(jī)上安裝目標(biāo)應(yīng)用

在真機(jī)的調(diào)試環(huán)境和調(diào)試密鑰都安裝成功后, 就可以使用 adb 命令安裝目標(biāo)APP了。

4.4 在技能Debug 模式下進(jìn)行調(diào)試

在保持開發(fā)者賬號(hào)和小度設(shè)備賬號(hào)一致的前提下,開啟技能調(diào)試模式的按鈕,對(duì)設(shè)備說(shuō),“開啟技能調(diào)試”。

在技能調(diào)試模式下, 開發(fā)者就可以使用語(yǔ)音交互來(lái)調(diào)試APP 技能了。

5. APP 技能審核

為了確保用戶體驗(yàn),APP 技能需要通過(guò)嚴(yán)格審核才能發(fā)布上線。

5.1 技能審核的一般規(guī)則

APP 技能申請(qǐng)上線的方式與一般的自定義技能類似,具體可以參考《技能發(fā)布》。

APP 技能與一般的自定義技能區(qū)別在于要明確客戶端APP 的版本號(hào)(形如a.b.c.d),并上傳APP 的客戶端包。

5.2 APP技能審核的特殊性

APP 技能的審核遵從DuerOS 技能審核的一般原則,包括技能元數(shù)據(jù)審核,功能性測(cè)試和技能交互信息測(cè)試等,具體可以參考《技能審核規(guī)范》。

5.3 開發(fā)者申請(qǐng)上線審核

APP 技能的審核還包括了客戶端的安全檢查和性能壓測(cè)等驗(yàn)證方式。

同時(shí),APP 還涉及權(quán)限申請(qǐng),例如camera、錄音、手勢(shì)等,在審核的時(shí)候會(huì)分別給予確認(rèn)。

5.4 開發(fā)者對(duì)審核結(jié)果的解讀

開發(fā)者在【發(fā)布管理】->【版本管理】中可以看到審核的結(jié)果,如果沒(méi)有通過(guò)審核的話,可以查看失敗的原因。

另外,開發(fā)者也可以在【個(gè)人中心】->【消息中心】中查看審核的相關(guān)信息。

6. APP 技能上線與升級(jí)

技能審核通過(guò)后,即處于上線狀態(tài),全網(wǎng)上線在2個(gè)工作日內(nèi)完成。

6.1 首次上線

APP 技能在首次上線的時(shí)候,需要上傳客戶端的APP包,并明確APP技能的客戶端版本(形如a.b.c.d), 并明確技能交互的模型的版本,這對(duì)APP技能的后續(xù)升級(jí)至關(guān)重要。

6.2 APP 技能升級(jí)

APP 技能升級(jí)一般包括3種情況:

  • 只升級(jí)APP 客戶端
  • 只升級(jí)技能交互模型
  • 既升級(jí)APP 客戶端又升級(jí)技能交互模型

6.2.1 只升級(jí)APP 客戶端

如果只是客戶端APP的升級(jí),需要重新上傳APP包,更新版本號(hào),即可申請(qǐng)上線審核。

6.2.2 只升級(jí)技能交互模型

如果只升級(jí)交互模型,無(wú)需重新上傳APP包,只需要更新交互模型的版本號(hào),即可申請(qǐng)上線審核。

6.2.3 既升級(jí)APP 客戶端又升級(jí)技能交互模型

對(duì)于升級(jí)APP 客戶端又升級(jí)技能交互模型的情形,需要對(duì)APP客戶端的版本號(hào)和交互模型的版本號(hào),同時(shí)上傳更新的APP包,形同初次上線。

小結(jié)

綜上所述,App 技能的接入與開發(fā)流程同樣分為6個(gè)階段,開發(fā)者認(rèn)證->技能創(chuàng)建->代碼開發(fā)->技能調(diào)試->技能審核->上線商用。如果開發(fā)者的Android App 自身沒(méi)有什么問(wèn)題的話(例如,安全問(wèn)題,內(nèi)測(cè)泄露等等),一般可以在3~5天內(nèi)完成App技能的上線,進(jìn)而使開發(fā)者的App迅速地使用DuerOS 的多模態(tài)交互能力, 在數(shù)千萬(wàn)DuerOS 設(shè)備上為廣大用戶帶來(lái)更豐富的用戶體驗(yàn)。

【參考資料】

https://dueros.baidu.com/dbp

https://dueros.baidu.com/didp/doc/dueros-bot-platform/dbp-apk-skill/appskilldevelopment_markdown


分享題目:一個(gè)安卓App,如何成為DuerOS上的技能應(yīng)用呢?
鏈接URL:http://www.dlmjj.cn/article/ccedopj.html