アイデンティティプロバイダーとしてGoogleを設定する
注釈:本資料はAI技術を用いて翻訳されています。
概要
このガイドは、デベロッパーがGoogleアカウントをAccelByte Gaming Services (AGS) に接続するのに役立ちます。ゲームによっては、ここに記載されていないGoogleサービス内の追加機能を設定する必要がある場合があります。Googleサービスの設定に関する詳細については、Googleの担当者に連絡し、Google Cloudドキュメントを直接確認することをお勧めします。
このガイドは公開用であり、機密性のため限定的な情報が含まれています。まず完全な機密ガイドを参照することをお勧めします。機密ガイドのコピーをリクエストするには、AccelByteテクニカルプロデューサーにお問い合わせください。
目標
AGS SDKを使用してゲームのGoogle認証方法を有効にし、パブリッシャーウェブサイト(AGS Player Portal)で有効にします。
前提条件
ウェブログイン統合
- Google Cloud Consoleアカウント。
- 認証を設定し、権限を管理するためのAGS Admin Portalアカウント。
- Player Portalとlauncher用のパブリッシャーnamespace。
- Player Portal。
ウェブログイン統合は現在AGS Shared Cloudでは利用できず、AGS Private Cloudでのみサポートされています。
ゲーム内Androidログイン統合
- Google Cloud Consoleアカウント。
- Google Play Consoleアカウント。
- Unreal Engineを使用する場合、以下が必要です:
- Unity Engineを使用する場合、以下が必要です:
- Unity Android Environment Setupに従ってください。
- 最新バージョンのAGS Unity SDKとUnity SDK Googleを持っています。
- 最新バージョンのAGS SDKがインポートされたUnityまたはUnrealゲームプロジェクト。
- 認証を設定し、権限を管理するためのAGS Admin Portalアカウント。
- AGSゲームnamespace。
- AGS Identity and Access Management (IAM) Clientsに関する知識。
Google CloudとGoogle Playの設定
ウェブログイン用 (CloudとPlay)
Google Cloud Identityの作成
Google Cloud Identity組織を作成します。Set up Cloud Identity as a Google Cloud admin guideに従ってください。
Google Consoleプロジェクトの作成
Google Consoleの下に新しいプロジェクトを作成します。Create a Google Cloud project Guideに従ってください。
OAuth同意の設定
OAuth consent screenで、アプリにopenidスコープを追加します。ユーザー同意の詳細については、Configure the OAuth consent screen pageを参照してください。
OAuth認証情報の作成
Webアプリケーションタイプでoauth認証情報を作成し、これらのURLをOAuth Authorized redirect URIsに追加します:
https://{BaseURL}https://{BaseURL}/iam/v3/platforms/google/authenticatehttps://{BaseURL}/player/account/linked-accountshttps://{BaseURL}/account/linked-accountshttps://{BaseURL}/account/linked-accounts?platformId=googlehttps://{BaseURL}/iam/v3/public/namespaces/{namespace}/users/me/platforms/google/web/link/establishhttp://127.0.0.1
BaseURLはドメインアドレスです。例: https://development.accelbyte.io。
詳細については、GoogleのSetting up OAuth 2.0ガイドに従ってください。
Google Androidアプリの作成
Googleアプリを作成します。Create and set up your app guideに従ってください。
プロジェクトアプリの作成
- Unreal Engine手順
- Unity Engine手順
指定されたkeystoreを使用して、空のUnrealプロジェクトをAAB形式でビルドします。Unrealプロジェクト用のkeystoreの生成の詳細については、Signing Projects for Releaseガイドをお読みください。
指定されたkeystoreを使用して、空のUnityプロジェクトをAAB形式でビルドします。Unityプロジェクト用のkeystoreの生成と使用の詳細については、UnityのAndroid Keystoreの記事をお読みください。
プロジェクトのリリースを作成
アプリのリリースを作成します。Prepare and roll out a release guideに従ってください。
Google Play Games Servicesの設定
Google Play Games Servicesを設定します。Setting Up Google Play Games Services guideに従ってください。以下を行う必要があります:
- Play Games Servicesプロジェクトを作成します。
- Google Cloud PlatformでOAuth同意画面を作成します。OAuth consent screenで、アプリに次の4つのスコープを追加します:
- openid
- .../auth/games
- .../auth/games_lite
- .../auth/drive.appdata
- 認証情報を作成します。
すべての設定が完了したら、レビューして公開します。
Googleログイン方法の設定
ウェブログイン用 (Google)
次の手順に従って、Player PortalでGoogleログインを設定します。これにより、プレイヤーはWebからGoogleアカウントを使用してサインインできるようになります。
-
パブリッシャーnamespaceの下でAGS Admin Portalにログインします。Game Setup > 3rd Party Configuration > Auth & Account Linkingに移動し、+ Add Newをクリックします。
-
Googleをクリックし、Google Cloud Console認証情報でログイン設定を入力します。完了したらCreateをクリックします。
- Client ID: Google OAuth Client ID。
- Client Secret: Google OAuth Client Secret。
- Redirect URI: Google OAuth Authorized Redirect URI:
https://<BaseURL>/iam/v3/platforms/google/authenticate。
注記<BaseURL>をドメインアドレスに置き換えます。例:https://development.accelbyte.io -
詳細ページで、Activateをクリックし、ポップアップでActivateをクリックして確認します。
Google Webログインのテスト
-
AGS Player Portal(例:
https://development.accelbyte.io)に移動し、Loginをクリックします。 -
Sign up or log in withの下で、Googleアイコンを見つけてクリックします。表示されない場合はMore login optionsをクリックします。
-
Google認証情報を使用してログインします。
特定のドメインとロール用のGoogleログインをアクティベート
Googleログイン統合により、特定のGoogleドメインを使用してログインを処理し、特定のロールを直接割り当てることができます。例えば、組織メンバーがGoogle OrganizationアカウントでAGS Admin Portにログインできるようにする場合、Google Organizationドメインを登録できます。
これはPublisher Namespacesでのみ実行できます。
-
Googleログイン設定の下で、+ Register Domainボタンをクリックします。Domain Name、Clients、を入力します。

- Domain NameはGoogle Organizationアカウントドメインです。例の形式:
yourdomain.io。 - ClientsはAdmin PortalのIAM Client Nameです。IAM Clientの詳細については、Manage access control for applications guideを参照してください。
- Default Roleは、Google OrganizationアカウントでAdmin Portalにログインすると組織メンバーに割り当てられるロールです。例の値:
Admin Portal。ロールの詳細については、Manage access control for user accounts guideを参照してください。
Admin Portal用のGoogle Organizationアカウントの使用
上記の手順の後、次の手順を使用してGoogle OrganizationアカウントでAdmin Portalにログインします。
-
Admin Portalに移動し、GoogleアイコンをクリックしてGoogleにログインします。

-
Google Organizationアカウント認証情報でログインします。これにより、管理者としてログインされます。

ゲーム内ログイン用
次の手順に従って、ゲームのGoogleログインを設定します。これにより、プレイヤーはGoogleアカウントを使用してゲームにサインインできるようになります。
-
パブリッシャーnamespaceの下でAGS Admin Portalにログインします。Game Setup > 3rd Party Configuration > Auth & Account Linkingに移動し、+ Add Newをクリックします。
-
Googleをクリックし、Google Cloud Console認証情報でログイン設定を入力します。完了したらCreateをクリックします。
- Client ID: Google OAuth Client ID。
- Client Secret: Google OAuth Client Secret。
- Redirect URI: localhostURI:
http://127.0.0.1
-
詳細ページで、Activateをクリックし、ポップアップでActivateをクリックして確認します。
IAMクライアントの作成
IAMクライアントは、ターゲットプラットフォームでリリースしたいゲームクライアントの表現です。IAMクライアントの詳細については、Manage access control for applicationsを参照してください。
ゲーム内ログイン手順
このドキュメントに従うことで、AGS SDKを使用してゲームサインインプロセスを統合し、プレイヤーがGoogleアカウントを使用してゲームにログインできるようにすることができます。プレイヤーがGoogle認証情報を使用してゲームまたはプラットフォームにログインするには、ゲームはプレイヤーが使用している認証情報を持つGoogleプラットフォームからAuth tokenをパブリッシャープラットフォームに渡す必要があります。
各ゲームエンジンの設定は異なります。利用可能なタブからゲームエンジンを選択してください。
- Unreal Engine手順
- Unity Engine手順
ゲーム内ログイン統合 (Unreal)
準備と設定 (Unreal)
ソースコードの準備 (Unreal)
Googleオンラインサブシステムを使用できるようにするには、専用のUnreal Engineソースコードが必要です。
- Epic Games GitHubからUnreal Engineバージョン4.27.2をダウンロードします: Release Unreal Engine 4.27.2 · EpicGames/UnrealEngine (github.com)。
- ソースコードの一部を変更する必要があります。
-
Server Auth Codeを有効にします。
- Unreal Engineインストールのディレクトリに移動し、
Engine\Plugins\Online\OnlineSubsystemGoogle\Source\ThirdParty\Android\Java\フォルダにあるGoogleLogin.javaファイルを開きます。このファイルに次の変更を加えます:
-
public boolean init(String inClientId, String inServerClientId)に移動し、下にスクロールして.requestServerAuthCode(serverClientId)部分のコメントを解除します。 -
private String getAuthTokenJsonStr(GoogleSignInAccount acct)に移動し、下にスクロールしてaccess_token値をandroidInternalからacct.getServerAuthCode()に変更します。
- Unreal Engineインストールのディレクトリに移動し、
-
restful実装を無効にします。
- Unreal Engineインストールのディレクトリに移動し、
Engine\Plugins\Online\OnlineSubsystemGoogle\Source\フォルダにあるOnlineSubsystemGoogle.Build.csファイルを開きます。次の変更を行います:
-
constructorに移動し、bool bUsesRestfulImpl = false;を追加します。 -
すべてが変更されたら、C++コードを再度コンパイルして、すべての変更がコンパイルされ、Androidビルドをパッケージ化するときに含まれるようにします。
-
同じディレクトリで、
OnlineSubsystemGoogle.pluginファイルを開きます。 -
そのファイルの
Modulesの下で、WhitelistPlatformsに値Androidを追加します。
- Unreal Engineインストールのディレクトリに移動し、
-
プロジェクトの作成 (Unreal)
新しいUnreal Engineプロジェクトを作成した後、いくつかの項目を設定および構成する必要があります。
OnlineSubsystemGoogleプラグインとサービス設定を有効にする (Unreal)
-
プロジェクトファイルでプラグインを有効にします。
-
<project>/Config/Androidディレクトリで、AndroidEngine.iniファイルを開き、次の変更を行います: ; For Android, our native service will be Google Play DefaultPlatformService=GooglePlay NativePlatformService=Google[OnlineSubsystemGoogle] bEnabled=True ClientId=662680510101-gojaaltsfsg4ei75afnfii3e43ebocgp.apps.googleusercontent.com ServerClientId=662680510101-gojaaltsfsg4ei75afnfii3e43ebocgp.apps.googleusercontent.com ClientSecret=GOCSPX-zR_pvAu6EruK-s0yf2v3********
[OnlineSubsystemGoogle.OnlineIdentityGoogle] +ScopeFields="email" +ScopeFields="profile" +ScopeFields="https://www.googleapis.com/auth/userinfo.email" +ScopeFields="https://www.googleapis.com/auth/userinfo.profile"
[OnlineSubsystemGooglePlay] bEnabled=True
[OnlineSubsystemGooglePlay.Store] bSupportsInAppPurchasing=True bUseStoreV2=False
[/Script/AccelByteUe4Sdk.AccelByteSettings] ClientId=a342f59f3489476ca02d704c75891a3b ClientSecret=k@#h,G]R^C61#2d!************ Namespace=sdktest PublisherNamespace=accelbyte BaseUrl="https://development.accelbyte.io"
:::note
`OnlineSubsystemGoogle ClientId`はGoogle Play Consoleのゲームサーバー認証情報から取得され、**AccelByte `ClientId`**はIAMクライアント認証情報から取得されます。
::: -
プロジェクトプラグインとモジュール
プロジェクト設定 (Unreal)
Unrealプロジェクトのパッケージング、Androidプラットフォーム、Credential/Licenseを設定します。
keystoreの生成 (Unreal)
- Signing projects for release guideに従ってください。
- ディレクトリ
C:\Program Files\Android\Android Studio\jre\binに移動し、keystore.exeを開きます。 - コマンドを実行します:
keytool -genkey -v -keystore ExampleKey.keystore -**alias** MyKey -keyalg RSA -keysize 2048 -validity 10000。 - 生成された
*.keystoreファイルを場所justice-unreal-sdk-project - Android\Build\Androidに配置します。
サンプルコード実装 (Unreal)
- クラスアクターを作成し、そのレベルにGoogleネイティブログインとAGSのAccessサービスを配置できます。以下は例です:
スニペットで使用されるAccelByteOnlineSubsystemPtrを取得するには、このガイドに従ってください。
Google認証のplatform_tokenはAuth Tokenです。
- その後、ウィジェットブループリントと一緒に実装して統合します。
サンプルコードのテスト (Unreal)
すべての設定、構成、および実装が完了したら、アプリをコンパイルしてAndroidデバイスにデプロイします。その後、Googleネイティブログインサービスを通じてAGSにログインできます。
- AndroidデバイスがPCで検出されていることを確認し、ターミナルで次のコマンドを実行します:
adb devices - プロジェクトをAndroid (ASTC)にパッケージ化します。
- アプリをAndroidデバイスにインストールして実行します。
Google Play Consoleへのプロジェクトのアップロード (Unreal)
指定されたkeystoreを使用して、UnrealプロジェクトをAAB形式でビルドします。GoogleログインをUnrealプロジェクトに設定していない場合は、空のプロジェクトでも構いません。ゲームを公開した後、テストする準備が整います。
ゲームをまだ公開していない場合は、Googleアカウントでゲームをテストできるようにテスターアカウントを追加する必要があります。Set up an open, closed, or internal test guideに従ってください。
ゲーム内ログイン統合 (Unity)
AccelByte Unity SDK Google拡張機能を使用すると、GoogleアカウントのfeatureをAGSと統合できます。この拡張機能はGitHubで見つけてダウンロードできます。拡張機能をインストールしてゲームにGoogleログインを実装するには、GitHubの拡張機能のinstallation guideに従ってください。
Google Play Consoleへのプロジェクトのアップロード (Unity)
指定されたkeystoreを使用して、UnityプロジェクトをAAB形式でビルドします。Delivering to Google Play guideに従ってください。GoogleログインをUnityプロジェクトに設定していない場合は、空のプロジェクトでも構いません。ゲームを公開した後、テストする準備が整います。
ゲームをまだ公開していない場合は、Googleアカウントでゲームをテストできるようにテスターアカウントを追加する必要があります。これを行うには、Set up an open, closed, or internal test guideに従ってください。