[クイックスタート!] Github Action x ZReviewTender で無料かつ迅速にあなたのアプリストア評価監視ロボットをデプロイする方法
簡単な3ステップで、無料で安定かつ安全なApp評価ロボットを構築し、ユーザーの最新評価をリアルタイムで把握します。

ZReviewTender
ZReviewTender — これは私が2022年8月に作成したオープンソースのアプリストア評価ボットで、iOSのApp StoreやAndroidのGoogle Playストアからユーザーの評価を自動で取得し、指定したSlackチャンネルに転送する機能があります。
また、評価取得ルールの指定や、Google翻訳、Asana、Google Sheetとの連携も可能で、カスタム操作にも対応しています。
Github Action
Github Action は Github が提供する CI/CD 自動化統合ツールであり、自分のマシンをサーバー(Github Runner)として使用することも、Github が提供するマシンを直接使って CI/CD や自動化スクリプトを実行することもできます。
費用と制限

GitHub Free は基本的に 500 MB のストレージ(CI/CD アーティファクト用)と、月間 2,000 分の実行時間を提供します。
-
GithubのWindowsマシンを使用する場合、消費される分数は実際の分数の2倍になります。
-
GithubのmacOSマシンを使用する場合、消費される分数は実際の分数の10倍になります。
詳細な料金計算については、公式価格計算ツール をご参照ください。
ZReviewTender 月間消費時間:約 120 分
基本料金でLinux上で動作し、1回の実行は約1分以内です。デフォルトでは6時間ごとに実行され、1日あたり4分、1ヶ月で約120分の使用となり、無料枠で十分足ります。
ZReviewTender _ストレージ消費:0
Artifactを使用してデータを保存しないため、Storageのコストはかかりません。
Slack
会社で使用している社内コミュニケーションツールとして、Slack Appを作成し、このSlack Appの権限でAppストアの評価通知を指定チャンネルに転送します。

ZReviewTender x Github Action x Slack
私たちは Github Action を使って ZReviewTender スクリプトを実行し、結果を Slack に転送します。Github リポジトリ(Action)は単なる実行環境として使うため、メインプロジェクトが Github で管理されていなくても、以下の手順で簡単に ZReviewTender を導入できます。🎉🎉🎉
私はすでに5社の異なるアプリに成功裏に導入し、安定して無料で少なくとも2年以上稼働させています。
利点:
-
無料 :ZReviewTender は私が作成したオープンソースの無料サービスで、Github Action にデプロイしており、無料枠で十分に運用可能です。
毎月App Review Botのような月額課金のレビュー監視サービスを購入する必要はありません。 -
安全性 :評価を取得するための証明書や鍵はすべてあなたのGithubプライベートリポジトリに安全に保管されており、あなた以外はアクセス権を持ちません。
重要な証明書や鍵を第三者のサービスにアップロードして漏洩リスクを負う必要はありません。ZReviewTender はオープンソースプロジェクトであり、すべての操作は公開検証に耐えられます。 -
信頼性 :ZReviewTender は公式の最新APIを使用してレビュー情報を取得します。従来のRSSを使ったサービスよりも、より正確で安定しています。
コーヒーを買ってください ❤️❤️❤️

https://www.paypal.com/ncp/payment/CMALMPT8UUTY2
クイックスタート!🚀
設定全体の手順は約30分ですが、一度設定すれば、証明書や鍵を変更しない限り、永久に無料で安定して稼働します。 🚀🚀🚀🚀🚀
Step 1. Slackアプリの作成
もし組織内ですでに chat:write などのメッセージ送信権限を持つSlackアプリが作成されている場合は、新しく作成せずにそのまま再利用できます。

右上の「Create New App」をクリックしてください。


-
選択:From scratch
-
入力するアプリ名:
ZReviewTenderまたはカスタムSlackアプリ名 -
インストール先の Slack ワークスペースを選択:Slack App を追加する権限があるワークスペースを選んでください。
-
アプリを作成する
OAuth と権限スコープの追加:
Slackアプリを作成したら、まず「OAuth & Permissions」タブでスコープを設定します。


-
「OAuth & Permissions」を選択する
-
下にスクロールしてScopesセクションを見つける
-
順番にZReviewTender Slack Appに追加する必要がある3つのScopesを入力してください:
chat:write
chat:write.public
links:write
Install App
Install App タブに戻り、Slack App を Workspace にインストールします。


-
「Install App」を選択してください
-
「Install to YOUR_WORKSPACE」をクリックしてください
-
「Allow」をクリックしてください

インストールが完了したら、Install App ページに戻ると Slack App Bot User OAuth Token が表示されます。「Copy」をクリックしてコピーし、後で設定に使うのでメモしておいてください。
評価通知を受け取るチャンネルの作成:


-
サイドバー -> チャンネル -> 作成 -> チャンネルを作成
-
名前: 希望するチャンネル名を入力してください

可視性:
-
Public:すべての人に公開、他の操作は不要。
-
Private:プライベートチャンネル、 ⭐️⭐️⭐️ 先ほど作成した Slack App を追加する必要があります:
Slack App チャンネルへの追加方法:


-
上の #チャンネル名 をクリックしてください
-
「設定」をクリックしてください
-
「アプリを追加」をクリックしてください

-
作成したばかりの Slack アプリ名を検索する
-
「Add」をクリックしてください

参加成功のチャンネルには通知メッセージが表示されます。 ZReviewTender joined.
⭐️⭐️⭐️ここでSlackのバグを発見しました。Slack Appを作成した直後は検索できない場合があり、しばらく待つ必要があります。先にパブリックチャンネルを使うことができます。パブリックチャンネルはSlack Appを追加しなくても利用可能です。
Channel IDの取得:
最後のステップで最も重要なのは、後で設定に使うためにChannel IDを取得することです。


-
上の #チャンネル名 をクリックしてください
-
About の最下部に Channel ID の情報があります
-
Channel IDをメモして、後で設定に使用します
Slackの設定が完了しました。
— — —
その他の補足:
「Basic Information」->「Display Information」でSlackアプリの名前やアイコンを編集できます:

変更が完了したら、右下の「Save Changes」をクリックして保存してください。
OAuth と Permissions Scopes に追加があった場合は、「reinstall your app」をクリックして再インストールする必要があります:

Step 2. Apple App Store Connect API と Google Play Android Developer API の認証情報を生成する
Apple App Store Connect API 身分証明書
iOSは比較的簡単で、App Store Connectから以下の4つの情報を取得するだけで済みます:
Issuer ID:

-
App Store Connect -> Keys -> App Store Connect API
-
Issuer IDを控えておき、後で設定に使用します
プライベートキーID & プライベートキー:
「+」ボタンをクリックしてください:

-
名前:
ZReviewTender -
アクセス権限:
App Manager

-
Key IDは後で設定に使用します -
「Download API Key」をクリックして、ダウンロードした「
AuthKey_XXXXXXXXXX.p8」ファイルを保存し、後で設定に使用します。
App ID : (レビューを取得する対象のApp ID)

App ID は App Store Connect -> App Store -> General -> App Information -> App ID で確認できます。
App IDをメモして、後で設定に使用します
Google Play Android Developer API 認証情報
Androidはやや複雑で、まずAppプロジェクトに紐づくGoogle Cloud ProjectでAPIを有効化し、サービスアカウントを作成、さらにサービスアカウントをGoogle Play Consoleに追加してAppの権限を付与する必要があります。
App プロジェクトに所属する Google Cloud プロジェクトを選択するか、新しいプロジェクトを作成します。
「Android Developer API」を有効化する:


-
「Android Developer API」を検索してクリックしてください
-
「有効にする」を選択してください
[このステップは任意] 「Cloud Translation API」も同時に有効化できます:


-
有効化すると、同じサービスアカウントの認証情報を使って、レビューの自動翻訳機能と連携できます。
-
ご注意:Cloud Translation APIは無料ではありません。言語検出や翻訳には料金が発生します!
-
ご注意:Cloud Translation APIは無料ではありません。言語検出や翻訳には料金が発生します!
-
ご注意:Cloud Translation APIは無料ではありません。言語検出や翻訳には料金が発生します!
サービスアカウントの作成:

-
「IAM」を検索する
-
「IAM と管理」を選択してください

-
「サービスアカウント (Service Account)」を選択してください。
-
「サービスアカウント (Service Account) を作成する」を選択してください。

-
サービスアカウント名:任意で入力してください。「
ZReviewTender」または「Google Play Review Bot」と入力可能です。 -
サービスアカウントID:自動で入力されます。特別な理由がなければ変更不要です。これがあなたのService Account Emailにもなります。
-
「完了」をクリックしてください。
このサービスアカウントのメールアドレスを控えてください:

-
一覧ページにも Service Account Email アドレスが表示されます
-
Service Account Emailを控えておき、後で設定に使用します
サービスアカウント Service Account キー証明書の作成:


-
リストページをリフレッシュし、先ほど作成したサービスアカウント Service Account をクリックしてください。
-
「新しいキーを追加」をクリックしてください
-
「新しいキーを作成」をクリックしてください
-
キータイプは「JSON」を選択してください
-
「作成」をクリックしてください
-
ダウンロードした「
XXXX-XXXX.json」ファイルを保存し、後で設定に使用します
Google Play Console にサービスアカウントを追加し、レビューを取得する対象アプリの権限を付与する:
Google Play Consoleの管理画面にアクセス:

-
「Users and permissions」をクリックしてください
-
右側の「Invite new users」をクリックしてください

-
Emailアドレスに先ほど控えた
Service Account Emailを入力してください。 -
アプリの権限 -> アプリを追加
-
対象のアプリを追加して評価を取得する
-
「Invite user」をクリックすると招待が完了し、認証は不要です。
Google Play ConsoleのDeveloper ID、App ID、パッケージ名の取得方法:

-
クリックして評価を取得したい対象のアプリのダッシュボードに入る
-
Package Nameをメモして、後で設定に使用します
Dashboard のURLをコピーし、URLから以下を見つけてください:
-
その中の /developers/
XXXがあなたのDeveloper IDです。この数字のDeveloper IDをメモして、後で設定に使用します -
その中の /app/
XXXはあなたのApp IDです。この数字のApp IDをメモして、後で設定に使用します
認証情報の設定が完了しました。
Step 3. Github Action のデプロイと設定ファイルの記入
嬉しいことに、面倒なGithubリポジトリやGithub Actionsの設定手順をリポジトリテンプレートとMarketplaceのGithub Actionにまとめました。以下のステップに従うだけで作業が完了します。
移動先: ZReviewTender-deploy-with-github-action :

https://github.com/ZhgChgLi/ZReviewTender-deploy-with-github-action

-
Repository name:作成したいリポジトリ名を入力してください
-
Private :リポジトリにアクセスキーを保存するため、 必ずPrivateリポジトリに設定してください ⭐️⭐️⭐️
-
Private :リポジトリにアクセスキーを保存するため、 必ずPrivateリポジトリに設定してください ⭐️⭐️⭐️
-
Private :リポジトリにアクセスキーを保存するため、 必ずPrivateリポジトリに設定してください ⭐️⭐️⭐️
-
「Create repository」をクリックしてください。
ZReviewTender の作者および貢献者である ZhgChgLi は、ZReviewTender の使用により発生したいかなる損害についても責任を負いません。
リポジトリの作成を待つ:

再度確認したリポジトリは Private Repo であること:

-
Private :リポジトリにアクセスキーを保存するため、必ずPrivateリポジトリに設定してください ⭐️⭐️⭐️
-
Private :リポジトリにアクセスキーを保存するため、必ずPrivateリポジトリに設定してください ⭐️⭐️⭐️
-
Private :リポジトリにアクセスキーを保存するため、必ずPrivateリポジトリに設定してください ⭐️⭐️⭐️
Github Actionsの権限を有効化:
リポジトリ作成後、Githubのセキュリティ設定により、まずリポジトリ設定でGithub Actionsの実行を許可する必要があります。

-
リポジトリ -> 設定
-
「Actions」 -> 「General」を選択してください
-
Actions permissions で「すべてのアクションと再利用可能なワークフローを許可する」を選択してください。
-
「保存」をクリックしてください
-
Workflow permissions は「リポジトリの内容とパッケージの読み取り権限を許可する」を選択してください。
初回実行時、ZReviewTenderの初期化:

-
リポジトリ -> Actions
-
「Init ZReviewTender」を選択します
-
「Run workflow」を選択します
-
「Run workflow」をクリックします
-
ページをリロードします
init ZReviewTender アクションの完了を待ちます:

もし ❌ エラーが表示された場合は、前述の Github Actions の権限設定が正しいかどうかを再度確認してください。
初期化に成功すると、リポジトリのホームに2つの新しいディレクトリが表示されます:

アップロードが必要な証明書ファイル:


-
/configディレクトリに移動します -
右上の「Add file」-> 「Upload files」をクリックします

-
Step 2. 保存した GCP Service Account
XXXX-XXXX.json(Android用)と App Store Connect で保存したAuthKey_XXXXXXXXXX.p8(iOS用)を一緒にアップロードしてください。 -
アップロードの完了を待ちます。
-
「Commit directly to the main branch」を選択してください。
-
「Commit changes」をクリックしてください。
Apple (iOS) の設定:


config/ディレクトリに入り、apple.ymlファイルをクリックしてください。

- 右上の「🖊️編集」をクリックしてください
apple.yml を編集し、以下の内容を貼り付けて、前のステップで控えた情報を入力してください:
platform: 'apple'
appStoreConnectP8PrivateKeyFilePath: './config/AuthKey_XXXXXXXXXX.p8' # APPLE STORE CONNECT API のプライベート .p8 キーファイルのパス
appStoreConnectP8PrivateKeyID: 'Private Key ID' # APPLE STORE CONNECT API プライベートキーID
appStoreConnectIssueID: 'Issuer ID' # APPLE STORE CONNECT 発行者ID
appID: 'App ID' # アプリID
processors:
- SlackProcessor: # Slackプロセッサー、アプリレビューをSlackに再送信します。
class: "SlackProcessor"
enable: true # 有効にする
slackTimeZoneOffset: "+08:00" # レビュー作成日時のタイムゾーン
slackAttachmentGroupByNumber: "1" # 1〜100、1つのSlackメッセージに含めるレビュー数
slackBotToken: "Slack App Bot User OAuth Token" # Slackボットトークン、Slackボットを通じてメッセージを送信
slackBotTargetChannel: "Target Channel ID" # Slackボットトークン、Slackボットを通じてメッセージを送信する対象チャンネルID(推奨、優先度高)
slackInCommingWebHookURL: "" # SlackインカミングWebhook URL、Webhook経由でメッセージを送信(非推奨、廃止予定)
-
appStoreConnectP8PrivateKeyFilePath:
./config/AuthKey_XXXXXXXXXX.p8を入力してください(ステップ2でApp Store Connectから保存したAuthKey_XXXXXXXXXX.p8ファイル名) -
appStoreConnectP8PrivateKeyID: ステップ2でApp Store Connectから控えたPrivate Key ID -
appStoreConnectIssueID: ステップ2でApp Store Connectから控えたIssuer ID -
appID: ステップ2でApp Store Connectから取得した対象アプリのApp ID -
slackBotToken: ステップ1で控えたSlack App Bot User OAuth Tokenを入力してください -
slackBotTargetChannel: ステップ1でメモした送信先のChannel IDを入力してください

-
編集が完了したら、右上の「Commit changes…」をクリックしてください。
-
「Commit directly to the main branch」を選択してください。
-
「Commit changes」をクリックしてください。
Android の設定:


config/ディレクトリに入り、android.ymlファイルをクリックしてください。

- 右上の「🖊️編集」をクリックしてください
android.yml を編集し、以下の内容を貼り付けて、前のステップで控えた情報を入力してください:
platform: 'android'
packageName: 'Package Name' # Androidアプリのパッケージ名
keyFilePath: './config/XXXX-XXXX.json' # Google Android Publisher API サービスアカウント認証情報の.jsonファイルパス
playConsoleDeveloperAccountID: 'Developer ID' # Googleコンソールの開発者アカウントID
playConsoleAppID: 'App ID' # GoogleコンソールのアプリID
processors:
- SlackProcessor: # Slackプロセッサー、アプリレビューをSlackに再送信します。
class: "SlackProcessor"
enable: true # 有効にする
slackTimeZoneOffset: "+08:00" # レビュー作成日時のタイムゾーン
slackAttachmentGroupByNumber: "1" # 1〜100、1つのSlackメッセージに含めるレビュー数
slackBotToken: "Slack App Bot User OAuth Token" # Slack Botトークン、Slack Botを通じてメッセージを送信します。
slackBotTargetChannel: "Target Channel ID" # Slack Botトークンを使い、メッセージを送信するSlackチャンネルID(推奨、優先度高)
slackInCommingWebHookURL: "" # SlackのIncoming WebHook URL、Incoming WebHook経由でメッセージ送信(非推奨、廃止予定)
-
packageName: ステップ2でGoogle Play Consoleの管理画面から控えたPackage Name -
keyFilePath:
./config/XXXX-XXXX.jsonを入力してください(ステップ2のGCP IAMで保存したXXXX-XXXX.jsonサービスアカウントキーのファイル名) -
playConsoleDeveloperAccountID: ステップ2のGoogle Play Console管理画面で控えたDeveloper ID -
playConsoleAppID: ステップ2でGoogle Play Consoleの管理画面から控えたApp ID -
slackBotToken: ステップ1で控えたSlack App Bot User OAuth Tokenを入力してください -
slackBotTargetChannel: ステップ1でメモした送信先のChannel IDを入力してください

-
編集が完了したら、右上の「Commit changes…」をクリックしてください。
-
「Commit directly to the main branch」を選択してください。
-
「Commit changes」をクリックしてください。
設定が完了しました! 🚀🚀🚀🚀
設定が成功したか確認する:
手動で一度実行して、設定に誤りがないか確認できます。

-
リポジトリ -> Actions
-
「ZReviewTender」を選択します
-
「Run workflow」を選択してください
-
「Run workflow」をクリックしてください。
-
ページをリロードします
ReviewTender アクションの完了を待つ:

認証成功🎉🎉🎉🎉

もし❌ エラーが発生したり、Slackチャンネルに起動メッセージが届かない場合は、前の設定ファイルの内容が正しいか再度確認してください。
完了 🎉🎉🎉

今すぐこの無料で信頼できるApp評価ロボットを使って、ユーザーの最新レビューを常にチェックしましょう!
コーヒーを買ってください ❤️❤️❤️

https://www.paypal.com/ncp/payment/CMALMPT8UUTY2
その他の設定
フィルター機能の追加
条件に合ったレビューのみを転送する。
- FilterProcessor:
class: "FilterProcessor"
enable: true # 有効にする
keywordsInclude: [] # フィルタリングしたいキーワード
ratingsInclude: [] # フィルタリングしたい評価
territoriesInclude: [] # フィルタリングしたい地域(Appleの場合の地域コード例:TWN)
/config/apple.ymlまたは/config/android.ymlのprocessorsセクションにFilterProcessorの設定を追加するだけです。
自動翻訳機能の追加
非日本語のレビューを自動的にGoogle Cloud Translation APIで翻訳します(費用がかかります)。
-
まず、Step 2で作成したサービスアカウントが所属するGCPプロジェクトで「Cloud Translation API」が有効になっていることを確認してください
-
apple.ymlとandroid.ymlの設定にはいくつかの違いがあります
apple.yml:
- GoogleTranslateProcessor: # Google翻訳プロセッサー、レビューのテキストをあなたの言語に翻訳します。不要な場合はこのブロック全体を削除してください。
class: "GoogleTranslateProcessor"
enable: true # 有効にする
googleTranslateAPIKeyFilePath: './config/XXXX-XXXX.json' # Google翻訳APIサービスアカウント認証の.jsonファイルパス
googleTranslateTargetLang: 'zh-TW' # 翻訳先の言語
googleTranslateTerritoriesExclude: ["TWN","CHN"] # 翻訳したくないレビューの発信地域(Appleの地域コード例:TWN)
./config/XXXX-XXXX.json(ステップ2でGCP IAMから保存したXXXX-XXXX.jsonサービスアカウントキーのファイル名)
android.yml:
- GoogleTranslateProcessor: # Google翻訳プロセッサー、レビューのテキストをあなたの言語に翻訳します。不要な場合はこのブロック全体を削除してください。
class: "GoogleTranslateProcessor"
enable: true # 有効化
googleTranslateAPIKeyFilePath: './config/XXXX-XXXX.json' # Google翻訳APIサービスアカウント認証.jsonファイルのパス
googleTranslateTargetLang: 'zh-TW' # 翻訳先の言語
googleTranslateTerritoriesExclude: ["zh-Hant","zh-Hans"] # 翻訳したくないレビューの発信地域(言語)。(Androidの言語例: zh-Hant, en)
./config/XXXX-XXXX.json(ステップ2でGCP IAMから保存したXXXX-XXXX.jsonサービスアカウントキーのファイル名)
完全な組み合わせ例:
platform: 'android'
packageName: '' # Androidアプリのパッケージ名
keyFilePath: '' # Google Android Publisher API サービスアカウント認証 .json ファイルのパス
playConsoleDeveloperAccountID: '' # Google Console 開発者アカウントID
playConsoleAppID: '' # Google Console アプリID
processors:
- FilterProcessor:
class: "FilterProcessor"
enable: true # 有効化
keywordsInclude: [] # フィルター対象のキーワード
ratingsInclude: [] # フィルター対象の評価
territoriesInclude: [] # フィルター対象の地域(Appleの場合の地域コード例:TWN)
- GoogleTranslateProcessor: # Google翻訳プロセッサー、レビュー文を指定言語に翻訳します。不要な場合はこのブロックを削除してください。
class: "GoogleTranslateProcessor"
enable: true # 有効化
googleTranslateAPIKeyFilePath: '' # Google翻訳APIサービスアカウント認証 .json ファイルのパス
googleTranslateTargetLang: 'zh-TW' # 翻訳先の言語
googleTranslateTerritoriesExclude: ["zh-Hant","zh-Hans"] # 翻訳しないレビューの発信地域(言語)(Androidの場合の例:zh-Hant, en)
- SlackProcessor: # Slackプロセッサー、AppレビューをSlackに再送信します。
class: "SlackProcessor"
enable: true # 有効化
slackTimeZoneOffset: "+08:00" # レビュー作成日時のタイムゾーン
slackAttachmentGroupByNumber: "1" # 1~100、1つのSlackメッセージに含めるレビュー数
slackBotToken: "" # Slack Botトークン、Slack Bot経由でメッセージを送信します。
slackBotTargetChannel: "" # Slack Botトークン、Slack Bot経由でメッセージを送信するチャンネル(推奨、優先度高)
slackInCommingWebHookURL: "" # Slack Incoming WebHook URL、Incoming WebHook経由でメッセージを送信(非推奨、廃止予定)
調整完了ら、以下の手順で .yml を保存してください:

-
編集が完了したら、右上の「Commit changes…」をクリックしてください。
-
「Commit directly to the main branch」を選択してください。
-
「Commit changes」をクリックしてください。
実行パラメータ設定
ZReviewTender.yml ファイルを編集して実行パラメータを設定できます。


-
リポジトリ -> Actions
-
「ZReviewTender」をクリックしてください
-
「
ZReviewTender.yml」をクリックしてください -
右上の「🖊️編集」をクリックしてください
name: ZReviewTender
on:
workflow_dispatch:
schedule:
- cron: "15 */6 * * *" # 6時間ごとに新しいレビューをチェックします。
jobs:
ZReviewTender:
runs-on: ubuntu-latest
steps:
- name: ZReviewTender 自動ボット
uses: ZhgChgLi/ZReviewTender@main
with:
command: '-r'
チェック頻度の調整(どのくらいの間隔で新しい評価を取得して転送するか?)
cron: "15 */6 * * *" の設定値を調整してください。
パラメータは Crontab 表記を使用しています。設定したいパラメータはこちらのサイトで作成できます:

実行スクリプトの調整
command: "-r" の設定値を調整します。
-
-r: AndroidとApple(iOS)のレビューを同時にチェックする -
-a: Apple(iOS)のレビューをチェックする -
-g: Androidのレビューのみをチェックする
調整完了:

-
編集が完了したら、右上の「Commit changes…」をクリックしてください。
-
「Commit directly to the main branch」を選択してください。
-
「Commit changes」をクリックしてください。
一時的にチェックを停止する

-
リポジトリ -> Actions
-
「ZReviewTender」を選択する
-
右側の「…」をクリックしてください
-
「Disable workflow」を選択する
問題報告および機能提案
もし機能の提案や問題、バグがありましたら、上記のGithubリポジトリでIssueを作成してご報告ください。よろしくお願いいたします。
高度な使用法と開発ストーリー
Post が Medium から ZMediumToMarkdown によって変換されました。



コメント