Как использовать клиент Twilio в Angular 2?

Я создаю приложение, в котором мне нужно реализовать функцию Click To Call. Поэтому для связи я использую клиент Twilio. Я попробовал этот пример.

Теперь все, что мне нужно, мне нужно реализовать то же самое в моем приложении Angular 2. Как я могу импортировать Twilio Client в мой Typescript и как я могу его использовать?

Я пытаюсь импортировать Twilio в свой компонент, например

import * as Twilio from 'twilio'

но это неправильный метод для его импорта.


person The Hungry Dictator    schedule 08.11.2016    source источник


Ответы (2)


Евангелист-разработчик Twilio здесь. Прямо сейчас у нас нет привязок TypeScript, поэтому такое объединение не сработает. Я работаю над некоторыми привязками, но тем временем я бы посоветовал вам включить библиотеку, как это сделано в демонстрационном приложении, с помощью тега сценария. Для этого вы можете использовать наш CDN Twilio:

  <script type="text/javascript" src="//media.twiliocdn.com/sdk/js/client/v1.3/twilio.min.js"></script>

После этого вы должны сообщить об этом TypeScript. Для этого вам в настоящее время нужно использовать declare const. К сожалению, это не даст вам никакой аккуратности проверки типов TypeScript, пока не будут выполнены привязки, но, по крайней мере, позволит вам ее использовать. Просто добавьте следующую строку в файл, где вы планируете использовать код Twilio:

declare const Twilio: any;

Надеюсь, это поможет.

Добрый день, Доминик

person dkundel    schedule 08.11.2016
comment
Одна вещь, которую я ищу, - это функция вызова приложения для приложения. Я не получаю никакого решения для этого. - person The Hungry Dictator; 09.11.2016
comment
Эй, Ронак! Ознакомьтесь с кратким руководством по работе с клиентом Twilio. Это работает как для звонков от клиента на реальные телефонные номера, так и для других клиентов. - person dkundel; 12.11.2016
comment
Вы можете найти код здесь: github.com/TwilioDevEd/client-quickstart-node . Частью импорта являются следующие строки на стороне сервера: github.com/TwilioDevEd/client-quickstart-node/blob/master/ - person dkundel; 12.11.2016
comment
Спасибо за ответ. - person The Hungry Dictator; 15.11.2016
comment
Есть новости о машинописной версии? Спасибо! - person Eusthace; 19.05.2017
comment
@Eusthace На данный момент нет. Ничего об этом не слышал. - person The Hungry Dictator; 17.08.2017
comment
Не могли бы вы рассказать мне, как мы можем использовать постоянную переменную Twilio, которую я объявил в своем компоненте в приложении angular2? - person Veena K. Suresh; 27.10.2017
comment
У меня такая же проблема, есть какие новости по машинописной версии? - person Vicruz; 22.11.2017
comment
@dunkendel, я сделал то же, что и вы, но всегда получаю неопределенное объявление const Twilio: any; @Injectable() экспортный класс ChatService { private chatClient: any; подписанные каналы: любые; конструктор () { console.log(Twilio); console.log(Twilio.Chat); this.chatClient = Twilio.Chat.Client; } - person Nathanphan; 22.01.2018
comment
@dkundel Есть ли какие-либо обновления по Twilio и привязке машинописного текста. Могу ли я теперь импортировать twilio в свой машинописный текст? Кстати, я использую Angular5 - person sayed saad; 18.02.2018
comment
Привет, @sayedsaad. Да, Twilio Chat уже написан на TypeScript, так что вы сможете просто его использовать. Вот пример приложения, которое его использует: github.com/angular-berlin/ngry-chat/blob/master/src/app/core/ - person dkundel; 11.04.2018
comment
@dkundel Привет, есть ли обновления по Twilio Voice и привязке машинописного текста? Спасибо. - person morbilli; 31.07.2020

Теперь при установке клиентской библиотеки Twilio из npm (https://www.npmjs.com/package/twilio-chat), у него есть соответствующие определения типов, поэтому вы можете просто написать import { Client, User } from "twilio-chat";, затем объявить Clientпеременную в своем компоненте twilioClient: Client и создать ее:

Client.create(token).then(client => {
        this.twilioClient = client
});

К сожалению, нет d.ts для twilio-common, поэтому если вы хотите использовать что-то из него, например AccessManager, вам нужно сделать это так, со всеми переменными, имеющими тип any:

let AccessManager = require('twilio-common').AccessManager;
let accessManager = new AccessManager(token);

РЕДАКТИРОВАТЬ: к сожалению, по какой-то причине начали получать ответы на отсутствующие модули d.ts из «twilio-chat» в зависимых файлах, поэтому похоже, что эта библиотека еще не готова для использования с TS :(.

person MyUserName    schedule 21.02.2018
comment
есть ли прогресс в этом? - person Dave; 09.01.2020