Wortal SDK for Defold
インストール
- Wortal SDK を Defold library dependency として追加する
使い方
広告
インタースティシャル広告では、レベルの達成や切り替えの合間に表示が可能です。
–- プレイヤーがレベルを達成。
wortal.ads_show_interstitial("next", "NextLevel", pause_game, resume_game)
–- プレイヤーがゲームを一時停止
wortal.ads_show_interstitial("pause", "PausedGame", pause_game, resume_game)
–- プレイヤーがアプリ内課金ページにアクセス
wortal.ads_show_interstitial("browse", "BrowseShop", pause_audio, resume_audio)
リワード広告は、プレイヤーが動画広告を最後まで視聴するなどの条件を満たした場合に、報酬を与える広告タイプです。必ずプレイヤーに通知し、許可を受けてから表示する必要があります。
–- この例では、広告の条件達成とは関係なく、ゲームが進みます。
–- 例:プレイヤーは広告を視聴することでボーナスコインを取得できますが、その結果に関わらずゲームは続行されます。
wortal.ads_show_rewarded("BonusCoins", pause_game, resume_game, skip_bonus, add_bonus_coins)
–- この例では、広告の広告の条件達成に関係して、ゲームが進みます。
–- 例:プレイヤーはゲームオーバーの際、広告を視聴することで復活できますが、広告をスキップするとそのレベルを失います。
wortal.ads_show_rewarded("ReviveAndContinue", pause_audio, resume_audio, end_game, continue_game)
注: プレーヤーは、adViewed コールバックでのみ報酬を受ける必要があります。
アナリティクス
Wortalのアナリティクス APIを活用することによって、ゲームイベントを追跡し、プレイヤーのゲーム内アクティビティを把握することが可能です。このデータは、Wortalのダッシュボードで表示できます。
–- レベルの開始をログ。
wortal.analytics_log_level_start("Level 3")
–- レベルの終了をログ。名前が一致する場合、ゲーム時間を記録します。
–- logLevelStart の最後の呼び出し名()
wortal.analytics_log_level_end("Level 3", "100", 1)
–- プレイヤーのゲーム内の選択行動をログします。ゲームのバランスを取るのに役立ちます。
–- そしてプレイヤーが多く利用するコンテンツを把握できます。
wortal.analytics_log_game_choice("Character", "Blue")
アチーブメント
Achievements API は、プレイヤーのゲーム内での進捗を追跡するために使用されます。特定のタスクを完了したり、特定のマイルストーンに到達することでアンロックできます。
-- アチーブメントをアンロックする。
wortal.achievements_unlock_achievement("achievement-123", function(self, success, error)
popup.success_check(success, "Success!", "Error")
end)
-- プレイヤーが獲得したアチーブメントのリストを取得します。
wortal.achievements_get_achievements(function(self, achievements, error)
popup.success_check(achievements, prettify(json.decode(achievements)), "Error")
end)
コンテキスト
Context APIは、プレイヤー同士をつなぎ、ゲームセクションの参加、コンテンツの共有、またメッセージのやり取り等に活用できます。
–- 友達をゲームに招待する。プレーヤーの現在のコンテキストを切り替えない。
local payload = {
image = 'data:base64image',
text = 'Invite text',
cta = 'Play',
data = { exampleData: 'yourData' },
}
wortal.context_invite(json.encode(payload), function(self, success, error)
popup.success_check(success, "Success!", "Error")
end)
–- ゲームのアクティビティを友達と共有する。
local payload = {
image = 'data:base64image',
text = 'Share text',
cta = 'Play',
data = { exampleData: 'yourData' },
}
wortal.context_share(json.encode(payload), function(self, shareResult, error)
popup.success_check(shareResult, shareResult, "Error")
end)
アプリ内課金
アプリ内課金(IAP)APIは、プラットフォームでのゲーム内トランザクションの際に使用されます。このプロセスは、プレイされているプラットフォームによって異なりますが、IPは変わりません。
–- プレイヤーが購入可能なアイテムリストを確認する。
wortal.iap_get_catalog(function(self, catalog, error)
popup.success_check(catalog, prettify(json.decode(catalog)), "Catalog failed")
end)
–- アイテムを購入する。
local purchaseConfig = {
productID = "my.product.id"
}
wortal.iap_make_purchase(json.encode(purchaseConfig), function(self, purchase, error)
popup.success_check(purchase, prettify(json.decode(purchase)), "Purchase failed")
end)
リーダーボード
Leaderboard APIを活用すると、プラットフォームのリーダーボード機能にアクセスが可能に。プレイヤーたちのスコアを追跡し、ランク付けすることができます。
–- 上位10位にランクづけられたリーダーボードを取得する。
wortal.leaderboard_get_entries("global", 10, 0, function(self, entries, error)
popup.success_check(entries, prettify(json.decode(entries)), "Leaderboard get entries failed")
end)
–- プレーヤーのスコアをリーダーボードに追加する。
wortal.leaderboard_send_entry("global", 250, "details", function(self, entry, error)
popup.success_check(entry, prettify(json.decode(entry)), "Leaderboard add failed")
end)
通知
Notifications API は、プレイヤーに通知を送信するために使用されます。これは、ゲーム内のイベントをプレイヤーに通知したり、再びプレイするよう促したりするために使用できます。
–- プレイヤーに送信する通知をスケジュールします。
local payload = {
title = "Your energy is full!",
body = "Come back and play again.",
mediaURL: "https://example.com/image.png",
label: "resources-full",
scheduleInterval: 300
}
wortal.notifications_schedule(json.encode(payload), function(self, result, error)
popup.success_check(result, prettify(json.decode(result)), "Notification schedule failed")
end)
–- スケジュール設定された通知をキャンセルする。
wortal.notifications_cancel("notification-123", function(self, success, error)
print(success)
end)
プレイヤー
現在のプレーヤーに関する詳細は、Player APIにて確認できます。
–- プレイヤーの名前を取得する。
local name = wortal.player_get_name()
–- プレイヤーの友達で、ゲームをプレイことがある人のリストを取得する。
local payload = {
filter = "ALL",
size = 20,
hoursSinceInvitation = 4,
}
wortal.player_get_connected_players(json.encode(payload), function(self, players, error)
popup.success_check(players, prettify(json.decode(players)), "Error")
end)
セッション
現在のセッションの状態に関する詳細は、Session API でアクセスできます。
–- ゲームが開始されたエントリポイントを取得する。
wortal.session_get_entry_point(function(self, entryPoint, error)
popup.success_check(entryPoint, entryPoint, "Error")
end)
スタッツ
Stats API は、プレーヤーのゲーム内の統計情報を追跡するために使用されます。
-- プレイヤーのゲーム内の進行状況を追跡する。
wortal.stats_post_stats("level 1", 3, function(self, success, error)
popup.success_check(success, "Success!", "Error")
end)
-- プレイヤーの統計情報を取得する。
wortal.stats_get_stats("level 1", function(self, stats, error)
popup.success_check(stats, prettify(json.decode(stats)), "Error")
end)
トーナメント
Tournament API は、あなたのゲームのトーナメントを作成し、管理するために使用されます。
-- Create a tournament.
local payload = {
initialScore: 100,
config: {
title: "Level 1 Tournament",
},
data: {
level: 1,
},
};
wortal.tournament_create(json.encode(payload)), function(self, tournament, error)
popup.success_check(tournament, prettify(json.decode(tournament)), "Error")
end)
-- Post a score to a tournament.
wortal.tournament_post_score(200), function(self, success, error)
popup.success_check(success, "Success!", "Error")
end)