需求
這是進階教學課程。請確認已符合所有需求,否則您將無法完成本教學課程。
- 若要使用電子郵件範本傳送自訂電子郵件,您需要擁有自己的 SMTP 伺服器,並具備使用者名稱和密碼。在使用我們的教學課程使用附加元件設定 SMTP 伺服器之前,請確認您有自己的 SMTP 伺服器。
您可以使用 Gmail 進行測試,但 Gmail 限制您每天最多只能傳送 2,000 封電子郵件。
- 需要具備如何建立玩家的基本知識,因為在呼叫帳戶復原邏輯之前,需要有具備使用者名稱和密碼的玩家。
- 如果您不熟悉 Game Manager,請閱讀 Game Manager 快速入門,因為電子郵件範本是在其中建立的。
- 需要具備如何使用玩家設定檔的知識,以確認聯絡電子郵件已新增至玩家的設定檔。請在取得玩家設定檔教學課程中了解如何取得玩家設定檔,並確認您已在遊戲的 Client Profile Options 下允許 Contact email addresses。
步驟 1 - 建立電子郵件範本
我們首先要建立帳戶復原電子郵件範本。- 前往 Content。
- 選取 Email Templates 索引標籤。
- 選取 NEW EMAIL TEMPLATE 按鈕。

- Template name:PasswordRecoveryTemplate
- Template type:Account Recovery
- Email subject:Password reset requested
- Email body:(依下列方式輸入)
- From Name:您想在電子郵件 From 欄位中顯示的名稱。
- From Email Address:您想在電子郵件 From 欄位中顯示的電子郵件地址。這必須是 SMTP 伺服器允許您用來傳送電子郵件的電子郵件網域。
某些電子郵件伺服器 (例如 Gmail) 會忽略此欄位,並從 SMTP 伺服器所設定的帳戶傳送。
- Callback URL:密碼復原表單的回呼 URL。表單至少必須包含一個 Password 欄位,供玩家輸入新密碼。
需要注意的幾件事
- 電子郵件本文中的
$ConfirmationUrl$會產生一個自訂 URL,選取該 URL 時,會追蹤使用者已選擇該 URL,然後發出重新導向至 Callback URL。在此案例中,它被插入到錨點標記中。 - Callback URL 是玩家選取確認 URL 連結後,PlayFab 將重新導向的 URL。它必須是一個託管的 Web 表單,至少包含一個 Password 欄位,以便在本教學課程稍後進行 ResetPassword API 呼叫。


步驟 2 - 將使用者名稱、密碼、登入電子郵件和聯絡電子郵件新增至玩家
下一個步驟需要一個現有的玩家帳戶。 我們將使用 AddUsernamePassword 新增使用者名稱、密碼和登入電子郵件。此外,我們會使用 AddOrUpdateContactEmail 將聯絡電子郵件新增至玩家。玩家設定檔上的聯絡電子郵件欄位與玩家設定檔上的登入電子郵件欄位不同,即使兩者可能包含相同的電子郵件地址。每當您傳送電子郵件給玩家時,它會傳送至聯絡電子郵件地址。
C# 程式碼範例
在下列範例中,我們會登入玩家,然後使用 AddUsernamePassword 新增使用者名稱、密碼和登入電子郵件。接著使用 AddOrUpdateContactEmail 新增聯絡電子郵件。請確認與玩家相關聯的電子郵件地址是您可以存取的地址。步驟 3 - 確認聯絡電子郵件已新增至玩家的設定檔
接下來,確認聯絡電子郵件已新增至玩家的設定檔。登入 Game Manager,然後前往 Player’s Profile 頁面。您應該會看到該玩家列出的 Contact email。
步驟 4 - 傳送帳戶復原範本電子郵件
現在,我們將使用步驟 1 中的電子郵件範本識別碼,透過 SendEmailFromTemplate 將驗證電子郵件傳送給我們在步驟 2 中建立的玩家。C# 程式碼範例
在下列範例中,我們使用 SendCustomAccountRecoveryEmail 傳送帳戶復原電子郵件。步驟 5 - 檢查電子郵件是否已傳送
最後,我們可以檢查帳戶復原電子郵件是否已傳送。 您可以做的第一件事,是前往玩家的 PlayStream 區域。在 Game Manager 中:- 從左側功能表選取 Player。
- 前往畫面的 PlayStream 區域。
- 它應該會顯示 Sent Email Event。


- PlayFab 會產生一個名為 auth_token_validated 的新 PlayStream 事件。這就是您得知玩家已選取電子郵件中該 URL 的方式。您可以使用該事件觸發動作,例如授與玩家金幣或項目。
- PlayFab 會傳回一個重新導向 URL,將玩家帶往回呼 URL。在此案例中,它應該是遊戲的網站,其中包含供玩家輸入新密碼的表單。
- 重新導向 URL 會在查詢字串中包含一個權杖,看起來類似下列內容。
