# Webshop のトラブルシューティング

> Unity Webshop の作成、テーマ設定、公開、統合に関する一般的な問題を解決します。

このページでは、管理者とゲーム開発者が Unity Webshop での作業中にヒットする最も一般的な問題を症状ごとにグループ化して収集します。各エントリーには、最も可能性が高い原因とそれを修正するダッシュボードまたはコードの変更の名前が付けられます。

## ウェブショップの作成##creating-webshops

### スラッグはすでに使用中として拒否されました##slug-rejected-as-already-in-use

#### 原因##cause

ナメクジはスタジオ内で一意のものです。組織内の別のウェブショップがすでにナメクジを使用しています。

#### 解決方法##resolution

URL を転用する場合は、まず別のナメクジを選択するか、既存の Web ショップのナメクジを変更します。ナメクジルールの詳細については、[Webshop 制限リファレンス](./limits.md)を参照してください。

### 作成時にスタジオ名が拒否されました##studio-name-rejected-during-create

#### 原因##cause

スタジオ名は Unity 全体で一意のです。別の組織がすでにこの名前を使用しています。このダイアログには、以下のインラインエラーメッセージが表示されます。

```text
スタジオ名はすでに取得されています。この商標を所有している場合は、marks@unity3d.com に接触してその権利を主張してください。
```

#### 解決方法##resolution

別の名前を選択します。組織間の自動転送フローはありません。その名前の登録商標を所有している場合は、`trademarks@unity3d.com`に E メールでリリースをリクエストします。チームは商標クレームをレビューし、必要に応じてその名前を解放します。すでに所有している既存のスタジオの名前を変更する場合は、Create webshop (Webshop の作成) ダイアログではなく、**Organization (組織**) 設定から行ってください。

### Create webshop (ウェブショップの作成) ダイアログで Studio フィールドが無効になっている##studio-field-is-disabled-in-the-create-webshop-dialog

#### 原因##cause

組織にはすでに少なくとも 1 つのウェブショップがあるため、スタジオ名を設定して再利用します。Create (作成) ダイアログは、組織にウェブショップがまだ存在しない場合にのみ新しいスタジオ名を受け入れます。

#### 解決方法##resolution

スタジオの名前を変更するには、「Create（作成）」ダイアログを閉じ、「**収益化**」＞「**設定」**＞「**Organization（組織**）」を操作し、「**Studio name（スタジオ名**）」フィールドを編集します。名前の変更では、同じ一意性チェックが実行され、組織内のすべての Webshop の URL が変更されるため、外部リンクも適宜更新してください。

> **Note:**
>
> 古い機能のUnity Dashboardを使用している場合は、アカウント メニューを開き、**Manage organization**を選択します。

### 同じプロジェクトに別のウェブショップを作成できない##cannot-create-a-second-webshop-for-the-same-project

#### 原因##cause

Unity Cloud プロジェクトごとに、Webshop を 1 つだけ持つことができます。

#### 解決方法##resolution

既存の Webshop を編集するか、2 番目のショップ用に新しい Unity Cloud プロジェクトを作成します。

## 公開##publishing

### Publish ボタンがないか無効になっています##publish-button-is-missing-or-disabled

#### 原因##cause

本番稼働環境以外の環境を編集している。公開できるのは本番環境のみです。非本番環境ではドラフトのみであり、**Publish** の代わりに **Save draft** が表示されます。

#### 解決方法##resolution

**編集**ビューの上部にある環境セレクタを本番に切り替えてそこから公開するか、非本番環境の **テーマのカスタマイズ** セクションで **本番に適用** を使用してドラフトを本番環境にコピーしてから、本番に切り替えて公開します。

公開モデルについては、[Webshop の概要](./introduction-to-webshops.md) を参照してください。

### ショップ URL が見つからない反応を返す##shop-url-returns-a-not-found-response

#### 原因##cause

Webshop がまだ公開されていないか、Webshop が未公開であるか、URL 内のスタジオ名が間違っているか、ナメクジが間違っています。

#### 解決方法##resolution

スタジオとスラッグがダッシュボードボードと一致することを確認します。次に、本番環境のパブリケーション状態を確認します。ショップが未公開の場合は、本番環境から公開します。スタジオの名前を最近変更した場合は、以前の URL は有効になります。ダッシュボードボードに表示されている新しい URL を使用してください。

### 公開後もライブ ショップに古いブランドが表示される##live-shop-still-shows-old-branding-after-publishing

#### 原因##cause

コンテンツ配信ネットワークワークが以前のバージョンをキャッシュしているか、伝播が完了する前にダッシュボードで成功がレポートされました。

#### 解決方法##resolution

少し待ってから再試行してください。数分待ってもライブ ショップに古いバージョンが表示される場合は、ダッシュボードで公開アクションが正常に完了したことを確認し (**Webshop** リストの行には、**ビュー ログ**の下に最新の公開タイムスタンプが表示されます)、再試行してください。

## ブランディングとメディア##branding-and-media

### ブランディングアップロードが拒否されました##branding-upload-rejected

#### 原因##cause

アップロードがファイルサイズ制限を超えたか、承認された形式ではありませんでした。

#### 解決方法##resolution

[Webshop limits リファレンス](./limits.md)と再試行の制限内でアセットを再エクスポートします。ソース アップロードは PNG、JPEG、または WebP です。サーバは、配信のためにロスレス WebP に変換します。

### ヒーローバナーがライブショップでトリミングされているように見える##hero-banner-looks-cropped-on-the-live-shop

#### 原因##cause

アップロードされたソースのアスペクト比が、レンダリングされたバナーと異なっていました。ヒーローバナーは、1920 × 384 ピクセルにサーバ側で拡大縮小されてトリミングされるため、幅や高さが合うようにトリミングされます。

#### 解決方法##resolution

レンダリングされたアスペクト比 (32:10) 以上の解像度で同じアスペクト比で再アップロードします。[Webshop 制限リファレンス](./limits.md)を参照してください。

## テーマ##theming

### AI テーマの生成に失敗##ai-theme-generation-failed

#### 原因##cause

ダッシュボードがアプリケーション ストアの URL にアクセスできなかったか、スクレイプから使用可能なアセットが返されなかったか、生成ステップが失敗しました。

#### 解決方法##resolution

アプリケーション ストアの URL が一般に公開されていることを確認します。生成を再試行します。一時的な失敗のほとんどは、次の試行で解決されます。それでも生成に失敗する場合は、テーマの**カスタマイズ**セクションでテーマを手動で編集します。

生成手順については、「 [Generate a webshop theme](./generate-a-webshop-theme-with-ai.md) with AI 」を参照してください。

### 非本番環境で生成されたテーマは稼働していない##theme-generated-in-a-non-production-environment-isn't-live

#### 原因##cause

非本番環境では、単独で公開できません。非本番環境で保存されたテーマは、その環境の下書きにのみ適用されます。

#### 解決方法##resolution

**テーマのカスタマイズ** セクションで **Apply to production** (本番環境に適用) を選択し、テーマを本番環境のドラフトにコピーします。次に、環境セレクターを本番に切り替え、**Publish (公開**) を選択します。

## カタログと支払い##catalog-and-payments

### ショップがプロダクトカードなしでレンダリング##shop-renders-without-product-cards

#### 原因##cause

親プロジェクトの IAP カタログが空か、公開された製品がありません。**プレビュー** ペインは、**モック カタログ**がオフで、実際のカタログが接続されていない場合にも空で表示されます。

#### 解決方法##resolution

ダッシュボードボードの IAP (アプリ内課金) セクションで、プロジェクトのカタログに少なくとも 1 つのプロダクトがあることを確認します。[エディターでのカタログ](/iap/create-catalog-in-editor.md)の作成 を参照してください。実際のカタログを接続せずにテーマのプレビューのみを行う場合は、Catalog & payment provider (カタログと支払いプロバイダー) セクションで **Mock カタログ**トグルをオンにします。

### プレイヤーのショップに表示されるモックカタログアイテム##mock-catalog-items-appear-in-the-player's-shop

#### 原因##cause

これは不可能です。モック製品はダッシュボードの**プレビュー**ペインにのみ描画します。プレイヤーがそれらを見たと報告した場合は、パブリック URL ではなくダッシュボードボードのプレビューが表示されます。

#### 解決方法##resolution

プレイヤーが Dev プレビュー URL ではなくパブリック`shop.unity.com/{studio}/game/{slug}` URL を開いていることを確認します。

### 開発プレビューでのテスト購入で実際のカードが課金された##a-test-purchase-in-the-dev-preview-charged-a-real-card

#### 原因##cause

DevプレビューURLは、実際のカタログと実際のIAP支払いプロバイダーに対してドラフトをレンダリングします。Webshopレイヤーにサンドボックスの境界はありません。テストモードはIAP支払いプロバイダーで制御されます。

#### 解決方法##resolution

終了には、支払いプロバイダーのサンドボックスアカウントまたはテストカードを使用します。プレビュー対テストの動作については[カタログとWebshop](./catalog-and-payments.md)での支払い を、サンドボックスの設定については[支払いプロバイダー](/iap/payment-providers.md)の関連プロバイダーのドキュメントを参照してください。

### 製品価格がゲームと一致していない##product-prices-don't-match-the-game

#### 原因##cause

ショップを開くときに通貨またはロケールのパラメータが渡されなかったため、ショップはブラウザーロケールとデフォルト通貨にフォールバックしました。

#### 解決方法##resolution

ゲームからショップを開くときに、`locale`と`currency`を URL パラメーターとして渡します。[Unity ゲームへ](./integrate-into-game.md)の Webshop の統合 を参照してください。

## ディープリンクと戻りフロー##deep-links-and-the-return-flow

### ゲームに戻るボタンが成功ダイアログに表示されない##return-to-game-button-doesn't-appear-on-the-success-dialog

#### 原因##cause

以下のいずれかの前提条件が満たされていません： セッションが （ゲームからのディープリンクではなく） 直接開かれた、プレイヤーがデスクトップ上にある、リターンディープリンクが設定されていない。

#### 解決方法##resolution

プレイヤーがゲーム内のディープリンクからショップを開いたこと (URL の入力ではない)、およびモバイルデバイスを使用していることを確認します。次に、ダッシュボードの**カタログと支払いプロバイダー**のセクションで**ディープリンクURL**が設定されていることを確認します。前提条件の完全なセットについては、[ディープリンクとリターンフロー](./deep-links.md#post-purchase-return-to-the-game) を参照してください。

### 共有リンクからのプレイヤーには、ショップではなくランディングページが表示される##players-from-a-shared-link-see-a-landing-page-instead-of-the-shop

#### 原因##cause

これは予想されます。プレイヤーが認証コンテキストなしで到着すると、ショップは未認証のランディングページをレンダリングします。これは、ゲームからのディープリンクではなく、ブラウザーで直接開かれた URL の場合です。ランディングページには、設定したディープリンクスキームを使用してゲームを逆起動する「**Connect to game**」ボタンが表示されます。

#### 解決方法##resolution

**ゲームへの接続**が機能している場合は修正不要。往復端数処理によってプレイヤーが認証され、ショップに配置されます。ボタンに、ゲームを起動するのではなくゲーム内からストアを起動するようにプレイヤーに指示するメッセージが表示された場合は、リターンディープリンクは設定されていません。**編集**ビューの**カタログと支払いプロバイダー**のセクションで**ディープリンクURL**を設定します。フロー全体については、[未認証ランディングページ](./deep-links.md#handle-the-unauthenticated-landing-page) を参照してください。

### Connect to game (ゲームに接続) でゲームが開くが、再エントリー後もショップにランディングページが表示される##connect-to-game-opens-the-game-but-the-shop-still-shows-the-landing-page-after-re-entry

#### 原因##cause

ゲームはインバウンド `{scheme}://` ディープリンクを受信しましたが、認証パラメータを使用してショップを再度開きませんでした。`Application.deepLinkActivated` ハンドラーがリンクを無視したか (`status` パラメーターなし)、`OpenShop` を呼び出す前にエラーをヒットした可能性があります。

#### 解決方法##resolution

`status`が存在しない場合にハンドラーがディスパッチされ、現在の `sessionToken` 、 `projectId` 、および `environment` パラメーターを使用して `OpenShop` メソッドが呼び出されることを確認します。[Unity ゲームに](./integrate-into-game.md#handle-inbound-deep-links) Webshop を統合する のディスパッチロジックを参照してください。

### プレイヤーが Return to game (ゲームに戻る) をタップしたが、ゲームが再開されない##player-taps-return-to-game-but-the-game-doesn't-reopen

#### 原因##cause

ディープリンクスキームがデバイスに登録されていないか、ダッシュボードの設定済みスキームがゲームがリッスンするスキームと一致しません。

#### 解決方法##resolution

ディープリンクスキームが Android マニフェストまたは iOS `Info.plist`で宣言されていること、およびダッシュボードのスキームが同じ文字列を使用していることを確認します。マニフェストを変更した後でゲームを再インストールし、オペレーティングシステムが新しいスキームを反映できるようにします。

インテグレーションコードについては、『 [Integrate a webshop](./integrate-into-game.md#handle-inbound-deep-links) into a Unity game 』を参照してください。

### ゲームは開くが購入結果が表示されない##game-opens-but-doesn't-see-the-purchase-result

#### 原因##cause

`Application.deepLinkActivated`ハンドラーが`status`クエリパラメーターを解析していないか、ハンドラーがコールド開始起動のためにサブスクライブされすぎました。

#### 解決方法##resolution

ハンドラーが `status` クエリパラメーター （ショップが送信する値は `success` のみ） を読み取り、起動時にコールド開始ケースをハンドルする`Application.absoluteURL`も処理することを確認します。[Unity ゲームへ](./integrate-into-game.md#handle-inbound-deep-links)の Webshop の統合 を参照してください。

### Unity エディターでテストするときにディープリンクを返すが何もしない##return-deep-link-does-nothing-when-testing-in-the-unity-editor

#### 原因##cause

カスタム URL スキームディープリンクは、オペレーティングシステムによってインストールされたアプリケーションに配信されます。Unity エディターはハンドラーに登録されていないため、ブラウザーから開いたリンクが再生モードになることはありません。WebGL ビルドもカスタムスキームを使用しません。

#### 解決方法##resolution

ビルドされたプレイヤーに対してリターンフローをテストします。デバイスビルド（iOS または Android）または\*\*プレイヤー＞\*\*その他の設定＞サポートされている URL スキームに登録されているスキームのスタンドアロンビルドです。[着信ディープリンクのハンドル](./integrate-into-game.md#handle-inbound-deep-links) を参照してください。

### ウェブショップを削除すると Studio 名が消えました##studio-name-disappeared-after-deleting-a-webshop

#### 原因##cause

組織内で最後に Webshop を削除すると、スタジオ名が解放され、グローバルプールに戻ります。次にその組織でウェブショップを作成しようとすると、Create (作成) ダイアログで新しいスタジオクレームとして扱われ、以前の名前を受け入れる (まだ使用可能な場合) か、拒否されます。

#### 解決方法##resolution

名前がまだ使用可能な場合は、Create webshop (ウェブショップの作成) ダイアログからその名前を再度要求します。別の組織がすでにそれを要求している場合は、別の名前を選択します。フォワードでは、スタジオ名を保持するために、少なくとも 1 つの Webshop を組織内に維持します (未公開で問題ありません)。Studio の幅広いモデルについては、[Webshop の概要](./introduction-to-webshops.md#studios) を参照してください。行アクションメニューについては、[Webshop リスト アクション リファレンス](./webshop-list-actions-reference.md) を参照してください。
