ルールを使用して、連絡先メール アドレスを確認する
このチュートリアルでは、プレイヤーが連絡先メール アドレスを変更する場合、確認メールを送信するルールの作成手順について説明します。
要件
Important
これは、高度な チュートリアルです。 すべての要件が満たされていることを確認してください。要件を満たしていない場合、このチュートリアルを完了できません。
- メール テンプレートを使用してカスタマイズされたメールを送信するには、自身の SMTP サーバーにユーザー名とパスワードを持っている必要があります。 次のチュートリアル「追加コンテンツのある SMTP サーバーの設定」に従う前に、SMTP サーバーがあることをご確認ください。
注意
テスト用に Gmail を使用できます。しかし、Gmail を使用すると、1 日当たり 2,000 通で制限されます。
- アカウント復旧ロジックを呼び出す前に、ユーザー名とパスワードを持つプレイヤーが必要なため、プレイヤーの作成方法の基本的な知識が必要になります。
- ゲームマネージャーを始めてご利用になる場合は、メール テンプレートを作成する場所になるので、「ゲーム マネージャーのクイックスタート」をお読みください。
- プレイヤー プロフィールに追加された連絡先メールを確認するためにメールの必要性を確認するため、プレイヤー プロフィールの操作方法についての知識が必要です。 「プレイヤー プロフィールの取得」 チュートリアルでプレイヤー プロフィールを取得する方法について読み、[クライアント プロフィール オプション」の [タイトル] が [連絡先メール アドレス] を許可することをご確認ください。
- このチュートリアルでは、ルールを作成する必要があります。[ルール] がどのように機能するかについて読むことをお勧めします。
手順 1 - メール テンプレートの作成
最初にすることは、アカウント回復メールのテンプレートの作成です。
- 左側のメニューの [コンテンツ] を選択します。
- [メール テンプレート] タブに移動します。
- [新しいメール テンプレート] ボタンを選択します。
[新しいメール テンプレート] を追加し、次のようにフィールドに入力して、[エラー コールバック] URL を空のままにします。
- テンプレート名: MyFirstEmailVerificationTemplate
- テンプレートのタイプ: メールの検証
- メールの件名: メールの検証
- メールの本文: (次のように入力します)
<head></head>
<body><p> You recently registered a new email with us.</p>
<p>Please click <a href="$ConfirmationUrl$">here</a> confirm your email. Thanks!</p>
送信元の表示名: メールの [From] フィールドに表示する名前。
送信元のメール アドレス: メールの [From] フィールドに表示するメール アドレス。 メールの送信ができる SMTP サーバーのメール ドメインが必要です。
注意
Gmail などの一部メール サーバーは、このフィールドを無視し、SMTP サーバーで設定されたアカウントから送信します。
コールバック URL: https://www.example.com
注意事項
- メール本文の
$ConfirmationUrl$
が選択された場合は、カスタマイズされた URL を生成し、ユーザーが URL を選択したことを追跡し、[コールバック URL] にリダイレクトします。 この場合、[アンカー タグ] に挿入されます。 - [コールバック URL]は、プレイヤーが [確認 URL] リンクを選択した後に、PlayFab がリダイレクトする URL です。 静的なページで、正常にメールを確認したと示すことがあります。 この場合、https://www.example.com にリダイレクトします。
フォームに入力後、[メール テンプレートの保存] ボタンを選択すると、メール テンプレートの一覧のあるページにリダイレクトされます。 手順 4 で使用する、メール テンプレートの ID をメモします。
手順 2 - 連絡先メールが更新されたときにメールを送信するルールを作成します。
次に、プレイヤーがその連絡先のメールを更新するたびに、確認メールを送信する規則を作成します。 ゲーム マネージャー 内で次の手順を実行します。
- 左側のメニューで、[自動] を選択します。
- [ルール] タブを選択します。
- [新しいルール] を選択します。
- [ルール名] フィールドに、[ルール VerifyUpdatedEmail] を記入します。
- [イベント タイプ] のドロップダウンで、com.playfab.player_updated_contact_email を選択します。
- [アクション] ヘッダで、[+ 追加アクション] を選択します。
[タイプ] のドロップダウンから [メールの送信] を選択します。
- [メール テンプレート] のドロップダウンを、手順 1 で作成したテンプレート MyFirstEmailVerificationTemplate で設定する必要があります。
- もし、ない場合は、ドロップダウンから [MyFirstEmailVerificationTemplate] を選択します。
手順 3 - プレイヤーに連絡先メールを追加します。
この次の手順では、既存のプレイヤー アカウントが必要になります。
AddOrUpdateContactEmail を使用して、プレイヤーに連絡先メールを追加します。
注意
プレイヤー プロフィールの [連絡先メール] フィールドは、プレイヤー プロフィールの [ログイン メール] フィールドとは異なりますが、両方に同じメール アドレスが書かれていてもかまいません。 プレイヤーに電子メールを送信するときはいつでも、連絡先メール アドレスに移動するのみです。
C# コードの例
次の例では、プレイヤーにサインインし、[AddOrUpdateContactEmail] を使用して連絡先メールアドレスを追加します。 プレイヤーに関連付けられている電子メールアドレスにアクセスできることを確認します。
void AddContactEmailToPlayer()
{
var loginReq = new LoginWithCustomIDRequest
{
CustomId = "SomeCustomID", // replace with your own Custom ID
CreateAccount = true // otherwise this will create an account with that ID
};
var emailAddress = "testaddress@example.com"; // Set this to your own email
PlayFabClientAPI.LoginWithCustomID(loginReq, loginRes =>
{
Debug.Log("Successfully logged in player with PlayFabId: " + loginRes.PlayFabId);
AddOrUpdateContactEmail(loginRes.PlayFabId, emailAddress);
}, FailureCallback);
}
void AddOrUpdateContactEmail(string playFabId, string emailAddress)
{
var request = new AddOrUpdateContactEmailRequest
{
EmailAddress = emailAddress
};
PlayFabClientAPI.AddOrUpdateContactEmail(request, result =>
{
Debug.Log("The player's account has been updated with a contact email");
}, FailureCallback);
}
void FailureCallback(PlayFabError error)
{
Debug.LogWarning("Something went wrong with your API call. Here's some debug information:");
Debug.LogError(error.GenerateErrorReport());
}
手順 4 - 連絡先メールがプレイヤーのプロフィールに追加されたことを確認します。
次に、連絡先メールがプレイヤーのプロフィールに追加されたことを確認します。 ゲーム マネージャー にログインし、[プレイヤー プロフィール] ページに移動します。
[確認ステータス] が [保留中] になっている場合、そのプレイヤーに一覧表示される [連絡先メール]を確認する必要があります。
注意
確認メールがまだ送信されていない場合、[確認状態] が [未確認]である可能性がありますが、メールが送信されるとすぐに保留中の状態に移行されます。
また、GetPlayerProfile と PlayerProfileViewConstraints の ShowContactEmailAddresses を呼び出し、True として設定すると、追加したばかりの連絡先メール アドレスを持つプレイヤーを表示します。
手順 5 - メールが送信されたことの確認
最後に、アカウント回復メールが送信されたことを確認します。
最初に実行できることは、ゲーム マネージャー で、プレイヤーのPlayStream に移動することです。
- 左側のメニューで、[プレイヤー] を選択します。
- [プレイヤー] タブで、[PlayStream] エリアに移動します。
- [メール イベントの送信] を表示します。
イベントの 情報 アイコンを選択すると、次の例で示す物に似た JSON が表示されます。
{
"EventName": "sent_email",
"EventNamespace": "com.playfab",
"Source": "PlayFab",
"EntityType": "player",
"TitleId": "YourTitleId",
"EventId": "a05625e48b1f4194bd08d1ff6a889cf8",
"EntityId": "64647AA368D6448E",
"SourceType": "BackEnd",
"Timestamp": "2017-10-27T09:35:16.2946918Z",
"History": null,
"CustomTags": null,
"Reserved": null,
"emailTemplateId": "7D6438687903D4DC",
"emailTemplateName": "MyFirstEmailVerificationTemplate",
"emailTemplateType": "EmailVerification",
"success": true,
"emailName": "Primary"
}
実際にメールを受信したことを確認するには、手順 3 で作成したプレイヤーのメールに移動します。 次に示す物に似て見えるメールがあるはずです。
その電子メールの URL を調べると、それが次のように見えます。
https://a5f3.playfabapi.com/EmailConfirmation/Confirm/?token=2346241B7C277796&titleId=A5F3&templateId=38017AAE7F494AB3
プレイヤーがその URL を選択する場合、次の 3 つのことが発生します。
- PlayFab は、auth_token_validated という新しい PlayStream イベントを生成します。 これがメールの URL を選択したプレイヤーを知る方法です。
- コ インまたはアイテムをプレイヤーに付与するように、アクションをトリガーするイベントを使用できます。
- このメール テンプレートが、特別な [メール検証] テンプレートであるため、PlayFab はプレイヤーのメールを 確認済 として印を付けます。
- PlayFab はプレイヤーにコールバック URL Webサイトを送信し、リダイレクト URL を返します。
この Web サイトでは、静的な「メールをご確認いただきありがとうございます」 というメッセージ、またはより複雑な内容を表示できます。 リダイレクト URL は次の https://www.example.com/?token=2346241B7C277796 のようになります。
メールで見つかった URL に移動し、選択します。
example.com Web サイトに移動します。
ゲーム マネージャー を使用して、プレイヤー プロフィールを表示します。
確認状態が変更されたことが表示されます。
まとめ
このチュートリアルは、これで終了です。 SMTP サーバーを設定し、メール テンプレートを作成し、メール アドレスを確認するためにプレイヤーにメールを送信するルールを作成する方法について確認しました。
チュートリアルについてご質問やフィードバックなどがある場合は、コミュニティ フォーラムでお知らせください。