ベストプラクティス


ベストプラクティス

Rewards APIを使用する際は、以下のベストプラクティスを参考にしてください。

Moments全般に関する質問

  • Momentsでは、開発者側がRewards APIのgetRewardメソッドを呼び出すアクションに対して料金が発生します。ユーザーが実際にリワードを受け取ったときではありません。ユーザーにリワード引き換え用URLを送る直前にだけアプリが同メソッドを呼び出すように、コード内での配置場所を調整してください。

セキュリティ

  • セキュリティの観点から、Rewards APIのメソッドはアプリのクライアント側からは呼び出さないでください。必ずサーバー側のコードから呼び出すようにしてください。

  • Moments APIのリクエストを送信するサーバーに、専用のパブリックIPアドレスを用意するか、NAT IPアドレスの共有を行う必要があります。そうすることで、Rewards APIのサーバーが有効なIPアドレスからのAPIリクエストのみを受け取れるようになります。

ローカリゼーション

  • サーバーコード内では、表示テキストに定数列のIDを使用することをお勧めします。サーバーがローカリゼーションをより簡単に処理できるようになるからです。

ユーザーエクスペリエンス

  • ユーザーにアクションを完了してもらいやすくするため、リワードの通知と引き換えに関するエクスペリエンスはアプリやウェブサイト内で提供することをお勧めします。

  • アプリの [今すぐ受け取る] ボタンにリワード引き換え用URLを埋め込むか、ユーザーにリワード引き換え用URLをメールします。

  • アプリからAmazonのサイトに移動する際は、WebViewを使用します。

トラブルシューティングとサポート

  • サーバーがRewards APIからAPIレスポンスを受け取るたびに、ログを作成することをお勧めします。タイムスタンプと未加工のペイロード(ヘッダーと未加工のレスポンスを含む)をログに含めてください。

  • クライアントにリワード通知用URLを送信するたびに、ログを作成することをお勧めします。URL自体と、ユーザーIDおよびタイムスタンプをログに含めてください。リワード通知用URLが届かなかったなど、エンドユーザー側で問題が発生した場合に、解決に役立つ有益な情報がログには含まれています。

  • お知らせや確認のやり取りをする際は、必ずRewards APIのレスポンス内メッセージを使用してください。そうすることで、メッセージの更新時にコード変更を防げるようになります。