0

Twilio를 사용하여 긴급 통화를 허용하도록 설계된 앱을 개발 중입니다. 코드는 https://github.com/twilio/twilio-client-quickstart-android에서 파생되었습니다.Twilio clientDevice를 Android에 메모리에 저장하여 즉시 전화를 걸 수 있습니다.

GitHub 코드와 다른 모든 작업은 Activity 외부에서 Twilio 초기화를 수행하는 별도의 AlertManager 클래스를 만드는 것입니다.

언제든지 사용자는 앱을 열고 Twilio를 사용하여 (가능한 한 빨리) 긴급 통화를 할 수 있어야합니다.

제 문제는 Twilio가 내 서버에서 "capabilityToken"을 요청하여 clientDevice을 생성해야한다는 것입니다. 괜찮지 만 토큰은 한 시간 후에 만료됩니다. 외부 인터넷 연결, 어떻게 그렇게 내 응용 프로그램은 항상 (유효한 토큰)을 clientDevice는 사용자가 비상 전화를 만들기 위해 Activity 들어갈 때, 어딘가에 메모리에서 사용할 객체가 할 수 항상이 가정

앱에서 새로운 토큰을 요청하거나 새로운 clientDevice을 만들지 않고 즉시 처리 할 수 ​​있습니까?

비행기 모드를 사용한 빠른 테스트에서 유효한 토큰을 하드 코딩하면 Twilio SDK는 토큰을 가지고있는 한 clientDevice을 만들 수 있습니다. 즉, 토큰을 검색하는 데 하나의 네트워크 요청 만 필요합니다. if 다른 하나는 clientDevice을 만드는 데 필요합니다.

Service을 토큰을 가져 오는 데 사용할 수는 있지만, 내 clientDevice을 어디에 저장할 수 있는지 잘 모르겠습니다. 앱이 항상 실행되는 것은 아니기 때문에 Activity 안에있을 수 없습니다. 내 자신의 Application 클래스를 만드는 것에 대해 궁금해했지만, 안드로이드가 이해할 수 있고, 그때 내 clientDevice이 메모리에서 제거 될 필요가있을 때, 그 클래스의 새로운 인스턴스를 생성 할 것입니다. 아니면 Service에 저장 한 다음 서비스에 브로드 캐스트를 보내 전화를 걸 수 있습니까?

누군가가 아이디어를 갖고 있다면 이해할 수 있기를 바랍니다.

답변

0

여기에 Twilio 개발자 전도사가 있습니다.

토큰 만료에 대한 몇 가지 아이디어가 있습니다.

처음으로 토큰 만료 시간을 최대 24 시간으로 설정할 수 있습니다.

두 번째로 액세스 토큰을 사용하는 Twilio's AccessManager library을 사용하면 토큰이 만료되거나 만료 될 때 이벤트를들을 수 있습니다.

응용 프로그램이 백그라운드에있는 동안 라이브 개체를 유지하는 것에 대해서는 잘 모르지만 두렵습니다. 바라건대 다른 사람이 여기 당신을 도울 수 있기를 바랍니다.