Android

Cómo probar tu código

Llegados a este punto, tu MainActivity.java debería tener este aspecto (con algunos ajustes):

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);
            }
        }
    };
}

En el código completado, debería haber valores codificados para sustituir a YOUR_APP_ID, YOUR_SESSION_ID y YOUR_TOKEN en el VonageVideoSDKConfig clase — si aún no lo has hecho, consulta Configuración de la autenticación arriba.

  1. Cree y ejecute la aplicación en Android Studio.
  2. Introduce un texto en el campo de texto y envíalo.
  3. Deberías ver cómo se añade el mensaje al historial de mensajes.

A continuación, podemos comprobar cómo se ve si otra persona envía un mensaje. Podemos simularlo ejecutando de nuevo la aplicación en otro emulador o dispositivo:

  1. Crea y ejecuta la aplicación en otro emulador.
  2. Escribe algo en el campo de texto y envíalo a ambos emuladores.
  3. Debería ver que ambos mensajes se añaden al historial de mensajes.

Consejos para solucionar problemas: Si no puede conectarse a la sesión, compruebe si hay errores en la ventana Logcat de Android Studio. Lo más probable es que su clave API, ID de sesión o token no estén configurados correctamente. Dado que has codificado tus credenciales, también es posible que tu token haya caducado. Si obtienes un error de compilación relacionado con la versión de compilación, puedes cambiarla en el nivel de la aplicación build.grade archivo.

Chat de texto básico

Sigue este tutorial para crear un chat de texto básico desde cero usando la Video API de Vonage. Es la forma más rápida de crear una prueba de concepto para esta funcionalidad en la plataforma de video.

Pasos
1
Visión general
2
Antes de empezar
3
Configurar una aplicación de video de Vonage
4
Creación del proyecto
5
Configuración de la autenticación
6
Conexión a la sesión
7
Enviar una señal
8
Recepción de una señal
9
Cómo probar tu código
10
Conclusión