# よくある質問とトラブルシューティング

更新が届かない、ダウンロードできない、起動後に復旧するなどの症状から原因を順番に調べます。

## 最後に成功したステージを検索 {#technical}

ネイティブ バージョン、ハッシュ、チャネル、デバイス ID、時間を記録します。再インストールから始めないでください。再インストールするとローカルの更新状態がクリアされ、問題が隠れてしまう可能性があります。

## アップデートは受信されませんでした {#no-update}

順番にチェックし、修正するたびに再試行します。

|注文 |チェック |失敗したら |
| --- | --- | --- |
| 1 | Metro なしでリリース ビルドが開始される |ネイティブの読み込みと再構築を再接続する |
| 2 | SDK appKey が CLI アプリケーションおよびプラットフォームと一致する | `pakta me` を実行し、構成を比較します。
| 3 | インストール済みのネイティブビルドを正しく登録する | 再ビルドしたファイルではなく、その成果物をアップロードします |
| 4 | 配信先のチャネルとネイティブバージョンが一致する | ネイティブのメタデータを確認します。更新名とネイティブバージョンは別の値です |
| 5 |アプリケーション、チャネル、ネイティブ パッケージ、およびデプロイメントがアクティブである |一時停止状態と有効期限切れ状態を検査する |
| 6 |デバイスはパーセンテージ | の対象となります。別のテスト アプリで 100% を検証します。生産非選択が予想される |
| 7 |更新エンドポイントとアーティファクト URL に到達可能 | SDK `/api` と CLI ホストを個別に確認する |

`bundleStatus: unknownBundle` はネイティブビルドの基準情報が一致していないことを示します。再配信しても登録内容は修正されません。`rebuiltSameJs` はビルドIDが異なる同一のJavaScriptを示し、完全パッケージへのフォールバックを許可します。詳しくはSDK APIの[CheckResult](/docs/api#check-result)を参照してください。

## ダウンロードしましたが、古い画面のままです {#activation}

`download_success` はダウンロード完了のみを意味します。 `silentAndLater`の場合は、ダウンロード後にプロセスを完全に終了し、再度起動してください。バックグラウンドで再開すると、通常は別のチェックがトリガーされます。

`currentHash` が変更されたが、ラベルが変更されていない場合は、`.ppk` のエントリ ポイント、分岐、および内容を確認します。新しいリリース名は新しいコンテンツを証明するものではありません。

## 起動後のロールバックまたは空白の画面 {#rollback}

配信の拡大を停止し、失敗したパッケージとソースマップを保管してください。`getUpdateMetadata()` から `isRolledBack`、`rolledBackVersion`、`currentVersion` を読み取り、[エラー診断](/docs/errors)を使ってスタックトレースを復元します。

未確認の更新は、後の起動時にロールバックできます。ヘルス確認後のエラーが必ずしもロールバックをトリガーするとは限りません。 [安定した履歴パッケージ](/docs/publish#rollback)を再デプロイし、重要な初期化と確認のタイミングを確認します。

## CLI が待機している、認証できない、またはアプリが見つからない {#cli}

- `me` で本人確認を行います。資格情報はサービスごとに分離されているため、セルフホスト型ログインの前に `RNU_SERVICE_URL` を設定します。
- `update.json` を含むアプリのルートから実行します。ローカルでは `selectApp --platform android` を使用します。
- CI には、選択プロンプトではなく、`PAKTA_API_TOKEN`、明示的なターゲット、および `--no-interactive` が必要です。
- 不明なオプションについては、[CLI リファレンス ](/docs/cli) を参照してください。一貫したローカル バージョンと CI バージョンを得るためにロックファイルをコミットします。

## よくある質問 {#business}

### Expo Go はサポートされていますか?

いいえ。Paktaのネイティブモジュールを含むビルドが必要です。[Expoの導入手順](/docs/getting-started#expo)を確認してください。

### 新しいネイティブ パッケージが必要な変更はどれですか?

ネイティブ依存関係、権限、ネイティブコード、ランタイムの変更です。OTAで配信できるのは互換性のあるJavaScriptとアセットです。[更新できる範囲](/docs/introduction#boundaries)を参照してください。

### update.json はアプリに同梱されていますか?

CLI はそこに appId/appKey を保存します。ビジネス コードがインポートする場合、コンテンツはバンドルに入ります。それ以外の場合は、構成のみを公開します。公開トークンを決して保存しないでください。

### デプロイメントを一時停止または削除すると、インストールされた更新は元に戻されますか?

いいえ、将来の配信が変わります。インストールされたコンテンツには、回復の展開とデバイスのアクティベーションが必要です。割合を減らしても、デバイスは積極的にロールバックされません。

### セルフホストするにはどうすればよいですか?

[セルフホストの設定](/docs/getting-started#self-host)を参照してください。利用上限はサーバーの構成によって異なります。無制限に使えるとは限りません。

### OTA はストアの承認を保証しますか?

いいえ、技術力は審査許可ではありません。 Apple は、機能を変更するダウンロードされた実行可能コードを制限しています。 [公式レビューガイドライン](https://developer.apple.com/app-store/review/guidelines/#software-requirements)を確認してください。チャネルの分離は、レビュー要件を回避することを保証するものではありません。

## まだサポートが必要な場合は {#support}

プラットフォーム、RN/Expo/SDK/CLI バージョン、ネイティブ バージョン、チャネル、現在のハッシュ、デプロイメント ID、失敗したステージ、時間、サニタイズされたスタックが含まれます。トークン、パスワード、セッション構成を除外します。
