Dialogflow의 Unity SDK는 iOS에서 작동하지 않습니다.

9140 단어 iOSdialogflowUnity

소개



제목대로입니다. Assetstore 리뷰에도 적혀 있지만 iOS에서는 작동하지 않습니다. Editor라면 괜찮습니다만. 스레드 관계의 오류처럼 보이지만 어떻게 고칠 수 있는지 잘 모르겠습니다.

어떻게 할까



REST API 을 스스로 두드리는 것이 좋을 것 같습니다. 자신은 Best HTTP(Pro edition) 을 사용하고 있습니다. 다른 자산도 시도했지만 가장 스트레스없이 사용할 수있는 것은 이것이었습니다. iOS에서도 안정적으로 작동합니다.



샘플 코드는 이런 느낌입니다.

TestBestHTTP
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using BestHTTP;

public class TestBestHTTP : MonoBehaviour {

    public void OnClick(){
        HTTPRequest request = new HTTPRequest(new System.Uri("https://api.dialogflow.com/v1/query?v=20150910&lang=ja&query=声調の勉強&sessionId=12345&timezone=Asia/Tokyo"), OnRequestFinished); 
        request.AddHeader("Authorization", "Bearer c***f");
        request.Send();    
    }

    void OnRequestFinished(HTTPRequest request, HTTPResponse response)
    {
        Debug.Log("Request Finished! Text received: " + response.DataAsText);
    }
}

Header에 "Authorization"으로 "Bearer Client access token"이 필요합니다. Client access token은 Dialogflow의 에이전트 설정 화면에서 가져옵니다.



그런 다음 URL에 v = ...로 버전을 넣어야합니다. 이것에 대해서는 여기를 참조. 언어(lang)와 sessionID도 지정합니다.

그러면 JSON 형식으로 응답이 반환됩니다.
{
  "id": "4*****8",
  "timestamp": "2017-11-15T09:42:31.482Z",
  "lang": "ja",
  "result": {
    "source": "agent",
    "resolvedQuery": "声調の勉強",
    "action": "",
    "actionIncomplete": false,
    "parameters": {
      "Tones": "声調"
    },
    "contexts": [],
    "metadata": {
      "intentId": "6*******e",
      "webhookUsed": "false",
      "webhookForSlotFillingUsed": "false",
      "intentName": "L*****h"
    },
    "fulfillment": {
      "speech": "<speak> <audio src=\"h******** </speak>",
      "messages": [
        {
          "type": 0,
          "speech": "<speak>\n<audio src=\"h*****</speak>"
        }
      ]
    },
    "score": 1.0
  },
  "status": {
    "code": 200,
    "errorType": "success",
    "webhookTimedOut": false
  },
  "sessionId": "12345"
}

하나하나의 의미에 대해서는 여기을 참조.

끝에



공식 SDK로 iOS로 해 주었으면 합니다만, 개발자 님의 액티비티가 상당히 낮아서 희망입니다. 스스로 어떻게든 하는 것이 좋을 것 같습니다.

좋은 웹페이지 즐겨찾기