「GameOn使うとゲーム系のスキル作りやすいよー」という話を聞いてから3ヶ月程度、ようやく公開できるスキルもできたのでプレゼンしてきました。
目次
スライド
当日のツイートまとめ
【AAJUG 京都】 スキル企画・開発アドバンスドのまとめ #aajug
補足: Serverless FrameworkでのGameOnパラメータの渡し方
GameOnのキー情報をハードコードすると、スキルの横展開が手間になる & Publicな場にソースをアップしにくいなどの問題があります。
ということで、Serverless Frameworkを使って環境変数に値を入れるようにしています。
provider:
name: aws
runtime: nodejs10.x
logRetentionInDays: 14
region: us-east-1
stage: development
environment:
GAMEON_PUBLIC_API_KEY: ${ssm:MATH_GAME_PUBLIC_API_KEY~true}
GAMEON_APPBUILD_TYPE: ${self:custom.stage}
GAMEON_GAME_ID: GAMEON_ID
GAMEON_AVATAR_BASE_URL: https://example.com/youtube_profile_image.png
GAMEON_LEADERBOARD_BG_URL: https://example.com/home-jumbotron.jpg
GAMEON_NUMBER_OF_AVATARS: 50
GAMEON_TOP_N_LEADERBOARD_ITEM_COUNT: 10
GAMEON_PLAYER_NEIGHBORS_COUNT: 5
functions:
reduceMath:
handler: lambdaBackends/mathQuizes/reduceMath.handler
environment:
PATH_PREFIX: YOUR_SKILL_NAME
GAMEON_TOURNAMENT_ID: TOURNAMENT_ID
GAMEON_MATCH_ID: MATCH_ID
events:
- alexaSkill
ID系はYAMLにハードコードしてますが、API KeyについてはSystems Managerのパラメータストアに暗号化して保存し、sls deploy
のタイミングで環境変数に入れるようにしました。