Le SDKAWS mobile pour Xamarin est désormais inclus dans leAWS SDK for .NET. Ce guide fait référence à la version archivée du SDK mobile pour Xamarin.
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Configurer le kit SDK AWS Mobile pour .NET et Xamarin
Vous pouvez configurer le kit SDK AWS Mobile pour .NET et Xamarin et commencer à créer un nouveau projet, ou vous pouvez intégrer le kit SDK à un projet existant. Vous pouvez également cloner et exécuter les exemples
Prérequis
Pour pouvoir utiliser le kit SDK AWS Mobile pour .NET et Xamarin, vous devez exécuter les tâches suivantes :
-
Créer un compte AWS
. -
InstallXamarin
.
Après avoir exécuté les prérequis :
-
Obtenez des informations d'identification AWS à l'aide d'Amazon Cognito.
-
Définissez les autorisations requises pour chaque service AWS que vous allez utiliser dans votre application.
-
Créez un projet dans votre IDE.
-
Installez le kit SDK AWS Mobile pour .NET et Xamarin.
-
Configurer le kit SDK AWS Mobile pour .NET et Xamarin.
Étape 1 : Obtenez des informations d'identification AWS
Pour appeler AWS dans votre application, vous devez d'abord obtenir les informations d'identification AWS. Pour ce faire, utilisez Amazon Cognito, un service AWS qui permet à votre application d'accéder aux services du kit SDK sans avoir à intégrer vos informations d'identification AWS privées dans l'application.
Pour commencer avec Amazon Cognito, vous devez créer un pool d'identités. Un groupe d'identités est une banque d'informations propre à votre compte et identifiée par un ID de groupe d'identités unique qui ressemble à ceci :
"us-east-1:00000000-0000-0000-0000-000000000000"
-
Connectez-vous à la console Amazon Cognito
, choisissez Gérer les identités fédérées et choisissez Créer un groupe d'identités. -
Saisissez un nom pour votre pool d'identités, puis cochez la case autorisant l'accès pour les identités non authentifiées. Choisissez Créer un groupe pour créer votre pool d'identités.
-
Choisissez Autoriser pour créer les deux rôles par défaut associés à votre groupe d'identités, un pour les utilisateurs non authentifiés et l'autre pour les utilisateurs authentifiés. Ces rôles par défaut donnent à votre groupe d'identités l'accès à Amazon Cognito Sync et Amazon Mobile Analytics.
En règle générale, vous utilisez un seul pool d'identités par application.
Après avoir créé votre pool d'identités, vous pouvez obtenir des informations d'identification AWS en créant un objet CognitoAWSCredentials
(en lui transmettant votre ID de pool d'identités), puis en le transmettant au constructeur d'un client AWS comme suit :
CognitoAWSCredentials credentials = new CognitoAWSCredentials ( "us-east-1:00000000-0000-0000-0000-000000000000", // Your identity pool ID RegionEndpoint.USEast1 // Region ); // Example for |MA| analyticsManager = MobileAnalyticsManager.GetOrCreateInstance( credentials, RegionEndpoint.USEast1, // Region APP_ID // app id );
Étape 2 : Réglez les autorisations
Vous devez définir des autorisations pour tous les services AWS que vous souhaitez utiliser dans votre application. Tout d'abord, vous devez comprendre comment AWS voit les utilisateurs de votre application.
Lorsqu'une personne utilise votre application et appelle AWS, AWS lui affecte une identité. Le pool d'identités que vous avez créé au cours de l’Étape 1 correspond à l'emplacement dans lequel AWS stocke ces identités. Il existe deux types d'identités : authentifiées et non authentifiées. Les identités authentifiées appartiennent aux utilisateurs qui sont authentifiés par un fournisseur de connexion public (par exemple, Facebook, Amazon, Google). Les identités non authentifiées appartiennent aux utilisateurs invités.
Chaque identité est associée à un rôle AWS Identity and Access Management. Au cours de l'Étape 1, vous avez créé deux rôles IAM, un premier pour les utilisateurs authentifiés et un second pour les utilisateurs non authentifiés. Chaque rôle IAM possède une ou plusieurs stratégies attachées qui spécifient les services AWS auxquels les identités affectées à ce rôle peuvent accéder. Par exemple, la stratégie suivante accorde l'accès à un compartiment Amazon S3. :
{ "Statement": [ { "Action": [ "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:GetObject", "s3:PutObject" ], "Effect": "Allow", "Resource": "arn:aws:s3:::MYBUCKETNAME/*", "Principal": "*" } ] }
Pour définir les autorisations des services AWS que vous souhaitez utiliser dans votre application, modifiez la stratégie attachée aux rôles.
-
Accédez à la console IAM et choisissez des rôles
. Entrez le nom du pool d'identités dans la zone de recherche. Choisissez le rôle IAM que vous souhaitez configurer. Si votre application autorise les utilisateurs authentifiés et non authentifiés, vous devez accorder des autorisations aux deux rôles. -
Cliquez sur Attacher la stratégie, sélectionnez la stratégie de votre choix, puis cliquez sur Attacher la stratégie. Les stratégies par défaut des rôles IAM que vous avez créés donnent accès à Amazon Cognito Sync et Mobile Analytics.
Pour plus d'informations sur la création de stratégies ou pour choisir dans une liste de stratégies existantes, consultez Stratégies IAM.
Étape 3 : Création d'un projet
Windows
Vous pouvez utiliser Visual Studio pour développer votre application.
OS X
Vous pouvez utiliser Visual Studio pour développer vos applications. Le développement iOS à l'aide de Xamarin nécessite un accès à un Mac pour exécuter votre application. Pour plus d'informations, consultez la page Installation de Xamarin.iOS sous Windows
Note
L'IDE commerciale multiplateformeRider
Étape 4 : Installer le kit SDK AWS Mobile pour .NET et Xamarin
Windows
Option 1 : Installer à l'aide de la console du gestionnaire de package
Le kit SDK AWS Mobile pour .NET et Xamarin se compose d'un ensemble d'assemblies .NET. Pour installer le kit SDK AWS Mobile pour .NET et Xamarin, exécutez la commande install-package pour chaque package de la console du gestionnaire de package. Par exemple, pour installer Cognito Identity, exécutez les éléments suivants :
Install-Package AWSSDK.CognitoIdentity
Les packages AWS Core Runtime et Amazon Cognito sont obligatoires pour tous les projets. Voici une liste complète des noms de package pour chaque service.
Service | Nom du package |
---|---|
AWS Core Runtime |
AWSSDK.Core |
Amazon Cognito Sync |
AWSSDK.CognitoSync |
Amazon Cognito Identity |
AWSSDK.CognitoIdentity |
Amazon DynamoDB |
AWSSDK. DynamoDBv2 |
Amazon Mobile Analytics |
AWSSDK.MobileAnalytics |
Amazon S3 |
AWSSDK.S3 |
Amazon SNS |
AWSSDK.SimpleNotificationService |
Pour inclure un package préliminaire, incluez l'argument de ligne de commande -Pre
lors de l'installation du package, comme suit :
Install-Package AWSSDK.CognitoSync -Pre
Vous pouvez trouver une liste complète des packages de services AWS à l'adresse suivante :Kit SDK AWS surNuGet
Option 2 : Installer à l'aide de votre IDE
Dans Visual Studio
-
Cliquez avec le bouton droit sur le projet, puis cliquez surGérerNuGetPackages.
-
Recherchez le nom du package que vous souhaitez ajouter à votre projet. Pour inclure la préversionNuGetforfaits, choisissezPrélease à inclure. Vous pouvez trouver une liste complète des packages de services AWS à l'adresse suivante :Kit SDK AWS surNuGet
. -
Choisissez le package, puis choisissez Install.
Mac (OS X)
Dans Visual Studio
-
Effectuez un clic droit sur le dossier des packages, puis choisissez Add Packages (Ajouter des packages).
-
Recherchez le nom du package que vous souhaitez ajouter à votre projet. Pour inclure la préversionNuGetforfaits, choisissezAfficher les paquets de pré-publication. Vous pouvez trouver une liste complète des packages de services AWS à l'adresse suivante :Kit SDK AWS surNuGet
. -
Cochez la case en regard du package souhaité, puis choisissez Add Package (Ajouter le package).
Important
Si vous développez à l'aide d'une bibliothèque de classes portable, vous devez également ajouter leAWSSDK.CoreNuGetpour tous les projets issus de la bibliothèque de classes portables.
Étape 5 : Configurer le kit SDK AWS Mobile pour .NET et Xamarin
Définir la connexion
Vous définissez les paramètres de journalisation à l'aide de la classe Amazon.AWSConfigs
et la classe Amazon.Util.LoggingConfig
. Vous pouvez les trouver dans l'assembly AWSSdk.Core
, disponible via le gestionnaire de package Nuget dans Visual Studio. Vous pouvez placer les paramètres de journalisation du code dans la méthode OnCreate
dans le fichier MainActivity.cs
pour les applications Android ou le fichier AppDelegate.cs
pour les applications iOS. Vous devez également ajouter des instructions using
Amazon
et using Amazon.Util
aux fichiers .cs.
Configurez les paramètres de journalisation comme suit :
var loggingConfig = AWSConfigs.LoggingConfig; loggingConfig.LogMetrics = true; loggingConfig.LogResponses = ResponseLoggingOption.Always; loggingConfig.LogMetricsFormat = LogMetricsFormatOption.JSON; loggingConfig.LogTo = LoggingOptions.SystemDiagnostics;
Lorsque vous vous connectez àSystemDiagnostics, le framework imprime les données de sortie en interne sur System.Console. Si vous souhaitez consigner les réponses HTTP, définissez l'indicateur LogResponses
. Les valeurs possibles sont Always, Never ouOnError.
Vous pouvez également consigner les métriques de performance des demandes HTTP à l'aide de la propriété LogMetrics
. Le format de journal peut être spécifié à l'aide de la propriété LogMetricsFormat
. Les valeurs valides sont JSON ou standard.
Définir le point de terminaison de la région
Configurez la région par défaut pour tous les clients du service comme suit :
AWSConfigs.AWSRegion="us-east-1";
Ce paramètre définit la région par défaut pour tous les clients de service figurant dans le kit de développement logiciel. Vous pouvez remplacer ce paramètre en spécifiant explicitement la région au moment de la création d'une instance du client de service, comme suit :
IAmazonS3 s3Client = new AmazonS3Client(credentials,RegionEndpoint.USEast1);
Configurer les paramètres de proxy HTTP
Si votre réseau est derrière un proxy, vous pouvez configurer les paramètres proxy pour les demandes HTTP comme suit.
var proxyConfig = AWSConfigs.ProxyConfig; proxyConfig.Host = "localhost"; proxyConfig.Port = 80; proxyConfig.Username = "<username>"; proxyConfig.Password = "<password>";
Corriger le décalage d'horloge
Cette propriété détermine si le kit de développement logiciel doit corriger le décalage d'horloge client en déterminant le temps de serveur correct et en réemettant la demande avec l'heure appropriée.
AWSConfigs.CorrectForClockSkew = true;
Ce champ est défini si un appel de service a généré une exception et si le kit SDK a déterminé qu'il existait une différence entre l'heure locale et celle du serveur.
var offset = AWSConfigs.ClockOffset;
Pour en savoir plus sur le décalage d'horloge, consultez l'article relatif à la correction du décalage d'horloge
Étapes suivantes
Maintenant que vous avez configuré le kit SDK AWS Mobile pour .NET et Xamarin, vous pouvez effectuer les actions suivantes :
-
Mise en route. LisezPrise en main du kit SDK AWS Mobile pour .NET et Xamarinpour consulter les instructions de démarrage rapide relatives à l'utilisation et à la configuration des services du kit SDK AWS Mobile pour .NET et Xamarin.
-
Exploration des rubriques de service. Découvrez chaque service et la façon dont ils fonctionnent dans le kit SDK AWS Mobile pour .NET et Xamarin.
-
Exécution des démonstrations. Référez-vous à nos exemples d'applications Xamarin
, qui illustrent quelques cas d'utilisation courants. Pour exécuter les exemples d'applications, configurez le kit SDK AWS Mobile pour .NET et Xamarin comme décrit précédemment, puis suivez les instructions contenues dans les fichiers README de chaque exemple. -
Découverte des API. Affichage du|sdk-xamarin-ref|_.
-
Poser des questions : Posez des questions sur leForums SDK AWS Mobile
ououvrez un problème surGitHub .