注文状況を追跡する
ユーザーが購入した後、アプリケーションは以下のアクションを実行することができます:
- アプリケーションUIに注文状態を表示する
- 支払い完了後、ユーザーの残高を計上する
- 支払い完了後、購入したアイテムを付与する
これらのアクションのロジックを実装するには、OrderTracking.Instance.AddOrderForTracking
SDKメソッドを使用して、注文状態を追跡する必要があります。メソッドに以下のパラメータを渡します:
projectId
— パブリッシャーアカウントからのプロジェクトIDorderId
— ショッピングカート経由で購入、ワンクリック購入または仮想通貨で購入から受信した注文IDonSuccess
— 注文状態が「done
」に変更されました場合のコールバックonError
— エクソーラサーバーがエラーを返した場合のコールバック
このメソッドは、注文ステータスを追跡するためのいくつかのメソッドをカプセル化します。メカニズムは、以下の原因でアプリケーションが構築されているプラットフォームによって異なります:
- WebGLビルドの場合、追跡は決済インターフェイスウィジェットの
postMessage
イベントに基づいています。「決済ステーション」ウィジェットが注文状態が「done
」または「cancel
」に変更されたというメッセージを送信すると、追跡は停止します。
- 他のプラットフォーム向けのビルドの場合、追跡には単純なHTTPリクエスト(ショートポーリング)とウェブソケットリクエストが使用されます。追跡は、次のアルゴリズムに従って実行されます:
- ウェブソケット接続が確立されます。
- 5分以内に注文状態が「
done
」または「cancel
」に変更されなかった場合、ウェブソケット接続閉じられています。注文状態が「done
」または「cancel
」に変更された場合、追跡は停止します。 - 注文状態の追跡は、ショートポーリングで続行されます。シンプルなHTTP注文状態リクエストが3秒ごとに送信されます。追跡は以下の場合に停止します:
- 注文状態が「
done
」または「cancel
」に変更されます - 注文状態が10分以内に「
done
」または「cancel
」に変更されます
- 注文状態が「
お知らせ
ウェブソケット接続に失敗した場合、ショートポーリングを利用して注文状態を追跡します。
以下を実装することもできます:
CheckOrderStatus
SDKメソッドを使用して注文状態と注文内容をリクエストする- エクソーラのトランザクションイベント用のアプリケーションのサーバー側でのウェブフック処理
この記事は役に立ちましたか?
ご意見ありがとうございました!
あなたのメッセージを確認し、体験を向上させるために利用させていただきます。お役立ちリンク
最終更新日: 2023年10月10日誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。