インディゲーム開発者向けオールインワンソリューション · インディ開発者の夢を支援
📖 ドキュメント • 🚀 クイックスタート • 💬 QQグループ: 467608841
🌐 言語: English | 简体中文 | 繁體中文 | 日本語 | 한국어
このプラグインは、Unity プロジェクトでマルチプラットフォームの配信チャンネル識別子を取得するために使用されます(iOS、tvOS、visionOS、Android、Editor、PC、WebGL、UWP、コンソールプラットフォームに対応)。https://github.com/GameFrameX/GameFrameX プロジェクトのサブモジュールです。
- マルチプラットフォーム対応:iOS、tvOS、visionOS、Android、Editor、PC(Windows/Mac/Linux)、WebGL、UWP、PS4、PS5、Xbox One、Nintendo Switch。
- プリセットされたチャンネル情報を取得するためのシンプルな API を提供。
- iOS プラットフォームでは、ビルド時に
Info.plistにデフォルトチャンネルを自動追加(未設定の場合)。
以下の3つの方法で、このプラグインを Unity プロジェクトに追加できます:
-
manifest.json経由で追加: プロジェクトのPackagesディレクトリにあるmanifest.jsonファイルのdependenciesノードに以下を追加してください:{ "dependencies": { "com.gameframex.unity.getchannel": "https://github.com/gameframex/com.gameframex.unity.getchannel.git", // ... その他の依存関係 } } -
Unity Package Manager で Git URL を使用: Unity エディタで
Window -> Package Managerを開きます。 左上の+ボタンをクリックし、Add package from git URL...を選択します。 以下の URL を入力してAddをクリックしてください:https://github.com/gameframex/com.gameframex.unity.getchannel.git -
リポジトリのダウンロードまたはクローン: このリポジトリを Unity プロジェクトの
Packagesディレクトリにダウンロードまたはクローンしてください。Unity が自動的に認識してプラグインを読み込みます。
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);
}
}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>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") を使用してこの値を取得できます。
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 / visionOS:
Info.plistファイル - Android:
AndroidManifest.xmlファイルの<meta-data>タグ - Editor / PC / WebGL / UWP / コンソールプラットフォーム:
Resources/application_config.txtファイル
- iOS / tvOS / visionOS:
- プラグインには
link.xmlファイルが含まれており、Unity のコードストリッピング機能によるコード削除を防ぎます。 GetChannelName()メソッドはチャンネル情報をキャッシュし、設定ファイルの繰り返し読み込みを回避してパフォーマンスを向上させます。
