0

Twilioを使用して緊急電話を許可するように設計されたアプリを開発しています - 私のコードはhttps://github.com/twilio/twilio-client-quickstart-androidから派生しています。Twilio clientDeviceをAndroid上のメモリに保存しておくと、すぐに電話をかけることができます

私がGitHubコードと異なるのは、別のAlertManagerクラスを作成して、Twilioの初期化をActivityの外で行うクラスです。

いつでもユーザーはアプリを開いてTwilioを使用して緊急電話をかける(できるだけ早く)ボタンをタップする必要があります。

私の問題は、私のサーバから "capabilityToken"を要求してTwilioがclientDeviceを作成する必要があるということです。それは問題ありませんが、トークンは1時間後に失効します。

いつも外部のインターネット接続があると仮定すると、私のアプリケーションにはclientDevice(有効なトークンを持つ)オブジェクトがどこかのメモリで利用できるようにすることができます。つまり、ユーザーがActivityを入力して緊急呼び出しアプリは新しいトークンを要求したり、新しいclientDeviceを作成しなくてもすぐに処理できますか?

飛行機モードを使用したクイックテストと有効なトークンをハードコーディングすると、Twilio SDKはトークンを持っている限り、clientDeviceを作成できます。つまり、トークンを取得するのに1つのネットワーク要求clientDeviceを作成するにはもう1つ必要です。

Serviceを使用してトークンをフェッチすることができますが、どこに私がclientDeviceを格納できるかは完全にはわかりません。アプリが常に実行されているわけではないため、Activityの中には存在できません。私はApplicationクラスを作成することに不思議を覚えましたが、Androidを理解することができ、そのクラスの新しいインスタンスを作成して、clientDeviceがメモリから削除されることになります。または、それをServiceに保存して、サービスに何らかの種類のブロードキャストを送信して電話をかけることは可能ですか?

私はそれが何らかの意味を持ち、誰かが何らかのアイデアを持っていればそれは大いに感謝してくれることを願っています。

答えて

0

ここではTwilioの開発者のエバンジェリストです。

私は、トークンの有効期限に関する2つのアイデアを持っています。

最初にトークンの有効期限を最大24時間に設定できます。

第2に、アクセストークンを受け取るTwilio's AccessManager libraryを使用して、トークンの有効期限が近づいたり期限切れになったときにイベントを聴くことができます。

私は恐れていますが、アプリケーションがバックグラウンドにある間にライブオブジェクトを保持することについてはわかりません。うまくいけば、他の誰かがあなたをここで助けることができます

関連する問題