You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
| Mid call control | Turn your video on/off | ✔️ |
44
49
|| Mute/Unmute mic | ✔️ |
45
50
|| Switch between cameras | ✔️ |
@@ -168,6 +173,10 @@ When Teams external users leave the meeting, or the meeting ends, they can no lo
168
173
169
174
*Azure Communication Services provides developers tools to integrate Microsoft Teams Data Loss Prevention that is compatible with Microsoft Teams. For more information, go to [how to implement Data Loss Prevention (DLP)](../../../how-tos/chat-sdk/data-loss-prevention.md)
170
175
176
+
**Inline image support is currently in public preview and is available in the Chat SDK for JavaScript only. Preview APIs and SDKs are provided without a service-level agreement. We recommend that you don't use them for production workloads. Some features might not be supported, or they might have constrained capabilities. For more information, review [Supplemental Terms of Use for Microsoft Azure Previews.](https://azure.microsoft.com/support/legal/preview-supplemental-terms/)
177
+
178
+
**If the Teams external user sends a message with images uploaded via "Upload from this device" menu or via drag-and-drop (such as dragging images directly to the send box) in the Teams, then these scenarios would be covered under the file sharing capability, which is currently not supported.
179
+
171
180
## Server capabilities
172
181
173
182
The following table shows supported server-side capabilities available in Azure Communication Services:
Copy file name to clipboardExpand all lines: articles/communication-services/quickstarts/chat/includes/meeting-interop-android.md
+13-12Lines changed: 13 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,11 +22,11 @@ You must be a member of the owning organization of both entities to use this fea
22
22
23
23
## Joining the meeting chat
24
24
25
-
Once Teams interoperability is enabled, a Communication Services user can join the Teams call as an external user using the Calling SDK. Joining the call will add them as a participant to the meeting chat as well, where they can send and receive messages with other users on the call. The user will not have access to chat messages that were sent before they joined the call. To join the meeting and start chatting, you can follow the next steps.
25
+
Once Teams interoperability is enabled, a Communication Services user can join the Teams call as an external user using the Calling SDK. Joining the call adds them as a participant to the meeting chat as well, where they can send and receive messages with other users on the call. The user will not have access to chat messages that were sent before they joined the call. To join the meeting and start chatting, you can follow the next steps.
26
26
27
27
## Add Chat to the Teams calling app
28
28
29
-
In your module level build.gradle add the dependency on the chat sdk.
29
+
In your module level `build.gradle`, add the dependency on the chat sdk.
30
30
31
31
> [!IMPORTANT]
32
32
> Known issue: When using Android Chat and Calling SDK together in the same application, the Chat SDK's real-time notifications feature won't work. You'll get a dependency resolution issue. While we're working on a solution, you can turn off the real-time notifications feature by adding the following exclusions to the Chat SDK dependency in the app's `build.gradle` file:
@@ -181,7 +181,7 @@ Replace the code in activity_main.xml with the following snippet. It adds inputs
181
181
182
182
### Import packages and define state variables
183
183
184
-
To the content of `MainActivity.java`, add the following additional imports:
184
+
To the content of `MainActivity.java`, add the following imports:
185
185
186
186
```
187
187
import android.graphics.Typeface;
@@ -254,7 +254,7 @@ Update the end of the `MainActivity.joinTeamsMeeting()` method with the code bel
254
254
255
255
### Enable sending messages
256
256
257
-
Add the `sendMessage()` method to `MainActivity`. It will use the `ChatThreadClient` to send messages on behalf of the user.
257
+
Add the `sendMessage()` method to `MainActivity`. It uses the `ChatThreadClient` to send messages on behalf of the user.
258
258
259
259
```
260
260
private void sendMessage() {
@@ -273,15 +273,15 @@ Add the `sendMessage()` method to `MainActivity`. It will use the `ChatThreadCli
273
273
### Enable polling for messages and rendering them in the application
274
274
275
275
> [!IMPORTANT]
276
-
> Known issue: Since the Chat SDK's real-time notifications feature does not work together with the Calling SDK's, we will have to poll the `GetMessages` API at predefined intervals. In our sample we will use 3second intervals.
276
+
> Known issue: Since the Chat SDK's real-time notifications feature does not work together with the Calling SDK's, we will have to poll the `GetMessages` API at predefined intervals. In our sample we will use 3-second intervals.
277
277
278
278
We can obtain the following data from the message list returned by the `GetMessages` API:
279
279
- The `text` and `html` messages on the thread since joining
280
280
- Changes to the thread roster
281
281
- Updates to the thread topic
282
282
283
283
284
-
To the `MainActivity` class, add a handler and a runnable task that will be run at 3second intervals:
284
+
To the `MainActivity` class, add a handler and a runnable task that will be run at 3-second intervals:
285
285
286
286
```
287
287
private Handler handler = new Handler();
@@ -301,7 +301,7 @@ To the `MainActivity` class, add a handler and a runnable task that will be run
301
301
302
302
Note that the task has already been started at the end of the `MainActivity.joinTeamsMeeting()` method updated in the initialization step.
303
303
304
-
Finally, we will add the method for querying all accessible messages on the thread, parsing them by message type and displaying the `html` and `text` ones:
304
+
Finally, we add the method for querying all accessible messages on the thread, parsing them by message type and displaying the `html` and `text` ones:
@@ -381,16 +381,16 @@ Finally, we will add the method for querying all accessible messages on the thre
381
381
}
382
382
```
383
383
384
-
Display names of the chat thread participants are not set by the Teams client. The names will be returned as null in the API for listing participants, in the `participantsAdded` event and in the `participantsRemoved` event. The display names of the chat participants can be retrieved from the `remoteParticipants` field of the `call` object.
384
+
Display names of the chat thread participants are not set by the Teams client. The names are returned as null in the API for listing participants, in the `participantsAdded` event and in the `participantsRemoved` event. The display names of the chat participants can be retrieved from the `remoteParticipants` field of the `call` object.
385
385
386
386
## Get a Teams meeting chat thread for a Communication Services user
387
387
388
388
The Teams meeting details can be retrieved using Graph APIs, detailed in [Graph documentation](/graph/api/onlinemeeting-createorget?tabs=http&view=graph-rest-beta&preserve-view=true). The Communication Services Calling SDK accepts a full Teams meeting link or a meeting ID. They are returned as part of the `onlineMeeting` resource, accessible under the [`joinWebUrl` property](/graph/api/resources/onlinemeeting?view=graph-rest-beta&preserve-view=true)
389
389
390
-
With the [Graph APIs](/graph/api/onlinemeeting-createorget?tabs=http&view=graph-rest-beta&preserve-view=true), you can also obtain the `threadID`. The response will have a `chatInfo` object that contains the `threadID`.
390
+
With the [Graph APIs](/graph/api/onlinemeeting-createorget?tabs=http&view=graph-rest-beta&preserve-view=true), you can also obtain the `threadID`. The response has a `chatInfo` object that contains the `threadID`.
391
391
392
392
You can also get the required meeting information and thread ID from the **Join Meeting** URL in the Teams meeting invite itself.
393
-
A Teams meeting link looks like this: `https://teams.microsoft.com/l/meetup-join/meeting_chat_thread_id/1606337455313?context=some_context_here`. The `threadId`will be where `meeting_chat_thread_id` is in the link. Ensure that the `meeting_chat_thread_id` is unescaped before use. It should be in the following format: `19:meeting_ZWRhZDY4ZGUtYmRlNS00OWZaLTlkZTgtZWRiYjIxOWI2NTQ4@thread.v2`
393
+
A Teams meeting link looks like this: `https://teams.microsoft.com/l/meetup-join/meeting_chat_thread_id/1606337455313?context=some_context_here`. The `threadId`is where `meeting_chat_thread_id` is in the link. Ensure that the `meeting_chat_thread_id` is unescaped before use. It should be in the following format: `19:meeting_ZWRhZDY4ZGUtYmRlNS00OWZaLTlkZTgtZWRiYjIxOWI2NTQ4@thread.v2`
394
394
395
395
396
396
## Run the code
@@ -399,9 +399,10 @@ The app can now be launched using the "Run App" button on the toolbar (Shift+F10
399
399
400
400
To join the Teams meeting and chat, enter your Team's meeting link and the thread ID in the UI.
401
401
402
-
After you join the Team's meeting you will need to admit the user to the meeting in your Team's client. Once the user is admitted and has joined the chat you will be able to send and receive messages.
402
+
After joining the Team's meeting, you need to admit the user to the meeting in your Team's client. Once the user is admitted and has joined the chat, you are able to send and receive messages.
403
403
404
404
:::image type="content" source="../join-teams-meeting-chat-quickstart-android.png" alt-text="Screenshot of the completed Android Application.":::
405
405
406
406
> [!NOTE]
407
-
> Currently only sending, receiving, and editing messages is supported for interoperability scenarios with Teams. Other features like typing indicators and Communication Services users adding or removing other users from the Teams meeting are not yet supported.
407
+
> Certain features are currently not supported for interoperability scenarios with Teams. Learn more about the supported features, please see [Teams meeting capabilities for Teams external users](../../../concepts/interop/guest/capabilities.md)
0 commit comments