こんにちは!GameWithサービス開発部です。
サービス開発部では月に一度、全体会にて どのように業務課題を改善したか をアピールする会を行っています。
今回は3件の内容をご紹介します!
先月の発表内容はこちらです
https://tech.gamewith.co.jp/entry/2024/06/18/100000
ソーシャルログイン実装で苦労した点
GameWithにソーシャルログインを導入した際に苦労した点の発表でした。AWSのcognitoやFirebase Authenticationと言ったBaaSを利用せず、自前でAPIキーを取って実装しています。
以下、各プロバイダについての特徴、苦労した点となります。
- Google
- ライブラリを利用して実装
- 審査を受けないとユーザー上限100人となってしまうため、審査が必要
- 審査は数日程度で通りました
- LINE
- ちょうどいいライブラリがなかったので、自前でOAuthクライアント側の実装を行った
- 2024年4月以降、ユーザーが退会した際に、こちらからLINEとの連携解除をする実装が必須になっている
- X (Twitter)
- Twitter→Xになった影響で、仕様変更が多く、開発者ドキュメントも更新が追いついていない
- エラーが出るなど連携が不安定なため、一旦対応を見送り
- 他サービスでもXでのソーシャルログインで不具合報告が上がっている
- Apple
- サードパーティーに対してメールを非公開にしてログインできるのが特徴。専用の転送メアドが作られる。
- プロバイダ認証後のコールバック時にPOSTメソッドで戻って来る(GETにすることも可能だが、その場合メールアドレスが取れなくなってしまう)
- セッションでデータを保持している場合、Cookieのデフォルト挙動がchrome 80からSameSite=Laxになっているため、POSTではデータを保持できなくなっている点に注意が必要
- 新しい SameSite=None; Secure Cookie 設定への対応準備 | Google 検索セントラル ブログ | Google for Developers
各プロバイダごとに注意ポイントが様々ですね!
atwikiのSEO改善について
GameWith傘下のatwikiのページのインデックス管理に関する発表でした。現在atwikiにおいてはそれぞれのページでGoogleに検索のインデックス登録を行っています。
インデックスが大量に存在しており、ユーザー側が必要だと思うページが検索結果に表示されにくくなっている(Google検索のインデックスをするbotにクロールされづらくなる)のではないか、という危惧がありました。そのため、以下のような理由から価値が比較的高くないページのnoindexを行うことにしました。
対応の理由
- 価値の高いページを増やす: atwikiでは初期状態で放置されているページも散見されることから、これらをインデックスから除外することで価値の高いページをクロールさせやすくする。
- ユーザーエクスペリエンスの向上: 価値の高くないページが検索結果に表示されることを防ぎ、重要なページがより目立つようにするため。
noindexは以下のような条件を元に実施しました。
noindex対応の条件
- 対象: 長期間更新がないwiki。
- 対象割合: 対象となるwikiの8〜9割がnoindex化。
上記の条件の結果、全体のインデックス数を40%程度削減することができました。
noindex対応の影響としては、やはりクロール数の変化はありました。クロール数は下がっているようには見えますが、必要なページが確実にクロールされているかは調査できず不明でした。ただし、確実にクロールの全体量は減っているため、不要なページがインデックスされることが減りatwiki全体の品質向上に寄与する可能性が高い、と見られます。
今後の観察ポイント
- クロールの実態確認: クロール数の減少がどの程度か、必要なページがクロールされているかのデータ収集と分析が必要。
- ユーザー利便性の検証: noindex対応がユーザーエクスペリエンスに与える影響を継続的に観察する。
インデックスの削減で、より良い検索を実現して、ユーザーの体験の改善に繋がると良いですね!
AIM練習ソフト開発進捗について
GameWithではUnityを用いたAIM練習ソフトの開発を行っており、業務アピール会内で進捗共有がありました。
Unityに関しての記事は過去にも取り上げていますので、こちらも是非ご覧になってください。
詳しい内容はお伝えできず申し訳ありませんが、現在はAIM練習を楽しく行えるようにするための仕組みを開発しています。
先日はこの機能のプロトタイプを1週間で作成し、ステークホルダーからのフィードバックを得るまでを爆速で行えたそうです。
爆速で進められた理由としては下記2点が大きかったとのことでした。
- ペアプロで進めた
- サーバー側の処理を一切書かなかった(マスターデータはソース内に全て埋め込んでしまうなど)
また、プライベートで引っ越しに伴いGameWith光10Gプランを導入。
スピードテストでは7.1Gbpsの超高速通信を記録したそうです!
AIM練習ソフトは鋭意制作中です!続報をお楽しみに!
最後に
今回もGameWithサービス開発部の裏側をお伝えしました。新たな発見に繋がっていれば幸いです。
こんなGameWithではエンジニアを絶賛募集中です!
サーバーエンジニアやフロントエンジニアの方、AIに興味がある方や、Unityでの開発に興味がある方もお気軽にカジュアル面談をお申し込みください!