Sample App Service that demonstrates the use of App Service Auth Token and UNS ID (User Notification Subscription Identifier) to post a notification to a user via Microsoft Graph.
Updating app samples to make use of new SubscribeToSyncScopesWithResultAsync API which will return the UNSID for the appservice to post notifications thru MSGraph
What's Changed:
1. Dismiss button now grays out and disables correctly once the Notification is dismissed.
2. The read button now grays out and dissabled correctly once the Notification is read.
3. The notification list now updates notification's in place instead of sending updated notifications (read, dismissed, etc) to the front of the listview.
4. Main menu improvements to center login and label button across all iOS devices. Now displays correctly.
5. Fixed login and logout scenarios for MSA. The new UI updates properly depending on the status of whether you're logged in or not.
----------------------
How verified:
1. Clicked dismiss and saw the notification update correctly in place.
2. Clicked read and saw the notification update correctly in place.
3. Ran the application on both iPhone and iPad to make sure it displayed correctly on both.
4. Logged in with MSA, observed UI update correctly. Logged out of MSA, observed UI update correctly. Logged back in and saw the UI update correctly.
Screenshots of UI running on iPad.
https://microsoft-my.sharepoint.com/:i:/p/adcrabtr/EV5rE1zE2lhDicbM56araegBx7H7TXKGQ1eM92oDFiZVPA?e=xmhDbShttps://microsoft-my.sharepoint.com/:i:/p/adcrabtr/EfklkqSwrzhCkjw1t2z_t5UB5-uB4WHwTIWR9ZRQBe71Xg?e=zRXzbE
This is the sample for an AppService that can create a notification for the user using OBO flow.
Ideally, user credentials are sent from client app to the app service, but since that pipeline is not available and not in scope for this sample, the user signs directly into the app service to provide their credentials. This part of the code is directly labeled as "client side code" in the js files to clarify how code should be structured. The main sample is the OBO flow.
**DISABLE_SECRET_SCANNING** - there is a key "AppServiceSecret" with no value. This triggers the secret scanning even though there are no secrets in the code.
Hooking up the Login with AAD to be functional in the app. Restructured the code according to Rome sample guidelines, UI updated
Included code feedback from Github PRs
1. Updated CDPTraces.log file location on disk, for v1.3, it has moved from external to intrenal.
2. We need to deserialize saved AAD account also during Platform initialization.
[Android][OneRomanApp] Changing client side server-key to FCM
We need to update our OneRomanApp app to use FCM, since GCM is being shutdown on April 11th. This process involves
- Change client to use FCM using the legacy key (Verified)
- Change client to use FCM generated server-key (Verified however as this in in our Secrets and google-services.json, this PR will not contain these values)
- Update the server (WNS) to use the FCM generated server-key (Will occur once we have a nightly and version of this change in HockeyApp)
If we immediately change the sever to point to the FCM server-key then existing apps using the legacy key will stop receiving notifications.
How Verified
I first deployed the changes and saw registration completed successfully.
Updated the graphnotifications sample on iOS to use the modified ConnectedDevicesPlatformManager for initialization and platform management.
How verified: Verified live by sending push notifications to the app and seeing them be received, and by seeing previous notifications populate when the app is started.
Updating the GraphNotificationsSample to follow initialization patterns of the sdksample. It is fairly complicated setup, so it is recommended that all app developers try to follow the model laid out by this sample pretty closely. It shows how to synchronize accounts with a token library at startup, perform per account initialization as fast as possible to let incoming notifications be quickly processed and has a reusable manager object that is not tightly coupled to UI.
Cherry picked from !14205
Updating the GraphNotificationsSample to follow initialization patterns of the sdksample. It is fairly complicated setup, so it is recommended that all app developers try to follow the model laid out by this sample pretty closely. It shows how to synchronize accounts with a token library at startup, perform per account initialization as fast as possible to let incoming notifications be quickly processed and has a reusable manager object that is not tightly coupled to UI.
Removing use of 1.8 Java APIs on SDK sample.
**How Verified**
Builds with `Android\samples PS>.\gradlew --refresh-dependencies sdksample:build`. Went through signin and init correctly.