

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

# Amazon Kinesis Video Streams WebRTC SDK untuk iOS
<a name="kvswebrtc-sdk-ios"></a>

 step-by-stepPetunjuk berikut menjelaskan cara mengunduh, membuat, dan menjalankan SDK WebRTC Kinesis Video Streams di iOS dan sampelnya yang sesuai.

## Unduh SDK
<a name="download-sdk-js"></a>

Untuk mengunduh SDK WebRTC di iOS, jalankan perintah berikut:

```
$ git clone https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-ios.git
```

## Membangun SDK
<a name="build-sdk-ios"></a>

Selesaikan langkah-langkah berikut:

1. Impor SDK WebRTC iOS ke lingkungan pengembangan terintegrasi (IDE) XCode di komputer iOS dengan `KinesisVideoWebRTCDemoApp.xcworkspace` membuka (path: - /Swift/ App.xcWorkspace). amazon-kinesis-video-streams webrtc-sdk-ios AWSKinesis VideoWeb RTCDemo

1. Jika Anda membuka proyek untuk pertama kalinya, proyek akan dibangun secara otomatis. Jika tidak, mulailah membangun.

   Anda mungkin melihat kesalahan berikut: 

   ```
   error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.
   ```

   Jika Anda melihat ini, lakukan hal berikut:

   1. Ubah direktori kerja Anda saat ini menjadi `amazon-kinesis-video-streams-webrtc-sdk-ios/Swift` dan jalankan yang berikut di baris perintah:

      ```
      pod cache clean --all
      pod install
      ```

   1. Ubah direktori kerja Anda saat ini menjadi `amazon-kinesis-video-streams-webrtc-sdk-ios` dan jalankan yang berikut di baris perintah:

      ```
      $ git checkout Swift/Pods/AWSCore/AWSCore/Service/AWSService.m
      ```

   1. `Build`lagi.

1. Konfigurasikan setelan Amazon Cognito (kumpulan pengguna dan kumpulan identitas). Untuk langkah-langkah detail, lihat[Konfigurasikan Amazon Cognito untuk SDK](#build-sdk-ios-cognito). Ini menghasilkan pengaturan otentikasi dan otorisasi yang diperlukan untuk membangun SDK WebRTC iOS.

1. Di IDE Anda, buka `awsconfiguration.json` file (dari`/Swift/KVSiOSApp`). File tersebut terlihat seperti berikut:

   ```
   {
       "Version": "1.0",
       "CredentialsProvider": {
           "CognitoIdentity": {
               "Default": {
                   "PoolId": "REPLACEME",
                   "Region": "REPLACEME"
               }
           }
       },
       "IdentityManager": {
           "Default": {}
       },
       "CognitoUserPool": {
           "Default": {
               "AppClientSecret": "REPLACEME",
               "AppClientId": "REPLACEME",
               "PoolId": "REPLACEME",
               "Region": "REPLACEME"
           }
       }
   }
   ```

   Perbarui `awsconfiguration.json` dengan nilai yang dihasilkan dengan menjalankan langkah-langkah di[Konfigurasikan Amazon Cognito untuk SDK](kvswebrtc-sdk-android.md#build-sdk-android-cognito).

1. Di IDE Anda, buka `Constants.swift` file (dari`/Swift/KVSiOSApp`). File tersebut terlihat seperti berikut:

   ```
   import Foundation
   import AWSCognitoIdentityProvider
   
   let CognitoIdentityUserPoolRegion = AWSRegionType.USWest2
   let CognitoIdentityUserPoolId = "REPLACEME"
   let CognitoIdentityUserPoolAppClientId = "REPLACEME"
   let CognitoIdentityUserPoolAppClientSecret = "REPLACEME"
   
   let AWSCognitoUserPoolsSignInProviderKey = "UserPool"
   let CognitoIdentityPoolID = "REPLACEME"
   
   let AWSKinesisVideoEndpoint = "https://kinesisvideo.us-west-2.amazonaws.com"
   let AWSKinesisVideoKey = "kinesisvideo"
   
   let VideoProtocols =  ["WSS", "HTTPS"]
   
   let ConnectAsMaster = "connect-as-master"
   let ConnectAsViewer = "connect-as-viewer"
   
   let MasterRole = "MASTER"
   let ViewerRole = "VIEWER"
   
   let ClientID = "ConsumerViewer"
   ```

   Perbarui `Constants.swift` dengan nilai yang dihasilkan dengan menjalankan langkah-langkah di[Konfigurasikan Amazon Cognito untuk SDK](kvswebrtc-sdk-android.md#build-sdk-android-cognito).

1. Pastikan perangkat iOS Anda terhubung ke komputer Mac tempat Anda menjalankan XCode. Di XCode, pilih perangkat yang terhubung lalu buat dan jalankan WebRTC iOS SDK.

   Langkah ini menginstal aplikasi yang dipanggil `AWSKinesisVideoWebRTCDemoApp` di perangkat iOS Anda. Dengan menggunakan aplikasi ini, Anda dapat memverifikasi streaming WebRTC langsung antara audio/video klien perangkat seluler, web, dan IoT.

## Jalankan aplikasi sampel
<a name="run-sdk-ios"></a>

****

Selesaikan langkah-langkah berikut:

1. Di perangkat iOS Anda, buka **AWSKinesisVideoWebRTCDemoAplikasi** dan masuk menggunakan akun baru (dengan membuatnya terlebih dahulu) atau akun Amazon Cognito yang sudah ada.

1. Di **AWSKinesisVideoWebRTCDemoApp**, navigasikan ke halaman **Konfigurasi Saluran** dan buat saluran pensinyalan baru atau pilih yang sudah ada.
**catatan**  
**Saat ini, dengan menggunakan contoh aplikasi di SDK ini, Anda hanya dapat menjalankan satu saluran pensinyalan di AWSKinesis VideoWeb RTCDemo App.**

1. (Opsional) Pilih **ID Klien** unik jika Anda ingin terhubung ke saluran ini sebagai penampil. ID Klien hanya diperlukan jika beberapa pemirsa terhubung ke saluran. Ini membantu master saluran mengidentifikasi masing-masing pemirsa.

1. Pilih AWS Region dan apakah Anda ingin mengirim data audio atau video, atau keduanya.

1. Untuk memverifikasi peer-to-peer streaming, lakukan salah satu hal berikut:
**catatan**  
Pastikan Anda menentukan nama saluran pensinyalan, AWS wilayah, ID penampil, dan ID AWS akun yang sama pada semua klien yang Anda gunakan dalam demo ini.
   + Peer-to-peer streaming antara dua perangkat iOS: master dan viewer
     + Menggunakan prosedur di atas, unduh, buat, dan jalankan SDK WebRTC iOS di dua perangkat iOS. 
     + Buka **AWSKinesisVideoWebRTCDemoAplikasi** di satu perangkat iOS dalam mode master (pilih **MULAI MASTER**) untuk memulai sesi baru (saluran pensinyalan).
**catatan**  
Saat ini, hanya ada satu master untuk saluran pensinyalan tertentu.
     + Buka **AWSKinesisVideoWebRTCDemoAplikasi** di perangkat iOS kedua Anda dalam mode penampil untuk terhubung ke saluran pensinyalan (sesi) yang dimulai pada langkah di atas (pilih **MULAI PENAMPIL**).

       Verifikasi bahwa pemirsa dapat melihat audio/video data master.
   + Peer-to-peer streaming antara master SDK yang disematkan dan penampil perangkat iOS
     + Unduh, buat, dan jalankan mode master [Amazon Kinesis Video Streams dengan WebRTC SDK di C untuk perangkat yang disematkan](kvswebrtc-sdk-c.md) di perangkat kamera. 
     + Menggunakan prosedur di atas, unduh, buat, dan jalankan SDK WebRTC iOS di perangkat iOS. Buka **AWSKinesisVideoWebRTCDemoAplikasi** di perangkat iOS ini dalam mode penampil dan verifikasi bahwa penampil iOS dapat melihat audio/video data master SDK yang disematkan.
   + Peer-to-peer streaming antara perangkat iOS sebagai master dan browser web sebagai penampil
     + Menggunakan prosedur di atas, unduh, buat, dan jalankan SDK WebRTC iOS di perangkat iOS. Buka **AWSKinesisVideoWebRTCDemoAplikasi** di perangkat iOS ini dalam mode master (pilih **MULAI MASTER**) untuk memulai sesi baru (saluran pensinyalan).
     + Unduh, buat, dan jalankan penampil [Amazon Kinesis Video Streams dengan WebRTC JavaScript SDK untuk aplikasi web](kvswebrtc-sdk-js.md) as dan verifikasi bahwa JavaScript pemirsa dapat melihat audio/video master Android. 

## Konfigurasikan Amazon Cognito untuk SDK
<a name="build-sdk-ios-cognito"></a>

### Prasyarat
<a name="iossdk-prerequisites"></a>
+ Kami merekomendasikan XCode untuk memeriksa, mengedit, dan menjalankan kode aplikasi. Kami merekomendasikan versi terbaru.
+ Dalam kode contoh, Anda memberikan kredensi Amazon Cognito.

Ikuti prosedur ini untuk menyiapkan kumpulan pengguna Amazon Cognito dan kumpulan identitas.

### Siapkan kumpulan pengguna
<a name="setup-user-pool"></a>

**Untuk mengatur kumpulan pengguna**

1. Masuk ke [konsol Amazon Cognito](https://console.aws.amazon.com/cognito/home) dan verifikasi wilayah tersebut benar.

1. Di navigasi di sebelah kiri pilih **Kumpulan pengguna**.

1. Di bagian **User pool**, pilih **Create user pool**.

1. Lengkapi bagian berikut:

   1. **Langkah 1: Konfigurasikan pengalaman masuk** - Di bagian opsi **masuk kumpulan pengguna Cognito**, pilih opsi yang sesuai.

      Pilih **Selanjutnya**.

   1. **Langkah 2: Konfigurasikan persyaratan keamanan** - Pilih opsi yang sesuai.

      Pilih **Selanjutnya**.

   1. **Langkah 3: Konfigurasikan pengalaman pendaftaran** - Pilih opsi yang sesuai.

      Pilih **Selanjutnya**.

   1. **Langkah 4: Konfigurasikan pengiriman pesan** - Pilih opsi yang sesuai.

      Di bidang **pemilihan peran IAM**, pilih peran yang ada atau buat peran baru.

      Pilih **Selanjutnya**.

   1. **Langkah 5: Integrasikan aplikasi Anda** - Pilih opsi yang sesuai.

      Di bidang **Klien aplikasi awal**, pilih **Klien rahasia**.

      Pilih **Selanjutnya**.

   1. **Langkah 6: Tinjau dan buat** - Tinjau pilihan Anda dari bagian sebelumnya, lalu pilih **Buat kumpulan pengguna**.

1. Pada halaman **User pool**, pilih pool yang baru saja Anda buat.

   Salin **ID kumpulan Pengguna** dan catat ini untuk nanti. Dalam `awsconfiguration.json` file, ini adalah`CognitoUserPool.Default.PoolId`.

1. Pilih tab **Integrasi aplikasi** dan pergi ke bagian bawah halaman.

1. Di bagian **Daftar klien Aplikasi**, pilih **nama klien Aplikasi** yang baru saja Anda buat.

   Salin **ID Klien** dan catat ini untuk nanti. Dalam `awsconfiguration.json` file, ini adalah`CognitoUserPool.Default.AppClientId`.

1. Tunjukkan **rahasia Klien** dan catat ini untuk nanti. Dalam `awsconfiguration.json` file, ini adalah`CognitoUserPool.Default.AppClientSecret`.

### Siapkan kolam identitas
<a name="setup-identity-pool"></a>

**Untuk mengatur kumpulan identitas**

1. Masuk ke [konsol Amazon Cognito](https://console.aws.amazon.com/cognito/home) dan verifikasi wilayah tersebut benar.

1. Di navigasi di sebelah kiri pilih **Identity pool**.

1. Pilih **Buat kumpulan identitas**.

1. Konfigurasikan kumpulan identitas.

   1. **Langkah 1: Konfigurasikan kepercayaan kumpulan identitas** - Lengkapi bagian berikut:
      + **Akses pengguna - Pilih Akses** yang **Diautentikasi**
      + **Sumber identitas yang diautentikasi** - Pilih kumpulan **pengguna Amazon Cognito**

      Pilih **Selanjutnya**.

   1. **Langkah 2: Konfigurasikan izin** - Di bagian **peran yang diautentikasi**, lengkapi bidang berikut:
      + Peran **IAM - Pilih Buat peran** **IAM baru**
      + **Nama peran IAM** - Masukkan nama dan catat untuk langkah selanjutnya.

      Pilih **Selanjutnya**.

   1. **Langkah 3: Hubungkan penyedia identitas** - Di bagian **Rincian kumpulan pengguna**, lengkapi bidang berikut: 
      + **ID kumpulan pengguna** - Pilih kumpulan pengguna yang Anda buat sebelumnya.
      + **ID klien aplikasi** - Pilih ID klien aplikasi yang Anda buat sebelumnya.

      Pilih **Selanjutnya**.

   1. **Langkah 4: Konfigurasikan properti** - Ketik nama di bidang **Identity pool name**.

      Pilih **Selanjutnya**.

   1. **Langkah 5: Tinjau dan buat** - Tinjau pilihan Anda di setiap bagian, lalu pilih **Buat kumpulan identitas**.

1. Pada halaman **Identity pool**, pilih kumpulan identitas baru Anda.

   Salin **ID kumpulan Identitas** dan catat ini untuk nanti. Dalam `awsconfiguration.json` file, ini adalah`CredentialsProvider.CognitoIdentity.Default.PoolId`.

1. Perbarui izin untuk peran IAM.

   1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

   1. Di navigasi di sebelah kiri, pilih **Peran**.

   1. Temukan dan pilih peran yang Anda buat di atas.
**catatan**  
Gunakan bilah pencarian, jika perlu.

   1. Pilih kebijakan izin terlampir.

      Pilih **Edit**.

   1. Pilih tab **JSON** dan ganti kebijakan dengan yang berikut:

      ```
      {
          "Version": "2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "cognito-identity:*",
                      "kinesisvideo:*"
                  ],
                  "Resource": [
                      "*"
                  ]
              }
          ]
      }
      ```

      Pilih **Selanjutnya**.

   1. Pilih kotak di samping **Setel versi baru ini sebagai default** jika belum dipilih.

      Pilih **Simpan perubahan**.