メインコンテンツへスキップ
所要時間:20〜30分 本ガイドでは、Sequence Builderのアナリティクス機能を活用し、サーバーレスなCloudflare Workerを使って、特定プロジェクトのユーザー利用状況をクエリする方法を解説します。 コミュニティに成果を示すために、Duneのダッシュボードで状況を公開できます。また、生成したAPIを利用し、ユーザー分析に基づくインテリジェントなフィードバックループをゲームに組み込むこともできます。 このガイドの出力例はこちらで確認できます。
  1. アクセスキー管理:Sequenceスタックと連携するためのシークレットアクセスキーを取得
  2. Cloudflare Worker:Sequenceスタックにクエリし、プロジェクト固有のデータポイントを生成する関数を作成
  3. Duneダッシュボード:データを可視化し、共有可能なダッシュボードを作成
テンプレートコードの参考例は こちらをご覧ください。

1. アクセスキー管理

プロジェクトのアプリケーションをSequenceスタックで認証するために、シークレットアクセスキーを取得する必要があります。以下の手順に従ってください。

シークレットアクセスキーの作成

1

設定画面を開く

まず設定画面を開き、「API Keys」カードを選択します。
builder settings access keys
2

サービスアカウントの追加

画面を下にスクロールし、+ Add Service Accountを選択します。
builder settings add service account
3

書き込み権限の選択

次に権限をWriteに変更し、+ Add Service AccountをクリックしてからConfirmを選択します。
builder settings add service account
最後にキーをコピーし、安全な場所に保管してください。このキーは後からSequence Builderで再取得できないため、安全な場所に保管してください。

2. Cloudflare Worker

この例では、Cloudflare Workerを使うことでダッシュボード利用に応じた自動スケーリングやCLIからの簡単なデプロイが可能ですが、ご自身のバックエンドや他のサーバーレスサービスもご利用いただけます。
1

プロジェクトの作成

まず、mkdirでディレクトリを作成し、cdでそのディレクトリに移動し、pnpm initpackage.jsonを作成します。
2

「Hello World」Worker

プロジェクトにwrangler CLIがインストールされていることを確認し、ローカルのbashセッションでwranglerキーワードをエイリアスとして設定してください。
Cloudflareサイトでアカウントを作成し、ログインしてCloudflareダッシュボードにアクセスし、Cloudflareプラットフォームをローカル開発環境と接続します。
ログイン後、ディレクトリでwrangler initコマンドを実行し、好みのランダムなプロジェクトフォルダ名を選択してプロンプトに従い、git管理されたTypeScriptの「Hello World」Workerアプリケーションを初期化します。
このステップを完了するには、wrangler init後にエンターを4回押し、最後の2つの質問にはNoと答えてgitバージョン管理とデプロイをスキップしてください。これにより、クラウドにコードをデプロイできるスターターリポジトリがクローンされます。
ローカルAPIテスト
ガイドの任意のタイミングで、プロジェクトフォルダ内でwrangler devコマンドを使いローカルテストが可能です。

デプロイテスト

最後に、ランダムに生成されたプロジェクトフォルダにcdで移動し、wrangler deployコマンドを実行します。これによりURLが表示されるので、ブラウザでhttps://<app>.<account>.workers.devにアクセスし、「Hello World!」の結果を確認できます。
3

設定ファイル、ルート、モック関数の準備

プロジェクトのセットアップが完了したら、wrangler.tomlに以下の変数を追加します。ここで、DAYSは分析対象となる期間(日数)を指定します。
次に、index.tsに変数を含めたEnv型を追加します。
既存のfetch関数を、以下のモック関数呼び出しに置き換えます。
以下の関数を使用します。
4

日付フォーマット

次に、wrangler.tomlDAYS変数に設定された最新の値から正しい日付をパースするためのユーティリティ関数を追加します。
5

デイリーアクティブユーザー

Daily Active Usersリクエストは、以下の関数を使ってSequence Analytics APIを呼び出して処理します。
6

送信されたトランザクション総数

最後に、「送信されたトランザクション総数」用の以下の関数を追加します。
7

ゼロデータの日付の間隔を含める

Sequence Analytics APIのレスポンスには、アクティビティがゼロの日付は含まれていません。時系列の間隔を表示する場合は、以下の関数を使ってデータがない日付も正しいフォーマットで補完できます。
両方のレスポンスで、walletStatsデータを渡して以下の関数を呼び出してください。
wrangler deployで再デプロイした後、ホスト名の後ろに/dailyActiveUsers/totalTransactionsSentを付けてAPIエンドポイントにアクセスし、テストできます。
Analytics APIで利用可能な他のエンドポイント例については、概要ページを参照してください。

3. Duneダッシュボード

1

Duneへのサインアップ

まず、Duneにサインアップします。
2

クエリの作成

https://dune.com/<account>にアクセスし、CreateボタンからNew queryを選択します。
dune create query
3

`Daily Active Users`クエリ

以下のSQLクエリをコンソールに入力し、Runを選択します。
結果が返ってきたら、New visualizationを作成します。デフォルトでBar chartが選択されている状態でAdd visualizationをクリックします(カスタマイズも可能です)。
add visualization
最後にSaveをクリックし、クエリに名前を付けます。
save query
4

`Total Transactions Sent`クエリ

前の手順と同様に進め、以下のSQLクエリを使用します。
結果が返ってきたら、New visualizationを作成します。Add visualizationを選択し、CounterまでスクロールしてAPIから返された合計値を表示するカウンターウィジェットを作成します。
5

新しいダッシュボードの作成

Create > New dashboardボタンから新しいダッシュボード名を入力します。
dune create dashboard
作成後、Editをクリックし、Add visualizationから先ほどの2つのクエリを追加します。
dune edit dashboard
dune add visualization from dashboard
各クエリごとにモーダルで名前を検索し、Addを選択、モーダルでDone、ダッシュボードでもDoneをクリックします。
これで、プロジェクトのデータ利用状況をチームメンバーやコミュニティと共有できるようになりました。最後にShareボタンをクリックして完了です。
dune share dashboard