Skip to content

Commit f0f539a

Browse files
committed
docs(readme): add japanese translation
1 parent 5c4a4c1 commit f0f539a

1 file changed

Lines changed: 142 additions & 0 deletions

File tree

README.ja.md

Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
<div align="center">
2+
<a href="README.md">English</a> |
3+
<a href="README.zh-CN.md">简体中文</a> |
4+
<a href="README.zh-TW.md">繁體中文</a> |
5+
<b>日本語</b> |
6+
<a href="README.ko.md">한국어</a>
7+
</div>
8+
9+
# Unity マルチプラットフォームチャンネル取得
10+
11+
このプラグインは、Unity プロジェクトでマルチプラットフォームの配信チャンネル識別子を取得するために使用されます(iOS、tvOS、visionOS、Android、Editor、PC、WebGL、UWP、コンソールプラットフォームに対応)。`https://github.com/GameFrameX/GameFrameX` プロジェクトのサブモジュールです。
12+
13+
## 機能
14+
15+
- **マルチプラットフォーム対応**:iOS、tvOS、visionOS、Android、Editor、PC(Windows/Mac/Linux)、WebGL、UWP、PS4、PS5、Xbox One、Nintendo Switch。
16+
- プリセットされたチャンネル情報を取得するためのシンプルな API を提供。
17+
- iOS プラットフォームでは、ビルド時に `Info.plist` にデフォルトチャンネルを自動追加(未設定の場合)。
18+
19+
## インストール
20+
21+
以下の3つの方法で、このプラグインを Unity プロジェクトに追加できます:
22+
23+
1. **`manifest.json` 経由で追加:**
24+
プロジェクトの `Packages` ディレクトリにある `manifest.json` ファイルの `dependencies` ノードに以下を追加してください:
25+
```json
26+
{
27+
"dependencies": {
28+
"com.gameframex.unity.getchannel": "https://github.com/gameframex/com.gameframex.unity.getchannel.git",
29+
// ... その他の依存関係
30+
}
31+
}
32+
```
33+
34+
2. **Unity Package Manager で Git URL を使用:**
35+
Unity エディタで `Window -> Package Manager` を開きます。
36+
左上の `+` ボタンをクリックし、`Add package from git URL...` を選択します。
37+
以下の URL を入力して `Add` をクリックしてください:
38+
```
39+
https://github.com/gameframex/com.gameframex.unity.getchannel.git
40+
```
41+
42+
3. **リポジトリのダウンロードまたはクローン:**
43+
このリポジトリを Unity プロジェクトの `Packages` ディレクトリにダウンロードまたはクローンしてください。Unity が自動的に認識してプラグインを読み込みます。
44+
45+
## 使用方法
46+
47+
### 1. チャンネル情報の取得
48+
49+
C# スクリプトで、`BlankGetChannel.GetChannelName(string key)` メソッドを使用してチャンネル情報を取得します。`key` パラメータは、対応プラットフォームでチャンネル情報を設定した際のキー名です。
50+
51+
**サンプルコード:**
52+
53+
```csharp
54+
using UnityEngine;
55+
56+
public class MyGameScript : MonoBehaviour
57+
{
58+
void Start()
59+
{
60+
// デフォルトチャンネルを取得(キー名は "channel")
61+
string channel = BlankGetChannel.GetChannelName();
62+
Debug.Log("現在のチャンネル: " + channel);
63+
64+
// 特定のキーでチャンネルを取得
65+
string customChannel = BlankGetChannel.GetChannelName("channelName");
66+
Debug.Log("カスタムチャンネル: " + customChannel);
67+
68+
// デフォルト値を指定してチャンネルを取得
69+
string subChannel = BlankGetChannel.GetChannelName("sub_channel", "unknown");
70+
Debug.Log("サブチャンネル: " + subChannel);
71+
}
72+
}
73+
```
74+
75+
### 2. iOS / tvOS / visionOS プラットフォーム設定
76+
77+
iOS、tvOS、visionOS プラットフォームでは、プラグインにビルド後処理 (`PostProcessBuildHandler.cs`) が含まれています。ビルド時、プロジェクトの `Info.plist` ファイルに:
78+
- `channel` という名前のキーが **ない** 場合、スクリプトは自動的にキー `channel`、値 `default` のエントリを追加します。
79+
- `channel` という名前のキーが **すでに存在する** 場合、変更は行われません。
80+
81+
Xcode プロジェクトの `Info.plist` ファイルで `channel` の値を変更するか、`BlankGetChannel.GetChannelName()` を呼び出す際にカスタムキー名を使用してください(そのキー名が `Info.plist` に存在することを確認してください)。
82+
83+
**Info.plist 設定例:**
84+
85+
```xml
86+
<key>channel</key>
87+
<string>ios_cn_taptap</string>
88+
89+
<key>sub_channel</key>
90+
<string>beta</string>
91+
```
92+
93+
### 3. Android プラットフォーム設定
94+
95+
Android プラットフォームでは、`AndroidManifest.xml` ファイルでチャンネル情報を定義する必要があります。通常、`<application>` タグ内に `<meta-data>` タグを追加して行います。
96+
97+
例えば、キー名 `channel`、値 `android_cn_taptap` を使用する場合:
98+
99+
```xml
100+
<application ...>
101+
<activity ...>
102+
...
103+
</activity>
104+
105+
<meta-data
106+
android:name="channel"
107+
android:value="android_cn_taptap" />
108+
109+
<meta-data
110+
android:name="sub_channel"
111+
android:value="beta" />
112+
113+
<!-- その他の meta-data -->
114+
</application>
115+
```
116+
117+
その後、C# コードで `BlankGetChannel.GetChannelName("channel")` を使用してこの値を取得できます。
118+
119+
### 4. Editor / PC / WebGL / UWP / コンソールプラットフォーム設定
120+
121+
Editor、PC(Windows/Mac/Linux)、WebGL、UWP、PS4、PS5、Xbox One、Nintendo Switch などのプラットフォームでは、Unity プロジェクトの `Resources` フォルダに `app_info.txt` という名前のテキストファイルを作成する必要があります。
122+
123+
**app_info.txt ファイル形式の例:**
124+
125+
```
126+
channel=editor_cn_test
127+
sub_channel=beta
128+
other_key=other_value
129+
```
130+
131+
各行の形式:`キー名=値`
132+
133+
プラグインはこのファイルからキーと値のペアを自動的に読み取り、後続の使用のためにキャッシュします。
134+
135+
## 注意事項
136+
137+
- `BlankGetChannel.GetChannelName(string key)` を呼び出す際、使用する `key` が対応プラットフォームの設定ファイルで設定したキー名と一致していることを確認してください:
138+
- **iOS / tvOS / visionOS**`Info.plist` ファイル
139+
- **Android**`AndroidManifest.xml` ファイルの `<meta-data>` タグ
140+
- **Editor / PC / WebGL / UWP / コンソールプラットフォーム**`Resources/app_info.txt` ファイル
141+
- プラグインには `link.xml` ファイルが含まれており、Unity のコードストリッピング機能によるコード削除を防ぎます。
142+
- `GetChannelName()` メソッドはチャンネル情報をキャッシュし、設定ファイルの繰り返し読み込みを回避してパフォーマンスを向上させます。

0 commit comments

Comments
 (0)