Skip to content

Latest commit

 

History

History
192 lines (139 loc) · 7.74 KB

File metadata and controls

192 lines (139 loc) · 7.74 KB
Game Frame X Logo

Unity マルチプラットフォームチャンネル取得

License Version Unity Version Documentation

インディゲーム開発者向けオールインワンソリューション · インディ開発者の夢を支援


ドキュメント · クイックスタート · QQグループ: 467608841 / 233840761


English | 简体中文 | 繁體中文 | 日本語 | 한국어

機能

  • マルチプラットフォーム対応:iOS、tvOS、visionOS、Android、Editor、PC(Windows/Mac/Linux)、WebGL、UWP、PS4、PS5、Xbox One、Nintendo Switch。
  • プリセットされたチャンネル情報を取得するためのシンプルな API を提供。
  • iOS プラットフォームでは、ビルド時に Info.plist にデフォルトチャンネルを自動追加(未設定の場合)。

クイックスタート

インストール

以下のいずれかの方法を選択してください:

  1. Unity プロジェクトの Packages/manifest.json を編集し、scopedRegistries セクションを追加してください:

    {
      "scopedRegistries": [
        {
          "name": "GameFrameX",
          "url": "https://gameframex.upm.alianblank.uk",
          "scopes": [
            "com.gameframex"
          ]
        }
      ],
      "dependencies": {
        "com.gameframex.unity.getchannel": "1.3.2"
      }
    }

    scopes は、どのパッケージをこのレジストリから解決するかを制御します。com.gameframex で始まるパッケージのみがこのレジストリから取得されます。

  2. manifest.jsondependencies に直接追加:

    {
       "com.gameframex.unity.getchannel": "https://github.com/gameframex/com.gameframex.unity.getchannel.git"
    }
  3. Unity の Package ManagerGit URL を使用して追加:https://github.com/gameframex/com.gameframex.unity.getchannel.git

  4. リポジトリを Unity プロジェクトの Packages ディレクトリにクローンしてください。自動的に読み込まれます。

インストール

Unity プロジェクトの Packages/manifest.json を編集し、scopedRegistries セクションを追加してください:

{
  "scopedRegistries": [
    {
      "name": "GameFrameX",
      "url": "https://gameframex.upm.alianblank.uk",
      "scopes": [
        "com.gameframex"
      ]
    }
  ]
}

scopes は、どのパッケージをこのレジストリから解決するかを制御します。com.gameframex で始まるパッケージのみがこのレジストリから取得されます。

Then add the package to dependencies:

{
  "dependencies": {
    "com.gameframex.unity.getchannel": "1.3.2"
  }
}

使用方法

1. チャンネル情報の取得

C# スクリプトで、BlankGetChannel.GetChannelName(string key) メソッドを使用してチャンネル情報を取得します。key パラメータは、対応プラットフォームでチャンネル情報を設定した際のキー名です。

サンプルコード:

using UnityEngine;

public class MyGameScript : MonoBehaviour
{
    void Start()
    {
        // デフォルトチャンネルを取得(キー名は "channel")
        string channel = BlankGetChannel.GetChannelName();
        Debug.Log("現在のチャンネル: " + channel);

        // 特定のキーでチャンネルを取得
        string customChannel = BlankGetChannel.GetChannelName("channelName");
        Debug.Log("カスタムチャンネル: " + customChannel);

        // デフォルト値を指定してチャンネルを取得
        string subChannel = BlankGetChannel.GetChannelName("sub_channel", "unknown");
        Debug.Log("サブチャンネル: " + subChannel);
    }
}

2. iOS / tvOS / visionOS プラットフォーム設定

iOS、tvOS、visionOS プラットフォームでは、プラグインにビルド後処理 (PostProcessBuildHandler.cs) が含まれています。ビルド時、プロジェクトの Info.plist ファイルに:

  • channel という名前のキーが ない 場合、スクリプトは自動的にキー channel、値 default のエントリを追加します。
  • channel という名前のキーが すでに存在する 場合、変更は行われません。

Xcode プロジェクトの Info.plist ファイルで channel の値を変更するか、BlankGetChannel.GetChannelName() を呼び出す際にカスタムキー名を使用してください(そのキー名が Info.plist に存在することを確認してください)。

Info.plist 設定例:

<key>channel</key>
<string>ios_cn_taptap</string>

<key>sub_channel</key>
<string>beta</string>

3. Android プラットフォーム設定

Android プラットフォームでは、AndroidManifest.xml ファイルでチャンネル情報を定義する必要があります。通常、<application> タグ内に <meta-data> タグを追加して行います。

例えば、キー名 channel、値 android_cn_taptap を使用する場合:

<application ...>
    <activity ...>
        ...
    </activity>

    <meta-data
        android:name="channel"
        android:value="android_cn_taptap" />

    <meta-data
        android:name="sub_channel"
        android:value="beta" />

    <!-- その他の meta-data -->
</application>

その後、C# コードで BlankGetChannel.GetChannelName("channel") を使用してこの値を取得できます。

4. Editor / PC / WebGL / UWP / コンソールプラットフォーム設定

Editor、PC(Windows/Mac/Linux)、WebGL、UWP、PS4、PS5、Xbox One、Nintendo Switch などのプラットフォームでは、Unity プロジェクトの Resources フォルダに application_config.txt という名前のテキストファイルを作成する必要があります。

application_config.txt ファイル形式の例:

channel=editor_cn_test
sub_channel=beta
other_key=other_value

各行の形式:キー名=値

プラグインはこのファイルからキーと値のペアを自動的に読み取り、後続の使用のためにキャッシュします。

注意事項

  • BlankGetChannel.GetChannelName(string key) を呼び出す際、使用する key が対応プラットフォームの設定ファイルで設定したキー名と一致していることを確認してください:
    • iOS / tvOS / visionOSInfo.plist ファイル
    • AndroidAndroidManifest.xml ファイルの <meta-data> タグ
    • Editor / PC / WebGL / UWP / コンソールプラットフォームResources/application_config.txt ファイル
  • プラグインには link.xml ファイルが含まれており、Unity のコードストリッピング機能によるコード削除を防ぎます。
  • GetChannelName() メソッドはチャンネル情報をキャッシュし、設定ファイルの繰り返し読み込みを回避してパフォーマンスを向上させます。