Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Recall enregistre automatiquement les captures instantanées de votre application, mais les utilisateurs ne pourront pas relancer votre contenu, sauf si vous fournissez un UserActivity au moment de l’instantané. Cela permet à Recall de replonger l'utilisateur dans ce qui était en train d'être vu à ce moment-là.
Un UserActivity fait référence à quelque chose de spécifique sur lequel l’utilisateur travaillait au sein de votre appli. Par exemple, lorsqu’un utilisateur écrit un document, un UserActivity peut faire référence à l’emplacement spécifique dans le document où l’utilisateur a quitté l’écriture. Lorsque vous écoutez une appli musicale, le UserActivity peut être la playlist que l’utilisateur a écoutée pour la dernière fois. Lorsque vous dessinez sur un espace, le UserActivity peut être l’emplacement où l’utilisateur a réalisé une marque pour la dernière fois. En résumé, un UserActivity représente une destination dans votre application Windows à laquelle un utilisateur peut revenir afin qu’il puisse reprendre ce qu’il faisait.
Envoi (push) d’activités utilisateur
Chaque fois que le contenu principal de votre application change (par exemple, l’utilisateur ouvrant un e-mail différent, l’ouverture d’une page web différente, etc.), votre application doit journaliser un nouveau UserActivitySession afin que le système sache quel contenu est actuellement ouvert.
Recall associera ensuite le plus récent UserActivity avec l'instantané qu'il enregistre, et utilisera le ActivationUri dans l'activité pour permettre à l'utilisateur de revenir à ce contenu.
Nous vous recommandons de transmettre les activités utilisateur sur tous les PC, même ceux qui n'exécutent pas Recall.
UserActivitySession _previousSession;
private async Task OnContentChangedAsync()
{
// Dispose of any previous session (which automatically logs the end of the interaction with that content)
_previousSession?.Dispose();
// Generate an identifier that uniquely maps to your new content.
string id = "doc135.txt";
// Create a new user activity that represents your new content
var activity = await UserActivityChannel.GetDefault().GetOrCreateUserActivityAsync(id);
// Populate the required properties
activity.DisplayText = "doc135.txt";
activity.ActivationUri = new Uri("my-app://docs/doc135.txt");
// Save the activity
await activity.SaveAsync();
// And start a new session tracking the engagement with this new activity
_previousSession = activity.CreateSession();
}
Note
La méthode GetOrCreateUserActivityAsync retourne toujours une nouvelle activité sur les dernières versions de Windows. La possibilité d’obtenir vos activités enregistrées précédemment a été supprimée, et Windows ne stocke plus les activités précédentes de votre application de manière à pouvoir les récupérer.
Facultatif : gestion de l’événement demandé
Outre les activités push, votre application peut choisir d’implémenter l’événement UserActivityRequested , que Windows peut déclencher pour s’assurer qu’elle dispose de la dernière activité de votre application.
public void OnLaunched()
{
UserActivityRequestManager.GetForCurrentView().UserActivityRequested += UserActivityRequested;
}
private async void UserActivityRequested(
Windows.ApplicationModel.UserActivities.UserActivityRequestManager sender,
Windows.ApplicationModel.UserActivities.UserActivityRequestedEventArgs args)
{
// Start a deferral so you can use async code
var deferral = args.GetDeferral();
try
{
// Generate an identifier that uniquely maps to your current content.
string id = "doc135.txt";
// Create a user activity that represents your current content
var activity = await UserActivityChannel.GetDefault().GetOrCreateUserActivityAsync(id);
// Populate the required properties
activity.DisplayText = "doc135.txt";
activity.ActivationUri = new Uri("my-app://docs/doc135.txt");
// And return the activity to the event handler
args.Request.SetUserActivity(activity);
}
finally
{
// And complete the deferral
deferral.Complete();
}
}
Contenu connexe
- Classe UserActivity
-
Fournir des étiquettes de sensibilité à Recall avec UserActivity ContentInfo - Découvrez comment fournir des métadonnées d'étiquettes de sensibilité pour l'application des politiques DLP en entreprise avec
UserActivity.ContentInfo - Conseils pour les développeurs de navigateurs web
Windows developer