App Analytics データの取得と自動化
学習の目的
この単元を完了すると、次のことができるようになります。
- App Analytics を使用するためにライセンス管理組織 (LMO) を設定する。
- App Analytics クエリ要求を作成してデータを取得する。
- Apex を使用して App Analytics クエリ要求を自動化する。
App Analytics を使用するための準備
Robert は App Analytics のデータ種別について十分に理解しました。次は、Salesforce CLI を使用して App Analytics データを取得します。そのために、まず必要な設定タスクを完了します。皆さんも LMO で手順を実践してみてください。
前提条件を満たす
Robert と同じように、AppExchange でソリューションを提供している AppExchange パートナーであれば、組織の準備はできていると思います。その場合でも、この前提条件のリストを確認しておくことをお勧めします。LMO を設定する必要がある場合は、このプロセスに従ってください。
-
ライセンス管理組織 (LMO) を使用して、管理パッケージをインストールしたすべての Salesforce ユーザーを追跡します。通常、AppExchange パートナーは、LMO としてパートナービジネス組織 (PBO) を使用します。
- LMA を LMO にインストールします。LMO として PBO を使用している場合は、これで作業は完了です。LMA は自動的にインストールされます。LMA をインストールする必要がある場合は、「Get Started with the License Management App (ライセンス管理アプリケーションの使用開始)」を参照してください。
- セキュリティレビューに合格した管理パッケージを LMA に登録します。まだ登録していない場合は、「Associate a Package with the License Management App (ライセンス管理アプリケーションへのパッケージの関連付け)」の手順に従ってください。
- LMO で、AppAnalyticsQueryRequest オブジェクトに対する「作成」アクセス権と「参照」アクセス権を含む「App Analytics 管理者」権限セットを作成します。この権限を、App Analytics 要求を作成する必要がある管理者以外のユーザーに割り当てます。説明が必要な場合は、「権限セットの作成」を参照してください。
-
『Salesforce CLI 設定ガイド』を使用して、CLI を設定します。
App Analytics データを要求して取得する
App Analytics データを取得して視覚化するには、次の順序で行います。
- Salesforce CLI を使用して App Analytics クエリ要求を作成し、CSV ファイルを取得します。
- Apex トリガーを使用して要求を自動化します。
- CRM Analytics で App Analytics データと LMA データを統合します。
- CRM Analytics でダッシュボードとレンズを作成します。
ステップ 1 と 2 についてはこの単元で、ステップ 3 と 4 については次の単元で説明します。
最初に要求を作成します。Robert は 3 か月間のパッケージ利用状況概要データを必要としています。次のクエリを使用します。
項目 |
説明 |
---|---|
DataType=PackageUsageSummary |
取得するデータ種別を指定する |
StartTime=2021-01-01T00:00:00Z |
データセットの開始を指定する |
EndTime=2021-04-01T00:00:00Z |
データセットの終了を指定する |
OrganizationIds=<blank> |
含める組織 ID を特定する すべての組織 ID を取得する場合は空白のままにする |
PackageIds=033XXXXXXXXXXXX |
含めるパッケージ ID を定義する すべてのパッケージ ID を取得する場合は空白のままにする App Analytics クエリ要求の場合は、PackageIds を 033 で始める必要があります。 |
Robert が使用するステップバイステップのプロセスは次のとおりです。皆さんもこのプロセスを使用できます。
- Salesforce CLI コマンドを使用して LMO にログインします。
次のような出力が表示されます。
2.AppAnalyticsQueryRequest
SOAP API オブジェクトを使用して、クエリ要求レコードを挿入します。LMO で実践している方は、各自のパッケージ ID を使用してください。ハンズオン組織で実践している方は、パッケージ ID として 033xx00SIMsmall
を使用してください。
3.CLI によって返された AppAnalyticsQueryRequest ID を保存します。
4.クエリの状況を監視します。
次のような出力が表示されます。
DownloadUrl
項目は、クエリの処理中は null
になります。クエリが完了すると、数分以内に入力されます。DownloadUrl
項目は要求ごとに異なり、データを安全に取得する方法を提供します。ただし、有効期限は 60 分であるため、速やかに取得するようにしてください。
5.DownloadUrl
をコピーしてブラウザーに貼り付け、CSV ファイルをダウンロードします。DownloadUrl
はコードの行が多くて長くなるため、全体をコピーするように注意してください。
6.PackageSummaries3Months.csv ファイルの名前を変更し、ローカルドライブに保存します。
Apex を使用して App Analytics 要求を自動化する
データを視覚化するために、組織にデータを取り込む 1 つの方法として CSV ファイルを CRM Analytics にアップロードすることができますが、手動処理はもはや時代に即していません。このプロセス全体を自動的に処理するコードを作成してみましょう。
Robert には、次のようにさまざまな自動化オプションがあります。
- REST または SOAP API コールを使用したカスタム API インテグレーション
- CLI を使用した Salesforce DX の自動化
- Salesforce フロー
- Apex トリガー
Robert は、CRM Analytics にスムーズに統合できる Apex を選択します。また、Apex であれば、Cloudy Health の LMA データと App Analytics データは Salesforce エコシステム内に保存されるため、Salesforce のすべての最先端ツールからデータにアクセスできます。さらに、Apex は Robert が必要とする集計データともうまく連動します。後から他のデータ種別にアクセスする場合や、ログデータの量が増えた場合、Robert は変化するクエリのニーズに適応する別のタイプのカスタムインテグレーションを定義できます。
Robert が作成する Apex コードは、新しいクエリ要求レコードの検索と監視を行い、データを取得し、そのデータを LMO のカスタムオブジェクトに保存します。便利ですね! さらに、このコードのおかげで手間が省けるため、データの取得ではなく、データの分析と視覚化に集中することができます。Robert が App Analytics 要求を自動化する手順の概要を次に示します。皆さんも LMO で手順を実践してみてください。
- 要求が完了し、ファイルをダウンロードする準備が整ったら起動する Apex トリガーを作成します。
-
リモートサイトの設定を作成して、LMO で Apex を使用してデータを取得できるようにします。
- パッケージ利用状況概要データを保持するカスタムオブジェクトとカスタム項目を作成する。
- CSV ファイルを取得してデータを挿入する Apex コードを記述します。
ここまで順調に進んでいます。Robert は App Analytics クエリ要求のダウンロードを自動化しました。Apex コードであと必要なのは、スケジュール済み Apex を使用して LMO 内の各パッケージに対する要求を送信する部分です。皆さんも LMO で手順を実践してみてください。
-
をクリックして [Setup (設定)] をクリックします。
- [Quick Find (クイック検索)] ボックスで [Apex Classes (Apex クラス)] を検索して選択します。
-
[New (新規)] をクリックします。
- 次のコードをコードエディターにコピーして貼り付けます。
-
[Save (保存)] をクリックします。
-
[Apex Classes (Apex クラス)] をクリックします。
-
[Schedule Apex (Apex をスケジュール)] をクリックします。
- ジョブ名に
ThirdDaySummaries
と入力します。
- Apex クラスの横にあるルックアップボタンをクリックして、
Scheduled
と入力します。検索結果で、ScheduledRequestSubmitter をクリックします。
- 頻度で [Monthly (毎月)] を選択し、毎月 [3] 日に設定します。
- 開始日と終了日、適切な開始時刻を選択します。
-
[Save (保存)] をクリックします。
これで、毎月 3 日に前月のログが自動的にダウンロードされてカスタムオブジェクトに保存されます。
この単元では、CLI を使用して App Analytics クエリ要求を作成してデータを取得する方法を学習しました。また、Apex コードを使用してデータの要求と取得を自動化する方法も学習しました。ここまでお疲れさまでした。あともうひと踏ん張りです。次の単元に進み、CRM Analytics で App Analytics データと LMA データを統合し、レンズとダッシュボードを作成する方法を学習しましょう。
リソース
- 開発者ドキュメント: Salesforce CLI 設定ガイド
- 開発者ドキュメント: Apex 開発者ガイド
- ブログ投稿: Get App Smart: How to Use AppExchange App Analytics (アプリケーションを賢く使う: AppExchange App Analytics の使用方法)
- ブログ投稿: Get App Smart: How to Use AppExchange App Analytics Part 2 (アプリケーションを賢く使う: AppExchange App Analytics の使用方法パート 2)
- ブログ投稿: Automate AppAnalytics—AWS Stack (AppAnalytics の自動化 — AWS スタック)
- Salesforce ヘルプ: CSV ファイルのアップロードによるデータセットの作成