mcpField
P
poki-js-sdk

poki-js-sdk

github.com/hungify開発016 回インストール1 週間前に更新
リポジトリ

poki-js-sdk について

poki-js-sdkは、Poki JavaScript SDKをゲームに組み込むためのスキルです。ゲーム開発者向けに、初期化、ライフサイクルイベント、広告ブレーク、Poki Inspectorによる検証を案内します。

主な機能

  1. 01Poki SDKの読み込みと初期化
  2. 02ゲーム読み込み完了の通知
  3. 03ゲームプレイ開始・停止イベントの対応付け
  4. 04インタースティシャル広告とリワード広告の追加
  5. 05Poki Inspectorによるフロー検証

活用シーン

  1. 01ゲームへのPoki統合
  2. 02ライフサイクルイベントによるプレイセッション管理
  3. 03広告ブレークと一時停止・再開動作のテスト

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/hungify/playables-skills --skill poki-js-sdk

インストール後、Claude Code で/poki-js-sdkを入力して読み込まれたか確認します。

詳細

Poki JavaScript SDK

統合ワークフロー

  1. SDK スクリプトを追加する — Poki スクリプトタグを埋め込むか、動的に挿入します。
  2. 初期化する — PokiSDK.init() を呼び出し、ゲームの準備ができたら gameLoadingFinished を解決します。
  3. 初期化を確認する — ブラウザーのコンソールで Poki SDK のハンドシェイクメッセージを確認します。Poki Inspector 開発ツールを使用して、セッションが開始したことを確認します。
  4. ライフサイクルフックを追加する — 各プレイセッションの前後に gameplayStart / gameplayStop を呼び出します。
  5. 広告ブレークを追加する — 自然な休止ポイントに commercialBreak を挿入し、プレイヤーが選択できる箇所に rewardedBreak を追加します。
  6. Poki Inspector でテストする — https://inspector.poki.io を開き、ゲームの URL を読み込んで、各広告ブレークを実行し、フローを確認します。

インストール

公式の Poki SDK スクリプトをページに追加します。

<script src="https://game-cdn.poki.com/scripts/v2/poki-sdk.js"></script>

または、動的に挿入します。

function loadPokiSdk() {
    return new Promise((resolve, reject) => {
        const script = document.createElement('script');
        script.src = 'https://game-cdn.poki.com/scripts/v2/poki-sdk.js';
        script.onload = resolve;
        script.onerror = reject;
        document.head.appendChild(script);
    });
}

初期化

loadPokiSdk()
    .then(() => window.PokiSDK.init())
    .then(() => {
        // SDK is ready
        window.PokiSDK.gameLoadingFinished();
    })
    .catch(() => {
        // SDK init failed - continue without Poki integration
        window.PokiSDK && window.PokiSDK.gameLoadingFinished();
    });

プレイヤーがゲームをプレイできる状態になったら、gameLoadingFinished を呼び出します。ローダーに明確なフェーズがある場合は、gameLoadingStart と gameLoadingFinished で各フェーズを囲みます。

広告

インタースティシャル

広告が実際に配信されたかどうかを検出するには、isOpened フラグを使用します。広告が表示されない場合、コールバックは呼び出されません。

function showInterstitial() {
    let isOpened = false;

    window.PokiSDK.commercialBreak(() => {
        isOpened = true;
        // Pause game, mute audio
    })
        .then(() => {
            if (isOpened) {
                // Resume game, unmute audio
            } else {
                // Ad was not shown
            }
        })
        .catch(() => {
            // Ad request failed
        });
}
リワード

rewardedBreak はブール値で解決されます。isOpened が true で、かつ解決された値が真の場合にのみ、報酬を付与します。

function showRewarded() {
    let isOpened = false;

    window.PokiSDK.rewardedBreak(() => {
        isOpened = true;
        // Pause game, mute audio
    })
        .then((success) => {
            if (isOpened) {
                if (success) {
                    // Grant reward to the player
                }
                // Resume game, unmute audio
            } else {
                // Ad was not shown
            }
        })
        .catch(() => {
            // Ad request failed
        });
}

ライフサイクル

プレイヤーが操作できるようになったとき(レベル開始、レベル再開)に gameplayStart を呼び出し、操作できなくなったとき(レベルの一時停止、完了、失敗、またはメニューへの復帰)に gameplayStop を呼び出します。すべての gameplayStart に対応する gameplayStop を呼び出してください。

function onLevelStart() {
    window.PokiSDK.gameplayStart();
}

function onLevelEnd() {
    window.PokiSDK.gameplayStop();
}

テストと確認

  • https://inspector.poki.io で Poki Inspector を開き、ゲームの URL を読み込んで開発者セッションを開始します。
  • ブラウザーのコンソールに Poki SDK のハンドシェイクおよびイベントメッセージが出力されます。init が解決され、gameLoadingFinished が確認されることを確認します。
  • Inspector の UI から commercialBreak と rewardedBreak を実行して広告配信をシミュレートし、一時停止/再開のロジックが正しく動作することを確認します。
  • 適切なタイミングで gameplayStart と gameplayStop のイベントが Inspector のタイムラインに表示されることを確認します。

省略した機能に関する注意:このスキルでは、サーバー時刻、広告ブロック検出、happyTime、gameInteractive は扱いません。上記に記載した Poki SDK の機能に実装を絞ってください。

コメント