Techioz Blog

Fastlane、upload_to_play_store でパッケージ名を自動入力

概要

こんにちは、私は fastlane を初めて使用しますが、fastlane でセットアップした反応ネイティブ iOS および Android アプリケーションを持っています。さまざまなアプリのバージョンに複数の productFlavor があります。

productFlavors {
    flavor1 {
        applicationId "com.package.flavor1"
    }
    flavor2 {
        applicationId "com.package.flavor2"
    }
    flavor3 {
        applicationId "com.package.flavor3"
    }
    flavor4 {
        applicationId "com.package.flavor4"
    }

これで、Fastfile 上で、汎用の gradle コマンドを使用して、すべてのフレーバーのすべての AAB を生成できるようになりました。

gradle( task: 'clean bundle', build_type: 'release', project_dir:'android/')

アップロード コマンドを実行しようとすると、fastlane が package_name パラメータを要求します

upload_to_play_store(release_status: releaseStatus, changes_not_sent_for_review: shouldSendReview)

すべてのフレーバーを反復処理し、その applicationId キーにアクセスしてコマンドを追加できるようにしたいのですが、どこに行けばよいのかわかりません。私が調べたものはすべて、プロジェクトに単一のパッケージ名があることのみを前提としています。誰かがファストレーンでこれを行うためのロープを教えてくれませんか。ありがとう。

解決策

パッケージ名を使用して fastlane を呼び出すことができます。残念ながら、プロセスのさまざまな部分に応じて 2 つの異なる方法があります。

fastlane Supply の場合は、コマンドライン オプションとして fastlane Supply init –package name com.package.flavor1 として指定できます。

特定のレーンの場合は、オプション フラグとしてレーンに提供する必要があります。

lane :flavor1 do |options|
  upload_to_play_store(
    package_name: options[:package_name],
    <etc>
  )
end

次に、オプション fastlane フレーバー 1 パッケージ名:com.package.flavor1 を使用してレーンを呼び出すことができます。