v2 ネイティブ C または C++ を設定する

このドキュメントでは、v2 Native C または C++ 用に C++ プロジェクトをセットアップし、認証サービスを確認する方法について説明します。

始める前に

Google Play Console で Play Games サービスをセットアップする 必要があります。

アプリの前提条件

アプリのビルドファイルで次の値が使用されていることを確認します。

  • minSdkVersion19 以上
  • compileSdkVersion28 以上

ゲーム プロジェクトをセットアップする

以下の手順でゲーム プロジェクトをセットアップします。

build.gradle を更新する

アプリレベルの build.gradle ファイルで、次の手順を行います。

  • prefab ビルド機能を有効にします。

  • v2 Native SDK(ベータ版)の依存関係を追加します。

    • com.google.android.gms:play-services-games-v2-native-c:21.0.0-beta1

次の例をご覧ください。

  android {
    ...
    buildFeatures {
      prefab true
    }
    ...
  }
  dependencies {
    ...
    implementation "com.google.android.gms:play-services-games-v2-native-c:21.0.0-beta1"
  }

CMakeLists.txt を更新する

CMakeLists.txt ファイルに、次のコードを追加します。

  find_package(com.google.android.gms.games.v2.c REQUIRED CONFIG)

  // link games_static for -DANDROID_STL=c++_static or default
  // link games_shared for -DANDROID_STL=c++_shared
  target_link_libraries(
    app PUBLIC com.google.android.gms.games.v2.c::games_static)

AndroidManifest.xml を更新する

  1. AndroidManifest.xml ファイルで Play Games サービスのプロジェクト ID を定義するには、次の行を追加します。

    <manifest>
      <application>
        <meta-data android:name="com.google.android.gms.games.APP_ID"
                   android:value="@string/game_services_project_id"/>
      </application>
    </manifest>
    
  2. プロジェクト ID の 文字列リソースを作成します。これにより、ビルド時にゲームが ID にアクセスできるようになります。リソースを作成するには、project_root/app/src/main/res/values/games-ids.xml ファイルを作成して、以下を追加します。

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <string name="game_services_project_id"
                translatable="false">add your Project ID here</string>
    </resources>
    
  3. ゲームをビルドし、テストします。成功した場合は、ゲームの起動時にログイン プロンプトまたは成功を示すログインバナーが表示されます。

ログイン プロンプトを再起動する

ゲームの起動時に自動的に表示される Play Games サービスの初回のログイン プロンプトをプレーヤーが拒否した場合でも、ゲーム セッション中にプレーヤーの気が変わることがあります。認証されているプレーヤーがいなければ、PgsGamesSignInClient_signIn を呼び出すことでログイン プロンプトを再起動できます。

ゲームサーバーの認証

プレーヤーが Play Games サービスへの認証に成功すると、ゲーム クライアントはサーバー認証コードをリクエストできます。このコードはバックエンド ゲームサーバーが Play Games サービスと安全に通信するために使用されます。これにより、ゲームサーバーは認証されたプレーヤーのデータを取得、更新、保存できます。サーバー認証コードを取得するには、PgsGamesSignInClient_requestServerSideAccess 関数を呼び出します。

詳細については、 サーバーのアクセスガイドをご覧ください。