本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon SNS 提供數個選項管理誰從您的帳戶接收簡訊。藉由有限的頻率,您可以加入已停止從您的帳戶接收簡訊的電話號碼。若要停止傳送訊息到簡訊訂閱,您可以移除訂閱或發布到訂閱的主題。
停止接收簡訊
在當地法律法規 (例如美國和加拿大) 要求的情況下,SMS 收件人可以使用其裝置,以下列任何方式回覆訊息來選擇退出:
-
ARRET (法文)
-
取消
-
結束
-
停止接收
-
停止接收
-
結束
-
移除
-
停止
-
TD
-
取消訂閱
若要選擇退出,收件人必須回覆與 Amazon SNS 用於傳送訊息的相同起始號碼。選擇退出後,收件人將不再收到來自 的簡訊, AWS 帳戶 除非您選擇加入電話號碼。
如果電話號碼已訂閱 Amazon SNS 主題,選擇退出不會移除訂閱,但除非您選擇加入電話號碼,否則簡訊將無法交付至該訂閱。
使用 Amazon SNS 主控台管理電話號碼和訂閱
您可以使用 Amazon SNS 主控台來從您的帳戶控制哪個電話號碼來接收簡訊。
選擇加入已選擇退出 Amazon SNS 主控台的電話號碼
您可以檢視哪些電話號碼已選擇退出接收來自您帳戶的簡訊,而且您可以選擇加入這些電話號碼以繼續傳送訊息給他們。
您只能選擇每 30 天接收一次電話號碼。
登入 Amazon SNS 主控台
。 -
在主控台選單中,設定區域選擇器為支援簡訊的區域。
-
在導覽面板上,選擇 Text messaging (SMS) (簡訊 (SMS))。
-
在行動簡訊 (SMS) 頁面上,在選擇退出的電話號碼區段中,會顯示選擇退出的電話號碼。
-
選取您要選擇加入的電話號碼的核取方塊,然後選擇加入。該電話號碼不再選擇退出,且將收到您傳送給它的簡訊。
刪除 Amazon SNS 主控台的簡訊訂閱
刪除簡訊訂閱以停止傳送簡訊至您發布到主題的電話號碼。
-
在導覽面板上,選擇 Subscriptions (訂閱)。
-
選擇您要刪除之訂閱的核取方塊。然後選擇 Actions (動作),再選擇 Delete Subscriptions (刪除訂閱)。
-
在 Delete (刪除) 視窗中,選擇 Delete (刪除)。Amazon SNS 會刪除訂閱並顯示成功訊息。
刪除 Amazon SNS 主控台的主題
當您不再想要發布訊息其訂閱的端點,請刪除該主題。
-
在導覽面板上,選擇 Topics (主題)。
-
選擇您要刪除之主題的核取方塊。然後選擇 Actions (動作),再選擇 Delete Topics (刪除主題)。
-
在 Delete (刪除) 視窗中,選擇 Delete (刪除)。Amazon SNS 會刪除主題並顯示成功訊息。
使用 AWS SDK 管理電話號碼和訂閱
您可以使用 AWS SDKs 向 Amazon SNS 提出程式設計請求,並管理哪些電話號碼可以從您的帳戶接收 SMS 訊息。
若要使用 AWS SDK,您必須使用 登入資料進行設定。如需詳細資訊,請參閱 AWS SDKs 和工具參考指南中的共用組態和登入資料檔案。
使用 AWS SDK 檢視所有選擇退出的電話號碼
若要檢視所有選擇退出的電話號碼,請使用 Amazon SNS API 提交ListPhoneNumbersOptedOut
請求。
下列程式碼範例示範如何使用 ListPhoneNumbersOptedOut
。
- AWS CLI
-
列出停止接收簡訊
下列
list-phone-numbers-opted-out
範例會列出選擇停止接收簡訊的電話號碼。aws sns list-phone-numbers-opted-out
輸出:
{ "phoneNumbers": [ "+15555550100" ] }
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 ListPhoneNumbersOptedOut
。
-
使用 AWS SDK 檢查電話號碼是否選擇退出
若要檢查電話號碼是否選擇退出,請使用 Amazon SNS API 提交CheckIfPhoneNumberIsOptedOut
請求。
下列程式碼範例示範如何使用 CheckIfPhoneNumberIsOptedOut
。
- AWS SDK for .NET
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 using System; using System.Threading.Tasks; using Amazon.SimpleNotificationService; using Amazon.SimpleNotificationService.Model; /// <summary> /// This example shows how to use the Amazon Simple Notification Service /// (Amazon SNS) to check whether a phone number has been opted out. /// </summary> public class IsPhoneNumOptedOut { public static async Task Main() { string phoneNumber = "+15551112222"; IAmazonSimpleNotificationService client = new AmazonSimpleNotificationServiceClient(); await CheckIfOptedOutAsync(client, phoneNumber); } /// <summary> /// Checks to see if the supplied phone number has been opted out. /// </summary> /// <param name="client">The initialized Amazon SNS Client object used /// to check if the phone number has been opted out.</param> /// <param name="phoneNumber">A string representing the phone number /// to check.</param> public static async Task CheckIfOptedOutAsync(IAmazonSimpleNotificationService client, string phoneNumber) { var request = new CheckIfPhoneNumberIsOptedOutRequest { PhoneNumber = phoneNumber, }; try { var response = await client.CheckIfPhoneNumberIsOptedOutAsync(request); if (response.HttpStatusCode == System.Net.HttpStatusCode.OK) { string optOutStatus = response.IsOptedOut ? "opted out" : "not opted out."; Console.WriteLine($"The phone number: {phoneNumber} is {optOutStatus}"); } } catch (AuthorizationErrorException ex) { Console.WriteLine($"{ex.Message}"); } } }
-
如需 API 詳細資訊,請參閱 AWS SDK for .NET API 參考中的 CheckIfPhoneNumberIsOptedOut。
-
選擇使用 Amazon SNS API 選擇退出的電話號碼
若要選擇加入電話號碼,請使用 Amazon SNS API 提交OptInPhoneNumber
請求。
您只能選擇每 30 天接收一次電話號碼。
使用 AWS SDK 刪除 SMS 訂閱
若要從 Amazon SNS 主題刪除簡訊訂閱,請使用 Amazon SNS API 提交 ListSubscriptions
請求來取得訂閱 ARN,然後傳遞 ARN 至 Unsubscribe
請求。
下列程式碼範例示範如何使用 Unsubscribe
。
- AWS SDK for .NET
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 透過訂閱 ARN 取消訂閱主題。
/// <summary> /// Unsubscribe from a topic by a subscription ARN. /// </summary> /// <param name="subscriptionArn">The ARN of the subscription.</param> /// <returns>True if successful.</returns> public async Task<bool> UnsubscribeByArn(string subscriptionArn) { var unsubscribeResponse = await _amazonSNSClient.UnsubscribeAsync( new UnsubscribeRequest() { SubscriptionArn = subscriptionArn }); return unsubscribeResponse.HttpStatusCode == HttpStatusCode.OK; }
-
如需 API 詳細資訊,請參閱 AWS SDK for .NET API 參考中的取消訂閱。
-
使用 SDK AWS 刪除主題
若要刪除主題及其所有訂閱,請使用 Amazon SNS API 提交 ListTopics
請求來取得主題 ARN,然後傳遞 ARN 至 DeleteTopic
請求。
下列程式碼範例示範如何使用 DeleteTopic
。
- AWS SDK for .NET
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 藉由主題 ARN 刪除該主題。
/// <summary> /// Delete a topic by its topic ARN. /// </summary> /// <param name="topicArn">The ARN of the topic.</param> /// <returns>True if successful.</returns> public async Task<bool> DeleteTopicByArn(string topicArn) { var deleteResponse = await _amazonSNSClient.DeleteTopicAsync( new DeleteTopicRequest() { TopicArn = topicArn }); return deleteResponse.HttpStatusCode == HttpStatusCode.OK; }
-
如需 API 詳細資訊,請參閱 AWS SDK for .NET API 參考中的 DeleteTopic。
-