次の方法で共有


React Native クライアント SDK API リファレンス

重要

Visual Studio App Center は、2025 年 3 月 31 日に廃止される予定です。 完全に廃止されるまで Visual Studio App Center を引き続き使用できますが、移行を検討できる推奨される代替手段がいくつかあります。

詳細については、サポートタイムラインと代替手段に関するページを参照してください。

CodePush プラグインは、次の 2 つのコンポーネントで構成されています。

  1. JavaScript モジュール。これはインポートまたは必須で、実行時にアプリがサービスと対話できるようにします (たとえば、更新プログラムのチェック、現在実行中のアプリの更新に関するメタデータを調べます)。

  2. React Native アプリ ホストが適切な JS バンドルの場所で自身をブートストラップできるようにするネイティブ API (Objective-C および Java)。

次のセクションでは、これらの API の形状と動作について詳しく説明します。

JavaScript API リファレンス

が必要な react-native-code-push場合、モジュール オブジェクトには、ルート レベルの コンポーネント デコレーターに加えて、次の最上位レベルのメソッドが用意されています。

  • allowRestart: 更新プログラムがインストールされた結果としてプログラムによる再起動が実行されるように Reallows し、再起動が許可されていない間に保留中の更新プログラムがアプリの再起動を試みた場合は、必要に応じてアプリを直ちに再起動します。 このメソッドは高度な API であり、 メソッドを介して disallowRestart アプリが明示的に再起動を許可しない場合にのみ必要です。

  • checkForUpdate: 構成されたアプリのデプロイに更新プログラムがあるかどうかを CodePush サービスに確認します。

  • disallowRestart: CodePush 更新プログラムがインストールされた結果、プログラムによる再起動が発生することを一時的に禁止します。 このメソッドは高度な API であり、アプリ内のコンポーネント (オンボード プロセスなど) で、その有効期間中にエンド ユーザーの中断が発生しないようにする必要がある場合に便利です。

  • getCurrentPackage: 現在インストールされている更新プログラム (説明、インストール時間、サイズなど) に関するメタデータを取得します。

    注意

    CodePush モジュールの v1.10.3-beta 時点では、 getCurrentPackage は* を優先 getUpdateMetadataして非推奨になっています。

  • getUpdateMetadata: インストールされている更新プログラムのメタデータ (説明、必須など) を取得します。

  • notifyAppReady: インストールされている更新プログラムが成功したと見なされることを CodePush ランタイムに通知します。 更新プログラムを手動で確認してインストールする場合 ( 同期メソッドを 使用してすべてを処理していない場合)、このメソッドを呼び出す 必要があります 。それ以外の場合、CodePush は更新プログラムを失敗として扱い、アプリの次回の再起動時に以前のバージョンにロールバックします。

  • restartApp: アプリを直ちに再起動します。 保留中の更新がある場合は、すぐにエンド ユーザーに表示されます。 それ以外の場合、このメソッドの呼び出しは、エンド ユーザーによるプロセスの強制終了と再起動と同じ動作になります。

  • sync: 更新プログラムの確認、ダウンロード、インストールを 1 回の呼び出しで行うことができます。 カスタム UI または動作が必要な場合を除き、ほとんどの開発者は CodePush をアプリに統合するときにこのメソッドを使用することをお勧めします

codePush

// Wrapper function
codePush(rootComponent: React.Component): React.Component;
codePush(options: CodePushOptions)(rootComponent: React.Component): React.Component;
// Decorator; Requires ES7 support
@codePush
@codePush(options: CodePushOptions)

アプリの JavaScript バンドルとイメージアセットをマウント時に同期する方法を認識する "高い順序" React コンポーネント内でReact コンポーネントをラップするために使用されます。 内部的には、上位コンポーネントはライフサイクル ハンドル内で componentDidMount を呼び出syncします。これにより、更新チェックが実行され、更新プログラムが存在する場合はダウンロードされ、更新プログラムが自動的にインストールされます。

このデコレーターは、さまざまな要件を持つアプリを簡単に有効にするために動作をカスタマイズできるようにするためのサポートを提供します。 次に、それを使用する方法の例をいくつか示します (1 つを選択するか、組み合わせを使用することもできます)。

  1. アプリの起動時のサイレント同期(最も単純な既定の動作)。 アプリは利用可能な更新プログラムを自動的にダウンロードし、次回アプリが再起動されたとき (OS やエンド ユーザーによって強制終了された、デバイスが再起動されたなど) に適用されます。 これにより、更新プロンプトや "合成" アプリの再起動が表示されないため、エンド ユーザーには更新エクスペリエンス全体が "サイレント" になります。

    // Fully silent update that keeps the app in
    // sync with the server, without ever
    // interrupting the end user
    class MyApp extends Component {}
    MyApp = codePush(MyApp);
    
  2. アプリが再開されるたびにサイレント同期。 1 と同じですが、更新プログラムのチェックを除き、アプリが "バックグラウンド" の後にフォアグラウンドに戻るたびに更新プログラムが存在する場合は更新プログラムを適用します。

    // Sync for updates every time the app resumes.
    class MyApp extends Component {}
    MyApp = codePush({ checkFrequency: codePush.CheckFrequency.ON_APP_RESUME, installMode: codePush.InstallMode.ON_NEXT_RESUME })(MyApp);
    
  3. 対話形式。 更新プログラムが利用可能になったら、ダウンロードする前にエンド ユーザーにアクセス許可を求め、すぐに更新プログラムを適用します。 フラグを使用して mandatory 更新プログラムがリリースされた場合でも、エンド ユーザーには更新プログラムに関する通知が表示されますが、無視する選択肢はありません。

    // Active update that lets the end user know
    // about each update, and displays it to them
    // immediately after downloading it
    class MyApp extends Component {}
    MyApp = codePush({ updateDialog: true, installMode: codePush.InstallMode.IMMEDIATE })(MyApp);
    
  4. ログ/表示の進行状況。 アプリが更新のためにサーバーと同期している間は、 または codePushDownloadDidProgress イベント フックをcodePushStatusDidChange使用して、このプロセスのさまざまなステージをログに記録するか、進行状況バーをユーザーに表示します。

    // Make use of the event hooks to keep track of
    // the different stages of the sync process.
    class MyApp extends Component {
        codePushStatusDidChange(status) {
            switch(status) {
                case codePush.SyncStatus.CHECKING_FOR_UPDATE:
                    console.log("Checking for updates.");
                    break;
                case codePush.SyncStatus.DOWNLOADING_PACKAGE:
                    console.log("Downloading package.");
                    break;
                case codePush.SyncStatus.INSTALLING_UPDATE:
                    console.log("Installing update.");
                    break;
                case codePush.SyncStatus.UP_TO_DATE:
                    console.log("Up-to-date.");
                    break;
                case codePush.SyncStatus.UPDATE_INSTALLED:
                    console.log("Update installed.");
                    break;
            }
        }
    
        codePushDownloadDidProgress(progress) {
            console.log(progress.receivedBytes + " of " + progress.totalBytes + " received.");
        }
    }
    MyApp = codePush(MyApp);
    

CodePushOptions

デコレーターは codePush 、上記の既定の動作のさまざまな側面をカスタマイズできる "options" オブジェクトを受け入れます。

  • checkFrequency(codePush.CheckFrequency) - 更新プログラムをチェックするタイミングを指定します。 既定値は codePush.CheckFrequency.ON_APP_START です。 使用可能な CheckFrequency オプションとその機能の説明については、列挙型リファレンスを参照してください。

  • deploymentKey(String) - 更新プログラムのクエリを実行するデプロイ キーを指定します。 既定では、この値は Info.plist ファイル (iOS) と MainActivity.java ファイル (Android) から派生しますが、このオプションを使用すると、別のデプロイを動的に使用する必要がある場合にスクリプト側からオーバーライドできます。

  • installMode(codePush.InstallMode) - オプションの更新プログラム (必須としてマークされていない更新プログラム) をインストールするタイミングを指定します。 既定値は codePush.InstallMode.ON_NEXT_RESTART です。 使用可能な InstallMode オプションとその機能の説明については、列挙型リファレンスを参照してください。

  • mandatoryInstallMode(codePush.InstallMode) - 更新プログラムをインストールするタイミングを指定します。更新プログラムは必須としてマークされます。 既定値は codePush.InstallMode.IMMEDIATE です。 使用可能な InstallMode オプションとその機能の説明については、列挙型リファレンスを参照してください。

  • minimumBackgroundDuration(Number) - アプリを再起動する前に、アプリがバックグラウンドで実行される最小秒数を指定します。 このプロパティは、 または InstallMode.ON_NEXT_SUSPENDを使用してInstallMode.ON_NEXT_RESUMEインストールされた更新プログラムにのみ適用され、あまり目立たなくても、エンド ユーザーの前で更新プログラムを取得する場合に役立ちます。 既定値は 0に設定され、再開直後に更新プログラムが適用されます。ただし、アプリの中断が問題にならないほど長い場合を除き、バックグラウンドで実行されます。

  • updateDialog(UpdateDialogOptions) - 更新プログラムが利用可能な場合に、確認ダイアログをエンド ユーザーに表示する必要があるかどうかを判断するために使用される "options" オブジェクトと、使用する文字列。 既定値は に null設定され、ダイアログが無効になります。 これを任意 true の値に設定すると、既定の文字列でダイアログが有効になり、オブジェクトをこのパラメーターに渡すと、ダイアログを有効にしたり、1 つ以上の既定の文字列をオーバーライドしたりできます。 App Store分散アプリ内でこのオプションを有効にする前に、このメモを参照してください。

    次の一覧は、使用可能なオプションとその既定値を表します。

    • appendReleaseDescription(Boolean) - エンド ユーザーに表示される通知メッセージに、使用可能なリリースの説明を追加するかどうかを示します。 既定値は false です。

    • descriptionPrefix(String) - エンド ユーザーに更新通知を表示するときに、リリースの説明の前にプレフィックスを付ける文字列 (存在する場合) を示します。 既定値は " Description: " です

    • mandatoryContinueButtonLabel(String) - 必須の更新プログラムをインストールするためにエンド ユーザーが押す必要があるボタンに使用するテキスト。 既定値は "Continue" です。

    • mandatoryUpdateMessage(String) - 更新が必須として指定されている場合に、更新通知の本文として使用されるテキスト。 既定値は "An update is available that must be installed." です。

    • optionalIgnoreButtonLabel(String) - エンド ユーザーが押すことができるボタンに使用するテキストは、使用可能なオプションの更新を無視します。 既定値は "Ignore" です。

    • optionalInstallButtonLabel(String) - エンド ユーザーが押してオプションの更新プログラムをインストールできるボタンに使用するテキスト。 既定値は "Install" です。

    • optionalUpdateMessage(String) - 更新が省略可能な場合に、更新通知の本文として使用されるテキスト。 既定値は "An update is available. Would you like to install it?" です。

    • title(String) - エンド ユーザーに表示される更新通知のヘッダーとして使用されるテキスト。 既定値は "Update available" です。

  • rollbackRetryOptions(RollbackRetryOptions) - ロールバック再試行メカニズムを使用すると、アプリケーションは以前にロールバックされた更新プログラムを (オプションで指定された制限を使用して) 再インストールを試みることができます。 これは、ロールバックの再試行を行う必要があるかどうかを判断するために使用される "オプション" オブジェクトであり、その場合はロールバックの再試行に使用する設定です。 既定値は null で、再試行メカニズムを無効にする効果があります。 これを任意の信頼できる値に設定すると、既定の設定で再試行メカニズムが有効になり、オブジェクトをこのパラメーターに渡すと、ロールバックの再試行を有効にしたり、1 つ以上の既定値をオーバーライドしたりできます。

    次の一覧は、使用可能なオプションとその既定値を表します。

    • delayInHours(Number) - 同じロールバック パッケージを再インストールする前に、最新のロールバック後にアプリが待機する最小時間を時間単位で指定します。 より 0小さくすることはできません。 浮動小数点数を指定できます。 既定値は 24 です。

    • maxRetryAttempts(Number) - アプリが試行を停止する前に実行できる再試行の最大数を指定します。 より 1小さくすることはできません。 既定値は 1 です。

codePushStatusDidChange (イベント フック)

同期プロセスが更新プロセス全体でステージ間を移動したときに呼び出されます。 イベント フックは、現在の状態を表す状態コードを使用して呼び出され、任意の値を SyncStatus 指定できます。

codePushDownloadDidProgress (イベント フック)

利用可能な更新プログラムが CodePush サーバーからダウンロードされるときに定期的に呼び出されます。 メソッドは、次の 2 つのプロパティを DownloadProgress 含む オブジェクトを使用して呼び出されます。

  • totalBytes(Number) - この更新プログラムで受信される予定の合計バイト数 (つまり、以前のリリースから変更されたファイルのセットのサイズ)。

  • receivedBytes(Number) - これまでにダウンロードしたバイト数。ダウンロードの進行状況を追跡するために使用できます。

codePush.allowRestart

codePush.allowRestart(): void;

への以前の呼び出しのために拒否されたプログラムによる再起動が発生するように disallowRestart再スローします。 が最初に呼び出されなかった場合 disallowRestart は、このメソッドを呼び出すと操作なしになります。

CodePush 更新プログラムが現在保留中で、アプリを再起動しようとしたが (たとえば、 を使用 InstallMode.IMMEDIATEした) が呼び出されたためにブロック disallowRestart された場合、 を呼び出 allowRestart すと、すぐに再起動されます。 この再起動により、重要なワークフロー (オンボード プロセスなど) 中にエンド ユーザーを中断することなく、できるだけ早く更新プログラムを適用できます。

たとえば、ドキュメントで説明されている 3 つのシナリオのいずれかが呼び出された後disallowRestartdisallowRestart発生した場合、呼び出しallowRestartによって即時再起動がトリガーされます。 ただし、次の点に該当する場合、 を呼び出 allowRestart しても再起動はトリガーされません。

  1. 前回 disallowRestart 呼び出されてから CodePush 更新プログラムがインストールされていないため、再起動する必要はありません。

  2. 現在、保留中の CodePush 更新プログラムがありますが、 を介して InstallMode.ON_NEXT_RESTARTインストールされているため、プログラムによる再起動は必要ありません。

  3. 現在、保留中の CodePush 更新プログラムがありますが、 を介して InstallMode.ON_NEXT_RESUME インストールされており、アプリはまだバックグラウンドに配置されていないため、プログラムを使用して再起動する必要はありません。

  4. 前回disallowRestartの呼び出し以降、restartAppへの呼び出しは行われませんでした。

この動作により、許可されていない期間中に明示的に要求されない限り、呼び出し allowRestart の結果として再起動がトリガーされなくなります。 この方法では、 allowRestart は の呼び出し restartApp(true)に似ていますが、前者は現在保留中の更新プログラムを再起動する場合にのみ再起動をトリガーしますが、更新が保留中である限り、後者は再起動します。

このメソッドの使用方法の例については、「 disallowRestart 」を参照してください。

codePush.checkForUpdate

codePush.checkForUpdate(deploymentKey: String = null, handleBinaryVersionMismatchCallback: (update: RemotePackage) => void): Promise<RemotePackage>;

CodePush サービスにクエリを実行して、構成されたアプリのデプロイに更新プログラムが利用可能かどうかを確認します。 既定では、 Info.plist ファイル (iOS) または MainActivity.java ファイル (Android) で構成されているデプロイ キーが使用されますが、省略可能 deploymentKey なパラメーターを使用して値を指定することでオーバーライドできます。 これは、イースター エッグやユーザー設定スイッチを介して "早期アクセス" を許可するなど、ユーザーを特定のデプロイに動的に "リダイレクト" する場合に便利です。

2 番目の省略可能なパラメーター handleBinaryVersionMismatchCallback は、バイナリ更新がある場合にユーザーに通知するために使用できる省略可能なコールバック関数です。 たとえば、現在インストールされているバイナリ バージョンが 1.0.1 で、ラベル (コード プッシュ ラベル) v1 があるユース ケースを考えてみましょう。 開発サイクルで後のネイティブ コードが変更され、バイナリ バージョンが 1.0.2 に更新されました。 codepush 更新プログラムのチェックがトリガーされると、バイナリ バージョンが一致しない更新プログラムは無視されます (更新プログラムが現在インストールされているアプリのバイナリ バージョンを対象としていないため)。 この場合、インストールされているアプリ (1.0.1) は、バージョン 1.0.2 を対象とする更新プログラムを無視します。 を使用 handleBinaryVersionMismatchCallback して、このような状況を処理するためのフックを提供できます。

重要

App Storeレビュー プロセスのため、iOS アプリケーションを開発する場合は、このコールバック内でアラートを使用することに注意してください。アプリは、アプリの評価、アプリのレビュー、他のアプリのダウンロード、またはアプリの機能、コンテンツ、または使用に対する他の同様のアクションをユーザーに強制してはなりません。

このメソッドは、 を Promise返します。これは、次の 2 つの可能な値のいずれかに解決されます。

  1. null 利用可能な更新プログラムがない場合は 。 これは、次のシナリオで発生することができます。

    1. 構成されたデプロイにはリリースが含まれていないため、更新するものはありません。
    2. 構成されたデプロイ内の最新リリースでは、現在実行されているものとは異なるバイナリ バージョン (古いバージョンまたは新しいバージョン) を対象としています。
    3. 現在実行中のアプリには、構成されたデプロイの最新リリースが既に存在するため、もう一度必要ありません。
    4. 構成されたデプロイ内の最新リリースは現在無効としてマークされているため、ダウンロードは許可されません。
    5. 構成された展開内の最新のリリースは "アクティブなロールアウト" 状態であり、要求元のデバイスは、その対象となるユーザーの割合に含まれません。
  2. インスタンス。 RemotePackage 検査または後でダウンロードできる利用可能な更新プログラムを表します。

使用例:

codePush.checkForUpdate()
.then((update) => {
    if (!update) {
        console.log("The app is up to date!");
    } else {
        console.log("An update is available! Should we download it?");
    }
});

codePush.disallowRestart

codePush.disallowRestart(): void;

次のいずれかのシナリオの結果として、プログラムによる再起動を一時的に禁止します。

  1. CodePush 更新プログラムは、 を使用してインストールされます InstallMode.IMMEDIATE

  2. CodePush 更新プログラムは を使用して InstallMode.ON_NEXT_RESUME インストールされ、アプリはバックグラウンドから再開されます (必要に応じて、 minimumBackgroundDuration プロパティによって調整されます)

  3. メソッドが restartApp 呼び出されました

    注意

    手順 1 と 2 は、 を呼び出restartAppすことで効果的に機能するため、アプリが直接または間接的に呼び出すかどうかにかかわらず、 へのrestartApp呼び出しをブロックしていると考disallowRestartえることができます。

このメソッドを呼び出した後も、 へのsync呼び出しは更新プログラムのチェック、ダウンロードしてインストールできますが、アプリを再起動しようとすると、 が呼び出されるまでallowRestartキューに入れられます。 これにより、再起動要求がキャプチャされ、実行を許可するたびに "フラッシュ" できます。

これは高度な API であり、主に、アプリ内の個々のコンポーネント (オンボード プロセスなど) で、有効期間中にエンド ユーザーの中断が発生しないようにする必要がある場合に便利です。同時に、アプリが独自のペースで CodePush サーバーとの同期を維持し、適切なインストール モードを使用できるようにします。 これには、アプリが可能な限り早く利用可能な更新プログラムを検出してダウンロードできるだけでなく、主要なエンド ユーザー エクスペリエンス中の中断も防止できるという利点があります。

別の方法として、 を呼び出syncすたびに (プログラムによってアプリを再起動しようとしない)、アプリ内の "安全" なポイントでを明示的に呼び出restartAppす場合に使用InstallMode.ON_NEXT_RESTARTすることもできます。 disallowRestart は、CodePush サーバーと同期するコードが、再起動なしのポリシーを適用するコード/コンポーネントとは別の場合に、これに代わる方法を提供します。

使用例:

class OnboardingProcess extends Component {
    ...

    componentWillMount() {
        // Ensure that any CodePush updates that are
        // synchronized in the background can't trigger
        // a restart while this component is mounted.
        codePush.disallowRestart();
    }

    componentWillUnmount() {
        // Reallow restarts, and optionally trigger
        // a restart if one was currently pending.
        codePush.allowRestart();
    }

    ...
}

codePush.getCurrentPackage

注意

このメソッドは、CodePush モジュールの v1.10.3-beta 時点で非推奨と見なされます。 このバージョン (またはそれ以降) を実行している場合は、代わりに を codePush.getUpdateMetadata 使用することをお勧めします。これは、より予測可能な動作があるためです。

codePush.getCurrentPackage(): Promise<LocalPackage>;

現在インストールされている "パッケージ" に関するメタデータ (説明、インストール時間など) を取得します。 これは、更新プログラムが適用された後に [新着情報] ダイアログを表示したり、再開または再起動によって適用を待機している保留中の更新プログラムがあるかどうかを確認したりするシナリオに役立ちます。

このメソッドは、 を Promise返します。これは、次の 2 つの可能な値のいずれかに解決されます。

  1. null アプリが現在、CodePush 更新ではなくバイナリから JS バンドルを実行している場合。 これは、次のシナリオで発生します。

    1. エンド ユーザーがアプリ バイナリをインストールし、CodePush 更新プログラムをまだインストールしていない
    2. エンド ユーザーはバイナリの更新プログラム (ストアなど) をインストールしました。これにより、古い CodePush 更新プログラムがクリアされ、バイナリ内の JS バイナリに優先順位が戻されました。
  2. LocalPackage現在実行中の CodePush 更新プログラムのメタデータを表す インスタンス。

使用例:

codePush.getCurrentPackage()
.then((update) => {
    // If the current app "session" represents the first time
    // this update has run, and it had a description provided
    // with it upon release, let's show it to the end user
    if (update.isFirstRun && update.description) {
        // Display a "what's new?" modal
    }
});

codePush.getUpdateMetadata

codePush.getUpdateMetadata(updateState: UpdateState = UpdateState.RUNNING): Promise<LocalPackage>;

状態が指定された updateState パラメーターと一致するインストール済みの更新プログラム (説明、必須など) のメタデータを取得します。 これは、更新プログラムが適用された後に [新着情報] ダイアログを表示したり、再開または再起動によって適用を待機している保留中の更新プログラムがあるかどうかを確認したりするシナリオに役立ちます。 可能な更新状態とそれらが表す内容の詳細については、 UpdateState リファレンスを参照してください

このメソッドは、 を Promise返します。これは、次の 2 つの可能な値のいずれかに解決されます。

  1. null 指定した状態の更新プログラムが現在存在しない場合は 。 これは、次のシナリオで発生します。

    1. エンド ユーザーが CodePush 更新プログラムをまだインストールしていないので、パラメーターとして指定したものに関係なく、更新プログラムにメタデータを updateState 使用することはできません。

    2. エンド ユーザーはバイナリの更新プログラム (ストアなど) をインストールしました。これにより、古い CodePush 更新プログラムがクリアされ、バイナリ内の JS バイナリに優先順位が戻されました。 #1 と同じ動作を示します

    3. updateStateパラメーターは にUpdateState.RUNNING設定されていますが、アプリは現在 CodePush 更新プログラムを実行していません。 保留中の更新がある可能性がありますが、アプリをアクティブにするためにまだ再起動されていません。

    4. updateStateパラメーターは にUpdateState.PENDING設定されていますが、アプリには現在保留中の更新がありません。

  2. LocalPackage現在要求されている CodePush 更新プログラム (実行中または保留中) のメタデータを表す インスタンス。

使用例:

// Check if there's currently a CodePush update running, and if
// so, register it with the HockeyApp SDK (https://github.com/slowpath/react-native-hockeyapp)
// so that crash reports will correctly display the JS bundle version the user was running.
codePush.getUpdateMetadata().then((update) => {
    if (update) {
        hockeyApp.addMetadata({ CodePushRelease: update.label });
    }
});

// Check to see if there's still an update pending.
codePush.getUpdateMetadata(UpdateState.PENDING).then((update) => {
    if (update) {
        // There's a pending update, do we want to force a restart?
    }
});

codePush.notifyAppReady

codePush.notifyAppReady(): Promise<void>;

新しくインストールされた更新プログラムを成功と見なす必要があることを CodePush ランタイムに通知します。そのため、クライアント側の自動ロールバックは必要ありません。 更新されたバンドルのコード内のどこかでこの関数を呼び出す必要があります。 それ以外の場合、アプリの次回再起動時に、CodePush ランタイムは、インストールされている更新プログラムが失敗し、以前のバージョンにロールバックされたと想定します。 この動作は、エンド ユーザーが壊れた更新プログラムによってブロックされないようにするために存在します。

関数をsync使用していて、アプリの起動時に更新チェックを実行している場合は、手動でを呼び出notifyAppReadysyncす必要はありません。 この動作は、アプリで が呼び出されると sync 、正常なスタートアップの適切な近似を表すという前提があるために存在します。

注意

このメソッドは、(下位互換性のために) として notifyApplicationReady 別名も付けられています。

codePush.restartApp

codePush.restartApp(onlyIfUpdateIsPending: Boolean = false): void;

アプリを直ちに再起動します。 パラメーターに onlyIfUpdateIsPending 真の値が指定されている場合、アプリは実際に保留中の更新プログラムが適用されるのを待っている場合にのみ再起動します。

この方法は高度なシナリオ向けであり、次の条件に該当する場合に主に役立ちます。

  1. アプリで、 メソッドまたは LocalPackage.install メソッドを呼び出すときに、 または ON_NEXT_RESUMEON_NEXT_RESTARTインストール モードの値をsync指定しています。 これは、アプリが (エンド ユーザーまたは OS によって) 再起動または再開されるまで更新プログラムを適用しないため、更新プログラムはすぐにエンド ユーザーに表示されません。

  2. アプリ固有のユーザー イベント (エンド ユーザーがアプリのホーム ルートに戻ったなど) を使用すると、目立たない方法で更新プログラムを適用でき、次の再起動または再開まで待つよりも早くエンド ユーザーに更新を取得する可能性があります。

codePush.sync

codePush.sync(options: Object, syncStatusChangeCallback: function(syncStatus: Number), downloadProgressCallback: function(progress: DownloadProgress), handleBinaryVersionMismatchCallback: function(update: RemotePackage)): Promise<Number>;

アプリの JavaScript バンドルとイメージアセットを、構成されたデプロイに対する最新リリースと同期します。 checkForUpdate メソッドとは異なり、更新プログラムの存在を確認し、次syncに何を行うかを制御しましょう。更新プログラムのチェック、ダウンロード、インストールのエクスペリエンスが処理されます。

このメソッドは、異なる要件を持つアプリを簡単に有効にするために、2 つの異なる (カスタマイズ可能な) "モード" をサポートします。

  1. サイレント モード(既定の動作) では、使用可能な更新プログラムが自動的にダウンロードされ、次回アプリが再起動されたとき (OS やエンド ユーザーによって強制終了された、デバイスが再起動されたときなど) に適用されます。 これにより、更新プロンプトや "合成" アプリの再起動が表示されないため、エンド ユーザーには更新エクスペリエンス全体が "サイレント" になります。

  2. アクティブ モード。更新プログラムが利用可能な場合は、ダウンロードする前にエンド ユーザーにアクセス許可を求め、直ちに更新プログラムを適用します。 フラグを使用して mandatory 更新プログラムがリリースされた場合でも、エンド ユーザーには更新プログラムに関する通知が表示されますが、無視する選択肢はありません。

使用例:

// Fully silent update that keeps the app in
// sync with the server, without ever
// interrupting the end user
codePush.sync();

// Active update, which lets the end user know
// about each update, and displays it to them
// immediately after downloading it
codePush.sync({ updateDialog: true, installMode: codePush.InstallMode.IMMEDIATE });

ヒント

エンド ユーザーのデバイスのバッテリー レベルやネットワーク条件などに基づいて使用可能な更新プログラムをチェックまたはダウンロードするかどうかを決定する場合は、呼び出しを目的のときにのみ呼び出syncす条件で ラップします。

SyncOptions

この sync メソッドは、構成がほとんどない状態でサイレント更新とアクティブ更新を簡単に行えるようにしようとしますが、前述の既定の動作の多くの側面をカスタマイズできる "options" オブジェクトを受け入れます。 使用できるオプションは CodePushOptions と同じですが、 オプションは checkFrequency 除きます。

  • deploymentKey(String) - を参照してください CodePushOptions

  • installMode(codePush.InstallMode) - を CodePushOptions参照してください。

  • mandatoryInstallMode(codePush.InstallMode) - を CodePushOptions参照してください。

  • minimumBackgroundDuration(Number) - を参照してください CodePushOptions

  • updateDialog(UpdateDialogOptions) - を参照してください CodePushOptions

  • rollbackRetryOptions(RollbackRetryOptions) - を CodePushOptions参照してください。

使用例:

// Use a different deployment key for this
// specific call, instead of the one configured
// in the Info.plist file
codePush.sync({ deploymentKey: "KEY" });

// Download the update silently, but install it on
// the next resume, as long as at least 5 minutes
// has passed since the app was put into the background.
codePush.sync({ installMode: codePush.InstallMode.ON_NEXT_RESUME, minimumBackgroundDuration: 60 * 5 });

// Download the update silently, and install optional updates
// on the next restart, but install mandatory updates on the next resume.
codePush.sync({ mandatoryInstallMode: codePush.InstallMode.ON_NEXT_RESUME });

// Changing the title displayed in the
// confirmation dialog of an "active" update
codePush.sync({ updateDialog: { title: "An update is available!" } });

// Displaying an update prompt which includes the
// description for the CodePush release
codePush.sync({
   updateDialog: {
    appendReleaseDescription: true,
    descriptionPrefix: "\n\nChange log:\n"
   },
   installMode: codePush.InstallMode.IMMEDIATE
});

// Shortening the retry delay and increasing
// the number of maximum retry attempts
// in comparison to defaults
codePush.sync({
   rollbackRetryOptions: {
    delayInHours: 8,
    maxRetryAttempts: 3
   }
});

オプションに加えて、 sync メソッドではいくつかの省略可能な関数パラメーターも受け入れます。これにより、"パイプライン" のライフサイクルをサブスクライブして、必要に応じて追加の sync UI を表示できます ("更新モーダルの確認やダウンロードの進行状況モーダル" など)。

  • syncStatusChangedCallback((syncStatus: Number) => void) - 同期プロセスが全体的な更新プロセスで 1 つのステージから別のステージに移動したときに呼び出されます。 メソッドは、現在の状態を表す状態コードを使用して呼び出され、任意の値を SyncStatus 指定できます。

  • downloadProgressCallback((progress: DownloadProgress) => void) - 利用可能な更新プログラムが CodePush サーバーからダウンロードされるときに定期的に呼び出されます。 メソッドは、次の 2 つのプロパティを DownloadProgress 含む オブジェクトを使用して呼び出されます。

    • totalBytes(Number) - この更新プログラムで受信される予定の合計バイト数 (つまり、以前のリリースから変更されたファイルのセットのサイズ)。

    • receivedBytes(Number) - これまでにダウンロードしたバイト数。ダウンロードの進行状況を追跡するために使用できます。

  • handleBinaryVersionMismatchCallback((update: RemotePackage) => void) - 利用可能なバイナリ更新がある場合に呼び出されます。 メソッドは、 オブジェクトを使用して RemotePackage 呼び出されます。 詳細については、 codePush.checkForUpdate セクションを参照してください。

使用例:

// Prompt the user when an update is available
// and then display a "downloading" modal
codePush.sync({ updateDialog: true },
  (status) => {
      switch (status) {
          case codePush.SyncStatus.DOWNLOADING_PACKAGE:
              // Show "downloading" modal
              break;
          case codePush.SyncStatus.INSTALLING_UPDATE:
              // Hide "downloading" modal
              break;
      }
  },
  ({ receivedBytes, totalBytes, }) => {
    /* Update download modal progress */
  }
);

このメソッドは を Promise返します。これは、呼び出しが成功した理由を SyncStatus 示すコードに sync 解決されます。 このコードには、次 SyncStatus のいずれかの値を指定できます。

  • codePush.SyncStatus.UP_TO_DATE(4) - アプリは CodePush サーバーで最新の状態です。

  • codePush.SyncStatus.UPDATE_IGNORED(5) - アプリにオプションの更新があり、エンド ユーザーが無視することを選択しました。 (これは、 が使用されている場合 updateDialog にのみ適用されます)

  • codePush.SyncStatus.UPDATE_INSTALLED(6) - 更新プログラムがインストールされ、 で指定SyncOptionsされた に応じて、関数が戻った直後または次回アプリが再開/再起動した直後syncStatusChangedCallbackInstallMode実行されます。

  • codePush.SyncStatus.SYNC_IN_PROGRESS(7) - 現在の呼び出しが実行されるのを防ぐ実行中 sync の操作があります。

メソッドはsync、更新プログラムをチェックする任意の場所で呼び出すことができます。 これは、ルート コンポーネントのライフサイクル イベント、コンポーネントの onPress ハンドラー<TouchableHighlight>、定期的なタイマーのコールバック、またはニーズに合ったその他のイベントである可能性componentWillMountがあります。 メソッドと同様にcheckForUpdate、バックグラウンドで更新をチェックするネットワーク要求が行われます。そのため、UI スレッドや JavaScript スレッドの応答性には影響しません。

パッケージ オブジェクト

メソッドと getUpdateMetadata メソッドは checkForUpdate オブジェクトを返Promiseします。解決されると、"package" オブジェクトへのアクセスが提供されます。 パッケージは、コードの更新と追加のメタデータ (説明、必須など) を表します。 CodePush API には、次の種類のパッケージの違いがあります。

  • LocalPackage: 既に実行されているか、インストールされていて、アプリの再起動が保留されているダウンロードされた更新プログラムを表します。

  • RemotePackage: まだダウンロードされていない CodePush サーバーで利用可能な更新プログラムを表します。

LocalPackage

ローカルまたは既にインストールされている更新プログラムに関する詳細が含まれています。 モジュール レベル getUpdateMetadata のメソッドを呼び出すか、 メソッドによって返される promise の値として、このオブジェクトのインスタンスへの参照を RemotePackage.download 取得できます。

プロパティ
  • appVersion: この更新プログラムが依存しているアプリ バイナリ バージョン。 これは、CLI release のコマンドを呼び出すときに パラメーターをappStoreVersion使用して指定された値です。 (String)
  • deploymentKey: この更新プログラムを最初にダウンロードするために使用された展開キー。 (String)
  • description: 更新プログラムの説明。 これは、更新プログラムをリリースしたときに CLI で指定した値と同じです。 (String)
  • failedInstall: この更新プログラムが以前にインストールされたがロールバックされたかどうかを示します。 メソッドは sync 、以前に失敗した更新プログラムを自動的に無視するため、 を使用 checkForUpdateする場合にのみ、このプロパティについて心配する必要があります。 (ブール値)
  • isFirstRun: インストール後に更新プログラムを初めて実行するかどうかを示します。 これは、"新機能" を表示するかどうかを判断するのに役立ちます。更新プログラムをインストールした後のエンド ユーザーへの UI。 (ブール値)
  • isMandatory: 更新プログラムが必須と見なされるかどうかを示します。 これは、更新プログラムがリリースされたときに CLI で指定された値です。 (ブール値)
  • isPending: この更新プログラムが "保留中" 状態であるかどうかを示します。 の場合 trueは、更新プログラムがダウンロードされてインストールされていますが、アプリを適用するためにアプリを再起動する必要がありましたが、まだ発生していないので、その変更は現在エンド ユーザーに表示されません。 (ブール値)
  • label: CodePush サーバーによって更新に自動的に与えられる内部ラベル (など v5)。 この値は、デプロイ内の更新プログラムを一意に識別します。 (String)
  • packageHash: 更新プログラムの SHA ハッシュ値。 (String)
  • packageSize: 更新プログラムに含まれるコードのサイズ (バイト単位)。 (数値)
メソッド
  • install(installMode: codePush.InstallMode = codePush.InstallMode.ON_NEXT_RESTART, minimumBackgroundDuration = 0): Promise<void>: ランタイムが最新バージョンのアプリを見つけるディスク上の場所に保存することで、更新プログラムをインストールします。 パラメーターは installMode 、変更がエンド ユーザーに表示されるタイミングを制御します。 既定値は、次のアプリが再起動するまで待機して変更を表示することですが、使用可能なオプションとその実行内容の説明については、列挙型のリファレンスを参照 InstallMode できます。 パラメーターが installModeInstallMode.ON_NEXT_RESUMEminimumBackgroundDuration設定されている場合、 パラメーターを使用すると、アプリが再開された後にインストールを強制する前に、バックグラウンドで必要な時間を制御できます。

RemotePackage

CodePush サーバーからダウンロードできる更新プログラムの詳細が含まれています。 このオブジェクトのインスタンスへの参照を取得するには、更新プログラムが利用可能になったときに メソッドを checkForUpdate 呼び出します。 API を sync 使用している場合は、ダウンロードとインストールのプロセスが自動的に処理されるため、 について RemotePackage心配する必要はありません。

プロパティ

RemotePackage と同じプロパティをすべて継承しますが、 LocalPackage追加のプロパティが 1 つ含まれています。

  • downloadUrl: パッケージをダウンロードできる URL。 メソッドは自動的に更新プログラムの取得を download 処理するため、このプロパティは高度な使用にのみ必要です。 (String)
メソッド
  • download(downloadProgressCallback?: 関数): Promise<LocalPackage>: CodePush サービスから利用可能な更新プログラムをダウンロードします。 が downloadProgressCallback 指定されている場合は、ダウンロードが完了するまでの進行状況を DownloadProgress 報告するオブジェクト ({ totalBytes: Number, receivedBytes: Number }) を使用して定期的に呼び出されます。 で解決される Promise を LocalPackage返します。

列挙型

CodePush API には、更新エクスペリエンスをカスタマイズするために使用できる次の列挙型が含まれています。

InstallMode

この列挙型は、インストールされている更新プログラムを実際に適用するタイミングを指定し、 メソッドまたは LocalPackage.install メソッドにsync渡すことができます。 これには、次の値が含まれます。

  • codePush.InstallMode.IMMEDIATE(0) - 更新プログラムをインストールし、アプリを直ちに再起動することを示します。 この値は、インストールを受け入れた直後に変更が表示されることを想定するため、デバッグシナリオや更新プロンプトをユーザーに表示する場合に適しています。 さらに、このモードを使用して必須の更新プログラムを適用できます。これは、更新プログラムのインストールと、エンド ユーザーが次回アプリを再起動または再開する際の間の望ましくない可能性のある待機時間を取り除くためです。

  • codePush.InstallMode.ON_NEXT_RESTART(1) - 更新プログラムをインストールするが、アプリを強制的に再起動しないことを示します。 アプリが "自然に" 再起動されると (OS またはエンド ユーザーがアプリを強制終了したため)、更新プログラムがシームレスに取得されます。 この値は、アプリが突然どこからともなく再起動した場合にエンド ユーザーに混乱を与える可能性があるため、サイレント更新を実行する場合に適しています。 彼らは更新プログラムがダウンロードされたことに気付かなかったでしょう。 これは、 メソッドと LocalPackage.install メソッドの両方に使用される既定のsyncモードです。

  • codePush.InstallMode.ON_NEXT_RESUME(2) - 更新プログラムをインストールするが、次回エンド ユーザーがバックグラウンドから再開するまでアプリを再起動しないことを示します。 この方法では、現在のセッションを中断することはありませんが、次の自然な再起動を待つよりも早く、その前に更新プログラムを取得できます。 この値は、非侵襲的な方法で履歴書に適用できるサイレント インストールに適しています。

  • codePush.InstallMode.ON_NEXT_SUSPEND(3) - アプリの中断が問題でない限り、ユーザー コンテキストが失われないように、バックグラウンドで 更新プログラムを バックグラウンド minimumBackgroundDuration でインストールする必要があることを示します(既定では 0)。

CheckFrequency

この列挙型は、アプリが更新のためにサーバーと同期するタイミングを指定し、デコレーターに codePushify 渡すことができます。 これには、次の値が含まれます。

  • codePush.CheckFrequency.ON_APP_START(0) - アプリのプロセスが開始されるたびに更新プログラムをチェックすることを示します。

  • codePush.CheckFrequency.ON_APP_RESUME(1) - アプリが "バックグラウンド" になった後にフォアグラウンドに戻るたびに更新プログラムをチェックすることを示します (ユーザーがホーム ボタンを押し、アプリが別の支払いプロセスを起動します)。

  • codePush.CheckFrequency.MANUAL(2) - 更新プログラムの自動チェックを無効にしますが、アプリ コードで が呼び出された場合codePush.sync()にのみチェック。

SyncStatus

この列挙型は、 メソッドに syncStatusChangedCallback 渡すことができる関数に sync 提供され、更新プロセス全体にフックされます。 これには、次の値が含まれます。

  • codePush.SyncStatus.CHECKING_FOR_UPDATE(0) - CodePush サーバーに対して更新プログラムのクエリが実行されています。
  • codePush.SyncStatus.AWAITING_USER_ACTION(1) - 更新プログラムを使用でき、エンド ユーザーに確認ダイアログが表示されました。 (これは、 が使用されている場合 updateDialog にのみ適用されます)
  • codePush.SyncStatus.DOWNLOADING_PACKAGE(2) - 利用可能な更新プログラムが CodePush サーバーからダウンロードされています。
  • codePush.SyncStatus.INSTALLING_UPDATE(3) - 利用可能な更新プログラムがダウンロードされ、インストールされようとしています。
  • codePush.SyncStatus.UP_TO_DATE(4) - アプリは、構成されたデプロイで完全に最新の状態です。
  • codePush.SyncStatus.UPDATE_IGNORED(5) - アプリにはオプションの更新があり、エンド ユーザーが無視するように選択しました。 (これは、 が使用されている場合 updateDialog にのみ適用されます)
  • codePush.SyncStatus.UPDATE_INSTALLED(6) - 使用可能な更新プログラムがインストールされ、 で指定SyncOptionsされた に応じて、関数が戻った直後syncStatusChangedCallbackまたは次回アプリの再開/再起動時にInstallMode実行されます。
  • codePush.SyncStatus.SYNC_IN_PROGRESS(7) - 現在の呼び出しの実行を妨げる操作が進行中 sync です。
  • codePush.SyncStatus.UNKNOWN_ERROR(-1) - 同期操作で不明なエラーが見つかりました。

UpdateState

この列挙型は、更新プログラムが現在存在する状態を指定し、 メソッドを呼び出すときに getUpdateMetadata 指定できます。 これには、次の値が含まれます。

  • codePush.UpdateState.RUNNING(0) - 更新プログラムが現在実行中のアプリのバージョンを表していることを示します。 これは、"新機能" ダイアログにリリースの説明を表示したり、最新バージョンを分析またはクラッシュ レポート サービスに報告したりするシナリオで、アプリに関する属性を識別する場合に役立ちます。

  • codePush.UpdateState.PENDING(1) - 更新プログラムがインストールされているが、アプリを適用するためにまだ再起動されていないことを示します。 これは、保留中の更新があるかどうかを判断する場合に役立ちます。これは、プログラムによる再起動 (経由 restartApp) を適用する必要がある場合があります。

  • codePush.UpdateState.LATEST(2) - 更新プログラムが利用可能な最新のリリースを表し、現在実行中または保留中であることを示します。

Objective-C API リファレンス (iOS)

Objective-C API は、ヘッダーを CodePush.hAppDelegate.m ファイルにインポートすることで使用でき、 という名前 CodePushの 1 つのパブリック クラスで構成されます。

CodePush

最新の JavaScript バンドル ファイルを表す をNSURL取得するための静的メソッドが含まれており、AppDelegate.m ファイルでアプリをブートストラップするときに の initWithBundleURL メソッドに渡RCTRootViewすことができます。

クラスのメソッドは CodePush 、次のシナリオに対応するために、常に適切なバンドルを読み込む複合リゾルバーと考えることができます。

  1. エンド ユーザーがストア (など 1.0.0) からアプリをインストールすると、バイナリに含まれる JS バンドルが取得されます。 これは CodePush を使用せずに得られる動作ですが、:)

  2. CodePush 更新プログラムのリリースを開始するとすぐに、エンド ユーザーは、構成されたデプロイの最新リリースを表す JS バンドルを取得します。 これは、ストアに出荷した内容を超えて反復処理できる動作です。

  3. アプリ ストア (など 1.1.0) に更新プログラムをリリースし、エンド ユーザーが更新すると、バイナリ内に含まれる JS バンドルが再び取得されます。 この動作により、以前のバイナリ バージョンを対象とした CodePush 更新プログラムが使用されなくなるため (動作するかわからないため)、エンド ユーザーは常にアプリの動作バージョンを持ちます。

  4. CodePush リリースとアプリ ストア リリースが無限大 (およびそれ以降) に続く場合は、#2 と #3 を繰り返します。

この動作により、必要に応じてアプリ ストアと CodePush の両方に更新プログラムを安全にデプロイでき、エンド ユーザーは常に最新バージョンを入手できます。

メソッド

  • (NSURL *)bundleURL - 前述のように最新の JS バンドル NSURL を返します。 このメソッドは、アプリ バイナリに含まれる JS バンドルの名前が であると main.jsbundle仮定します。

  • (NSURL *)bundleURLForResource:(NSString *)resourceName - メソッドと bundleURL 同等ですが、アプリ バイナリ内で検索される JS バンドルの名前をカスタマイズすることもできます。 これは、このファイル main に名前を付けない場合に便利です (これが既定の規則です)。 このメソッドは、JS バンドルの拡張機能が *.jsbundleであることを前提としています。

  • (NSURL *)bundleURLForResource:(NSString *)resourceName withExtension:(NSString *)resourceExtension: メソッドと同等 bundleURLForResource: ですが、アプリ バイナリ内で検索される JS バンドルで使用される拡張機能をカスタマイズすることもできます。 これは、このファイル *.jsbundle に名前を付けない場合に便利です (これが既定の規則です)。

  • (void)overrideAppVersion:(NSString *)appVersionOverride - アプリケーションのバイナリ インターフェイスのバージョンを設定します。それ以外の場合は、Info.plist で としてCFBundleShortVersionString指定されたApp Storeバージョンに既定で設定されます。 これは、バンドル URL が読み込まれる前に、1 回呼び出す必要があります。

  • (void)setDeploymentKey:(NSString *)deploymentKey - 更新プログラムのクエリを実行するときにアプリで使用する展開キーを設定します。 これは、Info.plist でデプロイ キーを設定するか、 または を呼び出checkForUpdatesyncすときに JS でデプロイ キーを指定する動的な代替手段です。

Java API リファレンス (Android)

React Native 0.60 バージョン以降の API

を使用react-native.config.jsしてプラグインをリンクするためautolinking、コンストラクターはそのファイルで指定されます。 ただし、カスタム変数をオーバーライドして CodePush プラグインを管理するには、これらの値を文字列リソースに配置します。

  • 公開キー - コード署名機能のバンドル検証に使用されます。 コード署名機能の詳細については、「 コード署名 」セクションを参照してください。 公開キーを設定するには、 という名前CodePushPublicKeyの公開キーの内容を に追加するstrings.xml必要があります。 CodePush はこのプロパティを自動的に取得し、コード署名機能を有効にします。 例:

    <string moduleConfig="true" name="CodePushPublicKey">your-public-key</string>
    
  • サーバー URL - CodePush サーバー URL を指定するために使用されます。 既定値: "https://codepush.appcenter.ms/"は、 へのパス strings.xml を名前 CodePushServerUrlで追加することでオーバーライドされます。 CodePush は自動的にこのプロパティを取得し、このパスを使用して要求を送信します。 例:

    <string moduleConfig="true" name="CodePushServerUrl">https://yourcodepush.server.com</string>
    

React Native 0.60 未満の API

Java API は、 クラスを com.microsoft.codepush.react.CodePushMainActivity.java ファイルにインポートすることによって使用でき、 という名前 CodePushの単一のパブリック クラスで構成されます。

CodePush

CodePush クライアント ランタイムを構築し、アプリの ReactPackage パッケージの一覧に追加するインスタンスを表します。

コンストラクター

  • CodePush(String deploymentKey, Activity mainActivity) - CodePush ランタイムの新しいインスタンスを作成します。これは、指定されたデプロイ キーを使用してサービスに更新のクエリを実行するために使用されます。 クラス内でReact パッケージ の一覧を構成する場合、パラメーターはmainActivity常に に設定thisするMainActivity必要があります。 このコンストラクターは CodePush ランタイムを "リリース モード" にするため、デバッグ動作を有効にする場合は、代わりに次のコンストラクターを使用します。

  • CodePush(String deploymentKey, Activity mainActivity, bool isDebugMode) - 前のコンストラクターと同等ですが、CodePush ランタイムをデバッグ モードにするかどうかを指定できます。 このコンストラクターを使用する場合は、ビルドの isDebugMode 種類と同期を維持するために、 パラメーターを常に に BuildConfig.DEBUG 設定する必要があります。 CodePush をデバッグ モードにすると、次の動作が有効になります。

    1. 新しいバイナリがエミュレーター/デバイスにデプロイされるたびに、古い CodePush 更新プログラムはストレージから削除されません。 この動作により、開発中にバージョンを更新することなく、アプリが を呼び出 syncすたびに同じ更新プログラムを継続的に取得することなく、新しいバイナリをデプロイできます。

    2. React Native ランタイムがデバッグ モードで維持するローカル キャッシュは、CodePush 更新プログラムがインストールされるたびに削除されます。 これにより、更新プログラムが適用された後にアプリが再起動されると、予想される変更を確認できるようになります。 この PR がマージされるとすぐに、これを行う必要がなくなります。

  • CodePush(String deploymentKey, Context context, boolean isDebugMode, Integer publicKeyResourceDescriptor) - 前のコンストラクターと同等ですが、公開キーの内容を読み取るために必要な公開キー リソース記述子を指定できます。 コード署名機能の詳細については、「 コード署名 」セクションを参照してください。

  • CodePush(String deploymentKey, Context context, boolean isDebugMode, String serverUrl) - コンストラクターを使用すると、CodePush サーバー URL を指定できます。 既定値: "https://codepush.appcenter.ms/" は、 で指定された値によって serverUrlオーバーライドされます。

静的メソッド

  • getBundleUrl() - リソース名が であると仮定して、アプリの JS バンドル ファイルの最新バージョンへのパスを返します index.android.bundle。 アプリで別のバンドル名を使用している場合は、このメソッドのオーバーロードされたバージョンを使用します。これにより、このメソッドを指定できます。 このメソッドは、前述の Objective-C と同等の解決動作を持ちます。

  • getBundleUrl(String bundleName) - 指定したリソース名 (など index.android.bundle) を使用して、アプリの JS バンドル ファイルの最新バージョンへのパスを返します。 このメソッドは、前述の Objective-C と同等の解決動作を持ちます。

  • overrideAppVersion(String appVersionOverride) - アプリケーションのバイナリ インターフェイスのバージョンを設定します。それ以外の場合は、build.gradle で としてversionName指定された Play ストア バージョンが既定値になります。 これは、CodePush インスタンスが構築される前に、1 回呼び出す必要があります。