Overview:
Before I go too deep into the documentation, I wanted to ask a few basic questions.
My goal of all this is to customize the default message notifications, which appear in the lower right hand corner of the screen, specifically when chatting in MS Teams. Note I am interested only in Windows, not mobile.
Use case:
I send the GitHub Bot a bogus chat message, just to show a notification coming in for demonstration purposes:
This notification will disappear after some predetermined amount of time (around ~15s, at least on my machine)
Question(s):
Would it be possible to create a message extension of sorts, which wraps the default messaging behavior?
For example, I would want to:
Let the notification sit in the lower right hand corner until acted
upon, rather than have it disappear. Or, is this the behavior of the
OS, rather than Teams?
Change the color, and format of the message. Effectively, intercept
the message, and display it in different format, font, color, icon
etc.
I only see notifications in the lower right hand corner, if and only
if Teams is minimized, or out of view. Would it be possible, if
intercepted, to display the notification, regardless if Teams has
focus, and is in the foreground. For example, if I am in Teams, and
a notification appears (say someone sends me a message), the ‘Chat’
icon in the upper left hand corner will display an alert. I would
like to also have the notification appear in the lower right hand
corner of the screen.
Lastly, say for example Teams is in the foreground, and you receive
a notification. By default, the Teams icon in the toolbar will
flicker and update the badge number on the icon. Is there any way
for a developer to update the icon, or possibly draw additional
attention to the icon, aside from the red badge.
Note that these are all things I would like to do from a personal standpoint. The odds of another developer wanting these sort of changes are slim to none, which is why I would like to build something myself, opposed to a file feature request.
Of course, anything is possible, but I don’t want to hack something together that will break in a week. I’d rather see if I can build upon whatever API’s are out there to do this sort of thing.
Note that I'm not looking for a solution, but rather a brief yes or no for the questions above, and possibly a pointer to specific documentation that could aid in my investigation.
Thanks!
Just to circle back on this. I spoke to one of their support devs, who was extremely helpful.
I've summarized his response below for reference.
Note that the list below corresponds to the order of questions asked above:
It behaves as per OS. On Windows, notifications will show in the bottom right corner of your screen, then move to the
Action Center. On Mac OS, these show up in the top right corner of
your screen, then move to the Control Center.
You could change the notification text if you are sending it from a user app. But not all notification are shown from Teams. Font, color
and icon are displayed as per Teams theme and cannot be modified.
This is currently not possible. A Custom App inside a team has limited access (scope). For example if you have installed an app inside
a teams channel, then it has limited scope to send or receive
operations only inside that channel.
This is also not possible.
So in summary, in relation to the original posted question, it is not possible at this time to customize the default Message behavior in Teams.
Also, I was using the terms Message and Notification interchangeably, which is incorrect.
It would appear as though Notifications are really what the OS displays, and as such, defines it's default behavior. The application, in this case MS-Teams, controls the visual display characteristics of that Notification, for example color/font/icon, based on the UI theme of teams.
Conversely, Messages or Message Extensions, are quite different from Notifications.
Using Message Extension, the user can search, or initiate actions, in an external system from the compose message area, the command box, or directly from a message. You can then send the results of that interaction back to the Microsoft Teams client, typically in the form of a richly formatted card.
This seems like it should be straight forward, but I'm having trouble solving it.
I will simplify the problem to get to the heart of the question.
I am building a Xamarin Watch OS 3 app. I have an InterfaceController1 and an InterfaceController2 on my storyboard. I added a button to InterfaceController1 and created a segue to InterfaceController2. I made it a modal.
On InterfaceController2, I have Picker list. I want to choose an item, close the modal InterfaceController2 (which automatically sends me back to InterfaceController1), and have that data (whatever I picked from the list) available in InterfaceController1.
This seems very basic...why else would you pop up a modal if not to make a selection and return back to the main scene. But I can't seem to figure it out. I see examples for iPhone apps, but they don't seem to apply for Apple Watch apps. Unless I am misunderstanding something.
Apologies for an 'open' question, but can anyone provider pointers on how to 'dock' my app to the Android Wear watch face?
Essentially, I want users of the application to be able to swipe left to right (or vice-versa) from the edge of the screen to open the application, compared to having to scroll the list of applications after tapping the watch face.
I've seen this implemented in another wear app, but don't know the right terminology to produce meaningful results in Google. Is it a wallpaper service, specific view type, touch listerner service etc?
Many thanks.
You can't receive touch events inside the WatchFaceService, touch delivery is disabled.
I can't say for sure how the app you saw implemented the desired behavior, but it probably did by inserting views directly into the WindowManager from a Service.
Checkout this youtube video: https://www.youtube.com/watch?v=S3vHjxonOeg
I don't know how well the Standout library does its job, but it should give you enough examples to figure out yourself, how to add views to the WindowManager.
I'm developing a simple application, and my goal is to get stacked notifications working on the Android Wear watch, according to this webpage: http://developer.android.com/training/wearables/notifications/stacks.html
When there exist multiple stacked notifications, you have to click on the stack before you can swipe to the left to get access to any extra actions (e.g., a voice reply action). However, when there is only one stacked notification, I still have to click on the "stack" to get access to the extra actions. This is a very annoying and unintuitive extra click to have to do as a user, and I'm thinking I'm probably doing something wrong. Does anyone have any experience with this issue, and if so, what did you to do work around it? The code I'm using is essentially identical to the code found in the link above, except I'm only issuing one stacked notification on the watch along with the summary notification on the phone.
I've implemented a Share Picker Extender (which lets you share a photo from the Pictures hub to your app via a special token), and would like to close the app once the user has clicked on the button to upload the photo, as the built-in Facebook app does.
I'm aware of the many questions re terminating apps - I'm just wondering if I'm missing something for Share Picker Extenders ... Telling the user "Now press the back button" seems pretty ugly, but perhaps it is the only (certification worthy) way. If you've implemented a Share Picker extender, what have you done?
I wasn't able to figure out a good way to handle this either. I detect that users have gone back to my first page and say "Click here to go to our main app" and "Click back to go pack to Pictures". And if they click the first one, Navigate("MainPage.xaml");. You have to make sure you don't accidentally prevent them from leaving. I asked this question awhile ago in this thread and got no response.