Java
コードのテスト
この時点で MainActivity.java ファイルは次のようになるはずだ(少し調整して):
public class MainActivity extends AppCompatActivity {
private static final String TAG = MainActivity.class.getSimpleName();
private Session session;
private SignalMessageAdapter messageHistory;
private EditText messageEditTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
messageEditTextView = findViewById(R.id.message_edit_text);
ListView messageHistoryListView = findViewById(R.id.message_history_list_view);
// Attach data source to message history
messageHistory = new SignalMessageAdapter(this);
messageHistoryListView.setAdapter(messageHistory);
messageEditTextView.setEnabled(false);
session = new Session.Builder(this, VonageVideoSDKConfig.APP_ID, VonageVideoSDKConfig.SESSION_ID).build();
session.setSessionListener(sessionListener);
session.setSignalListener(signalListener);
session.connect(VonageVideoSDKConfig.TOKEN);
messageEditTextView.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_DONE) {
InputMethodManager inputMethodManager = (InputMethodManager) v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(v.getWindowToken(), 0);
sendMessage();
return true;
}
return false;
}
});
}
private void sendMessage() {
Log.d(TAG, "Send Message");
String data = messageEditTextView.getText().toString();
session.sendSignal("msg", data);
SignalMessage message = new SignalMessage(data);
messageHistory.add(message);
messageEditTextView.setText("");
}
private final Session.SessionListener sessionListener = new Session.SessionListener() {
@Override
public void onConnected(Session session) {
messageEditTextView.setEnabled(true);
}
@Override
public void onDisconnected(Session session) {
messageEditTextView.setEnabled(false);
}
@Override
public void onError(Session session, OpentokError opentokError) {
Log.i(TAG,"Session error: " + opentokError.getMessage());
}
@Override
public void onStreamReceived(Session session, Stream stream) {}
@Override
public void onStreamDropped(Session session, Stream stream) {}
};
private final Session.SignalListener signalListener = new Session.SignalListener() {
@Override
public void onSignalReceived(Session session, String type, String data, Connection connection) {
if (!connection.equals(session.getConnection()) && (type != null && type.equals("msg"))) {
SignalMessage message = new SignalMessage(data, true);
messageHistory.add(message);
}
}
};
}
完成したコードでは、以下の値をハードコードで置き換える必要があります。 YOUR_APP_ID, YOUR_SESSION_ID そして YOUR_TOKEN での VonageVideoSDKConfig クラスをご覧ください。 認証の設定 以上。
- Android Studioでアプリをビルドし、実行する。
- テキストフィールドにテキストを入力して送信する。
- メッセージがメッセージ履歴に追加されるのが見えるはずです。
次に、他の誰かがメッセージを送信した場合にどのように見えるかをテストします。別のエミュレーター/デバイスでアプリをもう一度実行することで、それをシミュレートできる:
- 別のエミュレーターでアプリをビルドして実行する。
- テキストフィールドにテキストを入力し、両方のエミュレータで送信する。
- メッセージ履歴に両方のメッセージが追加されるのが見えるはずだ。
トラブルシューティングのヒント セッションに接続できない場合は、Android StudioのLogcatウィンドウにエラーがないか確認してください。最も考えられる問題は、APIキー、セッションID、トークンが正しく設定されていないことです。認証情報をハードコーディングしているため、トークンの有効期限が切れている可能性もあります。コンパイル・バージョンに関するビルド・エラーが発生した場合は、アプリ・レベルで変更することができます。 build.grade ファイル。
基本的なテキストチャット
このチュートリアルに従って、Vonage Video API を使用して基本的なテキストチャットをゼロから構築してください。これは、ビデオプラットフォーム上でこの機能の概念実証を構築する最も簡単な方法です。
手順
1
概要2
始める前に3
Vonageビデオアプリケーションの設定4
プロジェクトの作成5
認証の設定6
セッションへの接続7
シグナルを送る8
信号の受信9
コードのテスト10
結論