コンテンツにスキップ

Wortal SDK for Phaser

統合(インテグレーション)

すべてのゲームスクリプトの前に、index.html<head> にSDK コアスクリプトを追加します。

<script src="https://storage.googleapis.com/cdn-wortal-ai/v2/wortal-core.js"></script>

初期化

ゲームの初期化コードのできるだけ早い段階で Wortal.initializeAsync() を呼び出し、ゲームのロードが終わってプレイできる状態になった際、Wortal.startGameAsync()を呼び出してください。

Wortal.initializeAsync().then(() => {
    // SDK is ready to use.
    // Wait for game to finish loading.
    Wortal.setLoadingProgress(100);
    Wortal.startGameAsync();
});

ローディング

初期化コードでゲームのロードの進行状況を報告する。進行状況が100%になるまで、ゲームは開始されません

// Set the progress value to a number between 0 and 100 to report the loading progress of your game.
Wortal.setLoadingProgress(progress);

使い方

広告

API リファレンス

インタースティシャル広告では、レベルの達成や切り替えの合間に表示が可能です。

// noFill はオプションであり、指定されない場合、afterAdが呼び出されます。
Wortal.ads.showInterstitial('placement', 'description', beforeAd, afterAd, noFill?);

// プレイヤーがレベルを達成
Wortal.ads.showInterstitial('next', 'NextLevel', pauseGame, resumeGame);

// プレイヤーがゲームを一時停止
Wortal.ads.showInterstitial('pause', 'PausedGame', pauseGame, resumeGame);

// プレイヤーがアプリ内課金ページにアクセス
Wortal.ads.showInterstitial('browse', 'BrowseShop', pauseAudio, resumeAudio);

リワード広告は、プレイヤーが動画広告を最後まで視聴するなどの条件を満たした場合に、報酬を与える広告タイプです。必ずプレイヤーに通知し、許可を受けてから表示する必要があります。

// noFill はオプションであり、指定されない場合、afterAd が呼び出されます。
Wortal.ads.showRewarded('description', beforeAd, afterAd, adDismissed, adViewed, noFill?);

// この例では、広告の条件達成とは関係なく、ゲームが進みます。
// 例:プレイヤーは広告を視聴することでボーナスコインを取得できますが、その結果に関わらずゲームは続行されます。
Wortal.ads.showRewarded('BonusCoins', pauseGame, resumeGame, skipBonus, addBonusCoins);

// この例では、広告の広告の条件達成に関係して、ゲームが進みます。
// 例:プレイヤーはゲームオーバーの際、広告を視聴することで復活できますが、広告をスキップするとそのレベルを失います。
Wortal.ads.showRewarded('ReviveAndContinue', pauseAudio, resumeAudio, endGame, continueGame);

注: プレーヤーは、adViewed コールバックでのみ報酬を受ける必要があります。

アナリティクス

API リファレンス

Wortalのアナリティクス APIを活用することによって、ゲームイベントを追跡し、プレイヤーのゲーム内アクティビティを把握することが可能です。このデータは、Wortalのダッシュボードで表示できます。

// レベルの開始をログ。
Wortal.analytics.logLevelStart('Level 3');

// レベルの終了をログ。名前が一致する場合、ゲーム時間を記録します。
// logLevelStart の最後の呼び出し名()
Wortal.analytics.logLevelEnd('Level 3', '100', true);

// プレイヤーのゲーム内の選択行動をログします。ゲームのバランスを取るのに役立ちます。
// そしてプレイヤーが多く利用するコンテンツを把握できます。
Wortal.analytics.logGameChoice('Character', 'Blue');

アチーブメント

API Reference

Achievements API は、プレイヤーのゲーム内の進捗状況を追跡し、タスクの完了に対して報酬を与えるために使用されます。

// アチーブメントをアンロックする。
Wortal.achievements.unlockAchievementAsync('achievementID')
    .then(() => console.log("Achievement unlocked!"));

// プレイヤーのアチーブメントの進捗状況を取得する。
Wortal.achievements.getAchievementsAsync()
    .then(achievements => console.log(achievements));

コンテキスト

API リファレンス

Context APIは、プレイヤー同士をつなぎ、ゲームセクションの参加、コンテンツの共有、またメッセージのやり取り等に活用できます。

// 友達をゲームに招待する。プレーヤーの現在のコンテキストを切り替えない。
Wortal.context.inviteAsync({
    image: 'data:base64image',
    text: 'Invite text',
    cta: 'Play',
    data: { exampleData: 'yourData' },
})

// ゲームのアクティビティを友達と共有する。
Wortal.context.shareAsync({
    image: 'data:base64image',
    text: 'Share text',
    cta: 'Play',
    data: { exampleData: 'yourData' },
}).then(result => console.log(result));

アプリ内課金

API リファレンス

アプリ内課金(IAP)APIは、プラットフォームでのゲーム内トランザクションの際に使用されます。このプロセスは、プレイされているプラットフォームによって異なりますが、IPは変わりません。

// プレイヤーが購入可能なアイテムリストを確認する。
Wortal.iap.getCatalogAsync()
    .then(products => console.log(products));

// アイテムを購入する。
Wortal.iap.makePurchaseAsync({
    productID: 'my_product_123',
}).then(purchase => console.log(purchase));

リーダーボード

API リファレンス

Leaderboard APIを活用すると、プラットフォームのリーダーボード機能にアクセスが可能に。プレイヤーたちのスコアを追跡し、ランク付けすることができます。

// 上位10位にランクづけられたリーダーボードを取得する。
Wortal.leaderboard.getEntriesAsync('global', 10)
    .then(entries => console.log(entries));

// プレーヤーのスコアをリーダーボードに追加する。
Wortal.leaderboard.sendEntryAsync('global', 100);

通知

API リファレンス

Notifications API は、プレイヤーに通知を送信するために使用されます。これは、ゲーム内のイベントをプレイヤーに通知したり、再びプレイするよう促したりするために使用できます。

// プレイヤーに送信する通知をスケジュールします。
Wortal.notifications.scheduleAsync({
    title: "Your energy is full!",
    body: "Come back and play again.",
    mediaURL: "https://example.com/image.png",
    label: "resources-full",
    scheduleInterval: 300 // 5 minutes
}).then((result) => {
    console.log(result.id);
});

// スケジュール設定された通知をキャンセルする。
Wortal.notifications.cancelAsync('notification-id-123')
    .then((result) => {
        console.log(result);
    });

プレイヤー

API リファレンス

現在のプレーヤーに関する詳細は、Player APIにて確認できます。

// プレイヤーの名前を取得する。
Wortal.player.getName();

// プレイヤーの友達で、ゲームをプレイことがある人のリストを取得する。
Wortal.player.getConnectedPlayersAsync({
    filter: 'ALL',
    size: 20,
    hoursSinceInvitation: 4,
}).then(players => console.log(players.length));

セッション

API リファレンス

現在のセッションの状態に関する詳細は、Session API でアクセスできます。

// ゲームが開始されたエントリポイントを取得する。
Wortal.session.getEntryPointAsync()
 .then(entryPoint => console.log(entryPoint));

//招待やシェアからエントリーポイントのデータを取得します。
// こちらは、プレイヤーがどこから来たのかを追跡するのに役立ちます。
// 招待されたプレイヤーへ報酬を与えます。
const data = Wortal.session.getEntryPointData();
console.log(data);

スタッツ

API Reference

Stats API は、プレーヤーの統計情報を追跡し、ハイスコアを記録するために使用します。

// レベルごとのプレイヤーのハイスコアを取得します。
Wortal.stats.getStatsAsync("level1")
    .then(stats => console.log(stats.value));

// ゲームのハイスコアを設定します。
Wortal.stats.postStatsAsync("level1", 1000)
    .then(() => console.log("High score set!"));

トーナメント

API Reference

Tournament API は、あなたのゲームのトーナメントを作成し、管理するために使用されます。

// Create a tournament.
const payload = {
    initialScore: 100,
    config: {
        title: "Level 1 Tournament",
    },
    data: {
        level: 1,
    },
};

Wortal.tournament.createAsync(payload)
    .then(tournament => console.log(tournament.payload["level"]));

// Post a score to a tournament.
Wortal.tournament.postScoreAsync(200)
    .then(() => console.log("Score posted!"));