Android

Tester votre code

À ce stade, votre MainActivity.java devrait ressembler à ceci (avec quelques ajustements) :

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

Dans votre code complété, vous devriez avoir des valeurs codées en dur pour remplacer YOUR_APP_ID, YOUR_SESSION_ID et YOUR_TOKEN dans le VonageVideoSDKConfig Si vous ne l'avez pas encore fait, consultez la rubrique Mise en place de l'authentification ci-dessus.

  1. Créez et exécutez l'application dans Android Studio.
  2. Saisissez un texte dans le champ de texte et envoyez-le.
  3. Vous devriez voir le message ajouté à l'historique des messages.

Ensuite, nous pouvons tester ce qui se passe si quelqu'un d'autre envoie un message. Nous pouvons simuler cela en exécutant à nouveau l'application sur un émulateur/appareil différent :

  1. Créez et exécutez l'application sur un autre émulateur.
  2. Saisissez un texte dans le champ de texte et envoyez-le sur les deux émulateurs.
  3. Vous devriez voir les deux messages ajoutés à l'historique des messages.

Conseils de dépannage : Si vous ne pouvez pas vous connecter à la session, vérifiez les erreurs dans la fenêtre Logcat d'Android Studio. Le problème le plus probable est que votre clé API, votre ID de session ou votre jeton n'est pas configuré correctement. Puisque vous avez codé en dur vos informations d'identification, il est également possible que votre jeton ait expiré. Si vous obtenez une erreur de construction liée à la version de compilation, vous pouvez la modifier au niveau de l'application build.grade fichier.

Chat textuel de base

Suivez ce tutoriel pour créer un chat textuel de base à partir de zéro en utilisant l'API Video de Vonage. C'est la façon la plus rapide de construire une preuve de concept pour cette fonctionnalité sur la plateforme vidéo.

Étapes
1
Vue d'ensemble
2
Avant de commencer
3
Configurer une application vidéo de Vonage
4
Création du projet
5
Configuration de l'authentification
6
Connexion à la session
7
Envoi d'un signal
8
Réception d'un signal
9
Tester votre code
10
Conclusion