Проблема в совершении телефонного звонка в приложении Google Assistant - PullRequest
0 голосов
/ 09 марта 2020

Я пытаюсь внедрить кнопку в основную c карту, я получил ошибку

Версия API 2: Не удалось проанализировать JSON строку ответа с ошибкой «INVALID_ARGUMENT»: «(Ожидаемые_инвенты [0 ] .input_prompt.rich_initial_prompt.items [1] .basic_card.buttons [0] .open_url_action) версии: не удается найти поле. " Код состояния HTTP: 200.

 conv.ask(new BasicCard({
    text: `This is a basic card.  Text in a basic card can include "quotes" and`,
    subtitle: 'This is a subtitle',

    buttons: [
     {
      "title": "Call",
      "openUrlAction": {
          "url": "tel:+91123456789",
          "androidApp": {
              "packageName": "com.android.phone"
          },
          "versions": []
       }
    },
   ],
    "formattedText": "Some text",
    image: new Image({
      url: 'https://storage.googleapis.com/actionsresources/logo_assistant_2x_64dp.png',
      alt: 'Image alternate text',
    }),
    "title": "Card Title"
  }));

, и я попробовал все способы добавить еще один пустой объект в массив кнопок также с той же ошибкой:

buttons: [
     {
      "title": "Call",
      "openUrlAction": {
          "url": "tel:+91123456789",
          "androidApp": {
              "packageName": "com.android.phone"
          },
          "versions": []
       }
    },
  {}
   ],

Пробный код ниже получил ошибку:

Ожидаемые_входы [0] .input_prompt.rich_initial_prompt.items [1] .basic_card.buttons [0] .open_url_action: протокол должен быть http или https.

buttons: new Button({
      "title": "button text",
      'url': "tel:+91123456789",
      "androidApp": {
        "packageName": "com.android.phone"
      }
})

получил ответ в консоли действий симулятора:

"buttons": [
                  {
                    "title": "button text",
                    "openUrlAction": {
                      "url": "tel:+919177723773"
                    }
                  }
           ]

Ответы [ 2 ]

1 голос
/ 09 марта 2020

Невозможно открыть URL-адрес tel: через Ассистент.

Как отмечается ошибка:

Ожидаемые_входы [0] .input_prompt.rich_initial_prompt.items [1] .basic_card .buttons [0] .open_url_action: протокол должен быть http или https.

Имейте в виду, что Assistant работает на устройствах, которые не поддерживают tel: URL, даже если они поддерживают https: URL-адрес.

1 голос
/ 09 марта 2020

Используемое вами свойство URL включает номер телефона. Свойство link может использовать только ссылки на веб-страницу . Это также возвращается в сообщении об ошибке, которое вы получаете:

" протокол должен быть http или https. ".

Так что если вы хотите исправить ошибку , вам нужно включить ссылку http или https в кнопку вместо номера телефона.

Что касается вызова номера из приложения Google Assistant, я не уверен, поддерживается ли эта функция в настоящее время.

...