

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 了解 Amazon Chime SDK 傳訊概念
<a name="messaging-concepts"></a>

若要有效使用 Amazon Chime SDK 訊息，您必須了解下列術語和概念。

**AppInstance**  
若要使用 Amazon Chime SDK 訊息，您必須先建立 AppInstance。AppInstance 包含 AppInstanceUsers 和頻道。一般而言，您會為應用程式建立單一 AppInstance。 AWS 帳戶可以有多個 AppInstances。您可以在 AppInstance 層級進行應用程式層級設定，例如訊息保留和串流組態。AppInstances 由此格式的唯一 ARN 識別：`arn:aws:chime:region:aws_account_id:app-instance/app_instance_id`。

**AppInstanceUser**  
AppInstanceUsers 是傳送訊息、建立頻道、聯結頻道等的實體。一般而言，您會建立 one-to-one映射。 `AppInstanceUser`您也可以建立 `AppInstanceUser` 來連線至後端服務，讓使用者識別來自後端服務的訊息。由 ARN 識別的 AppInstanceUsers，例如 `arn:aws:chime:region:aws_account_id:app-instance/app_instance_id/user/app_instance_user_id`。您可以控制 `app_instance_user_id`，而作為最佳實務，請重複使用應用程式已有IDs。

**Channel**  
當您將 `AppInstanceUser`新增至頻道時，該使用者會成為成員並可以傳送和接收訊息。頻道可以是公有的，它允許任何使用者將自己新增為成員，也可以是私有的，只允許頻道主持人新增成員。您也可以隱藏頻道成員。隱藏成員可以觀察對話，但不傳送訊息，而且不會新增至頻道成員資格。

**SubChannel**  
彈性頻道的成員會分為名為 SubChannels 的邏輯容器。當您將 AppInstanceUser 新增至彈性頻道時，使用者會成為SubChannel的成員，並可以傳送和接收該特定SubChannel的訊息。頻道成員資格和訊息位於 SubChannel 層級，表示某個 SubChannel 中的成員傳送的訊息不會由另一個 SubChannel 中的成員接收。成員會轉移到不同的 SubChannels以支援頻道的彈性本質並提升參與度。

**UserMessage**  
`AppInstanceUser` 屬於頻道的 可以傳送和接收使用者訊息。`AppInstanceUser` 可以傳送 `STANDARD`或 `CONTROL` 訊息。 `STANDARD` 訊息可以包含 4KB 的資料和 1KB 中繼資料。 `CONTROL` 訊息只能包含 30 個位元組的資料。訊息可以是 `PERSISTENT`或 `NON_PERSISTENT`。您可以從頻道歷史記錄擷取`PERSISTENT`訊息。只有目前連線至 Amazon Chime SDK 訊息的頻道成員可以看到`NON_PERSISTENT`訊息。

**系統訊息**  
Amazon Chime SDK 會產生系統訊息以回應事件，例如成員加入或離開頻道。