Menyiapkan AWS Mobile SDK for .NET and Xamarin - AWS Mobile SDK

AWS Mobile SDK for Xamarin sekarang disertakan dalam AWS SDK for .NET. Panduan ini menjadi referensi versi yang diarsipkan dari Mobile SDK for Xamarin.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menyiapkan AWS Mobile SDK for .NET and Xamarin

Anda dapat menyiapkan AWS Mobile SDK for .NET and Xamarin dan mulai membangun sebuah proyek baru atau Anda dapat mengintegrasikan SDK dengan proyek yang ada. Anda juga dapat melakukan klon dan menjalankan Sampel untuk mengetahui cara kerja SDK. Ikuti langkah-langkah berikut untuk menyiapkan dan mulai menggunakan AWS Mobile SDK for .NET and Xamarin.

Prasyarat

Sebelum Anda dapat menggunakan AWS Mobile SDK for .NET and Xamarin, Anda harus melakukan hal-hal berikut:

Setelah Anda menyelesaikan prasyarat:

  1. Mendapatkan kredensial AWS dengan menggunakan Amazon Cognito.

  2. Mengatur izin yang diperlukan untuk setiap layanan AWS yang akan Anda gunakan dalam aplikasi Anda.

  3. Membuat proyek baru di IDE Anda.

  4. Memasang AWS Mobile SDK for .NET and Xamarin.

  5. Mengonfigurasi AWS Mobile SDK for .NET and Xamarin.

Langkah 1: Mendapatkan Kredensial AWS

Untuk membuat panggilan ke AWS dalam aplikasi Anda, Anda harus terlebih dahulu mendapatkan kredensial AWS. Anda melakukan ini dengan menggunakan Amazon Cognito, layanan AWS yang memungkinkan aplikasi Anda untuk mengakses layanan di SDK tanpa harus menanamkan kredensial AWS privat Anda dalam aplikasi.

Untuk memulai Amazon Cognito, Anda perlu membuat kolam identitas. Kolam identitas adalah penyimpanan informasi yang spesifik untuk akun Anda dan diidentifikasi berdasarkan ID kolam identitas unik yang terlihat seperti berikut ini.:

"us-east-1:00000000-0000-0000-0000-000000000000"
  1. Masuk ke Konsol Amazon Cognito, pilih Mengelola Identitas Federasian, lalu pilih Buat kolam identitas baru.

  2. Masukkan nama untuk kolam identitas Anda dan pilih kotak centang untuk mengaktifkan akses ke identitas yang tidak diautentikasi. Pilih Buat Kolam untuk membuat kolam identitas Anda.

  3. Pilih Izinkan untuk membuat dua peran default yang terkait dengan kolam identitas Anda, satu untuk pengguna yang tidak diautentikasi dan satu untuk pengguna diautentikasi. Peran default ini menyediakan kolam identitas Anda akses ke Amazon Cognito Sync dan Amazon Mobile Analytics.

Biasanya, Anda hanya akan menggunakan satu kolam identitas per aplikasi.

Setelah Anda membuat kolam identitas Anda, Anda akan mendapatkan kredensial AWS dengan membuat objek CognitoAWSCredentials (berikat identitas kolam ID Anda kepadanya) dan kemudian memberikannya ke konstruktor dari klien AWS sebagai berikut.:

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 );

Langkah 2: Mengatur Izin

Anda harus mengatur izin untuk setiap layanan AWS yang ingin Anda gunakan dalam aplikasi Anda. Pertama, Anda harus memahami bagaimana AWS melihat pengguna aplikasi Anda.

Ketika seseorang menggunakan aplikasi Anda dan membuat panggilan ke AWS, AWS menetapkan identitas untuk pengguna itu. Kolam identitas yang Anda buat di Langkah 1 adalah tempat di mana AWS menyimpan identitas ini. Ada dua jenis identitas: diautentikasi dan tidak diautentikasi. Identitas diautentikasi adalah milik pengguna yang diautentikasi oleh penyedia login publik (misalnya, Facebook, Amazon, Google). Identitas yang tidak diautentikasi adalah milik pengguna tamu.

Setiap identitas dikaitkan dengan peran AWS Identity and Access Management. Pada langkah 1, Anda membuat dua IAM role, satu untuk pengguna yang diautentikasi dan satu untuk pengguna yang tidak diautentikasi. Setiap IAM role memiliki satu atau lebih kebijakan yang melekat padanya yang menentukan layanan AWS apa yang ditetapkan oleh identitas tersebut untuk peran itu sehingga dapat mengaksesnya. Misalnya, kebijakan sampel berikut memberikan akses ke bucket Amazon S3.:

{ "Statement": [ { "Action": [ "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:GetObject", "s3:PutObject" ], "Effect": "Allow", "Resource": "arn:aws:s3:::MYBUCKETNAME/*", "Principal": "*" } ] }

Untuk mengatur izin untuk layanan AWS yang ingin Anda gunakan dalam aplikasi Anda, Anda harus memodifikasi kebijakan yang melekat pada peran.

  1. Buka Konsol IAM, dan kemudian pilih Peran. Ketik nama kolam identitas Anda di dalam kotak pencarian. Pilih IAM role yang ingin Anda konfigurasikan. Jika aplikasi Anda mengizinkan pengguna diautentikasi dan tidak diautentikasi, maka Anda perlu memberikan izin untuk kedua peran tersebut.

  2. Klik Lampirkan Kebijakan, pilih kebijakan yang Anda inginkan, dan kemudian klik Lampirkan Kebijakan. Kebijakan default untuk IAM role yang Anda buat memberikan akses ke Amazon Cognito Sync dan Mobile Analytics.

Untuk informasi selengkapnya tentang cara membuat kebijakan atau memilih dari daftar kebijakan yang ada, lihat Kebijakan IAM.

Langkah 3: Membuat Proyek Baru

Windows

Anda dapat menggunakan Visual Studio untuk mengembangkan aplikasi Anda.

OS X

Anda dapat menggunakan Visual Studio untuk mengembangkan aplikasi Anda. Pengembangan iOS menggunakan Xamarin memerlukan akses ke Mac untuk menjalankan aplikasi Anda. Untuk informasi selengkapnya, lihat Memasang Xamarin.iOS pada Windows.

catatan

IDE komersial lintas-platformPenunggangdariJetBrainsmencakup dukungan Xamarin pada platform Windows dan Mac.

Langkah 4: Memasang AWS Mobile SDK for .NET and Xamarin

Windows

Opsi 1: Memasang dengan menggunakan Konsol Manajer Paket

AWS Mobile SDK for .NET and Xamarin terdiri satu set unit .NET. Untuk memasang AWS Mobile SDK for .NET and Xamarin, jalankan perintah install-package untuk setiap paket di konsol Manajer Paket. Misalnya, untuk memasang Identitas Cognito, jalankan berikut ini.:

Install-Package AWSSDK.CognitoIdentity

Paket Waktu Aktif AWS Core dan Identitas Amazon Cognito diperlukan untuk semua proyek. Berikut ini adalah daftar lengkap nama paket untuk setiap layanan.

Layanan Nama paket

Waktu Aktif AWS Core

AWSSDK.Inti

Amazon Cognito Sync

AWSSDK.CognitoSync

Identitas Amazon Cognito

AWSSDK.CognitoIdentity

Amazon DynamoDB

AWSSDK.DynamoDBv2

Amazon Mobile Analytics

AWSSDK.MobileAnalytics

Amazon S3

AWSSDK.3

Amazon SNS

AWSSDK.SimpleNotificationLayanan

Untuk menyertakan paket pra-rilis, termasuk argumen baris perintah -Pre ketika memasang paket sebagai berikut.:

Install-Package AWSSDK.CognitoSync -Pre

Anda dapat menemukan daftar lengkap paket layanan AWS diPaket AWS SDK diNuGetatau diAWS SDK untuk .NETGitHubRepositori.

Opsi 2: Memasang dengan menggunakan IDE Anda

Dalam Visual Studio

  1. Klik kanan proyek, dan kemudian klikKelolaNuGetPaket.

  2. Cari nama paket yang ingin Anda tambahkan ke proyek Anda. Untuk memasukkan preleaseNuGetpaket, pilihSertakan Prelease. Anda dapat menemukan daftar lengkap paket layanan AWS diPaket AWS SDK diNuGet.

  3. Pilih paket, dan kemudian pilih Pasang.

Mac (OS X)

Dalam Visual Studio

  1. Klik kanan pada folder paket, dan kemudian pilih Tambah Paket.

  2. Cari nama paket yang ingin Anda tambahkan ke proyek Anda. Untuk memasukkan preleaseNuGetpaket, pilihTampilkan paket prarilis. Anda dapat menemukan daftar lengkap paket layanan AWS diPaket AWS SDK diNuGet.

  3. Pilih kotak centang di samping paket yang Anda inginkan, lalu pilih Tambahkan Paket.

penting

Jika Anda melakukan pengembangan menggunakan Portable Class Library, maka Anda juga harus menambahkanAWSSDK.IntiNuGetpaket untuk semua proyek yang berasal dari Perpustakaan Kelas Portable.

Langkah 5: Mengonfigurasi AWS Mobile SDK for .NET and Xamarin

Mengatur Pencatatan

Anda menetapkan pengaturan pencatatan dengan menggunakan kelas Amazon.AWSConfigs dan kelas Amazon.Util.LoggingConfig. Anda dapat menemukan ini di unit AWSSdk.Core, tersedia melalui Nuget Package Manager dalam Visual Studio. Anda dapat menempatkan kode pengaturan pencatatan di metode OnCreate di file MainActivity.cs untuk aplikasi Android atau file AppDelegate.cs untuk aplikasi iOS. Anda juga harus menambahkan pernyataan using Amazon dan using Amazon.Util untuk file .cs.

Mengonfigurasi pengaturan pencatatan sebagai berikut.:

var loggingConfig = AWSConfigs.LoggingConfig; loggingConfig.LogMetrics = true; loggingConfig.LogResponses = ResponseLoggingOption.Always; loggingConfig.LogMetricsFormat = LogMetricsFormatOption.JSON; loggingConfig.LogTo = LoggingOptions.SystemDiagnostics;

Ketika Anda log keSystemDiagnostics, kerangka kerja internal mencetak keluaran ke System.Console. Jika Anda ingin mencatat tanggapan HTTP, atur bendera LogResponses. Nilai-nya bisa Selalu, Tidak Pernah, atauOnError.

Anda juga dapat mencatat metrik performa untuk permintaan HTTP dengan menggunakan properti LogMetrics. Format pencatatan dapat ditentukan dengan menggunakan properti LogMetricsFormat. Nilai yang valid adalah JSON atau standar.

Mengatur Titik Akhir Wilayah

Mengonfigurasi wilayah default untuk semua klien layanan sebagai berikut.:

AWSConfigs.AWSRegion="us-east-1";

Hal ini akan menetapkan wilayah default untuk semua klien layanan di SDK. Anda dapat mengganti pengaturan ini dengan secara eksplisit menentukan wilayah pada saat membuat sebuah instans klien layanan, sebagai berikut.:

IAmazonS3 s3Client = new AmazonS3Client(credentials,RegionEndpoint.USEast1);

Mengonfigurasi Pengaturan Proksi HTTP

Jika jaringan Anda berada di belakang proxy, maka Anda dapat mengonfigurasi pengaturan proxy untuk permintaan HTTP sebagai berikut.

var proxyConfig = AWSConfigs.ProxyConfig; proxyConfig.Host = "localhost"; proxyConfig.Port = 80; proxyConfig.Username = "<username>"; proxyConfig.Password = "<password>";

Melakukan Koreksi Clock Skew

Properti ini menentukan apakah SDK harus benar untuk clock skew klien dengan menentukan waktu server yang benar dan menerbitkan kembali permintaan dengan waktu yang benar.

AWSConfigs.CorrectForClockSkew = true;

Bidang ini diatur jika panggilan layanan mengakibatkan pengecualian dan SDK telah menentukan bahwa ada perbedaan antara waktu lokal dan server.

var offset = AWSConfigs.ClockOffset;

Untuk mem-pelajari selengkapnya tentang clock skew, lihat Koreksi Clock-skew di AWS Blog.

Langkah Berikutnya

Sekarang karena Anda telah mengatur AWS Mobile SDK for .NET and Xamarin, maka Anda dapat:

  • Memulai. Baca Memulai AWS Mobile SDK for .NET and Xamarin untuk petunjuk quick-start tentang cara menggunakan dan mengonfigurasi layanan di AWS Mobile SDK for .NET and Xamarin.

  • Jelajahi topik layanan. Pelajari tentang setiap layanan dan cara kerjanya di AWS Mobile SDK for .NET and Xamarin.

  • Jalankan demo. Lihat Aplikasi Xamarin sampel yang menunjukkan kasus penggunaan umum. Untuk menjalankan aplikasi sampel, lakukan pengaturan atas AWS Mobile SDK for .NET and Xamarin seperti yang dijelaskan sebelumnya, dan kemudian ikuti petunjuk yang terdapat dalam file README dari masing-masing sampel.

  • Pelajari API. Melihat|sdk-xamarin-ref|_.

  • Ajukan pertanyaan: Posting pertanyaan diAWS Mobile SDKataumembuka masalahGitHub.