ProGuardマッピング
この記事では、コントローラ UI とREST API を使用して ProGuard マッピングをアップロードする方法について説明します。
Upload ProGuard Mappings in the Controller UI
- From the left-hand panel, click Configuration.
- Click ProGuard Mapping & NDK Symbol Files. This page lists the ProGuard Mapping uploads. Each upload has a unique Build ID.
- Click Add ProGuard File.
- From the Upload Missing ProGuard Mapping dialog:
REST API を使用した ProGuard マッピングのアップロード
API では HTTP 基本認証が使用されます。ユーザー名は Splunk AppDynamics EUM アカウント名で、パスワードは EUM ライセンスキーです。
マッピングファイルの送信
- アメリカ地域
-
https://api.eum-appdynamics.com/v2/account/<EUM_Account_Name>/<androidPackageName>/<versionCode>/proguard-mapping
- EMEA
-
https://fra-api.eum-appdynamics.com/v2/account/<EUM_Account_Name>/<androidPackageName>/<versionCode>/proguard-mapping - APAC
-
https://syd-api.eum-appdynamics.com/v2/account/<EUM_Account_Name>/<androidPackageName>/<versionCode>/proguard-mapping
次のパラメータが必要です。
EUM_Account_Name:URL エンコードされたバージョンのアカウント名。androidPackagename:このマッピングファイルが生成された Android パッケージの名前。versionCode:このマッピングファイルが生成されたアプリケーションの AndroidManifest.xml ファイルまたは build.gradle ファイルのいずれかで指定された「versionCode」プロパティの文字列表現。
リクエスト本文にマッピングファイルが含まれます。Content-Type ヘッダー、-H Content-Type:text/plain、アカウント名、およびライセンスキー/パスワードをコールに追加する必要があります。
REST API を使用したリクエストと応答の例
これは、REST API を使用した要求と応答の例です。
アップロードのリクエスト
versionCode のバージョンに対応しています。 - アメリカ地域
-
Android
curl -v -H Content-Type:text/plain --upload-file mapping.txt --user Example+account:Example-License-Key-4e8ec2ae6cfe https://api.eum-appdynamics.com/v2/account/Example+account/com.example.networklogger/1/proguard-mappingiOScurl -v -H Content-Type:text/plain --upload-file main.jsbundle.map" --user Example+account:Example-License-Key-4e8ec2ae6cfe https://api.eum-appdynamics.com/v2/account/Example+account/com.example.networklogger/1.0/iOS/jssource-mapping - EMEA
-
Android
curl -v -H Content-Type:text/plain --upload-file mapping.txt --user Example+account:Example-License-Key-4e8ec2ae6cfe https://fra-api.eum-appdynamics.com/v2/account/Example+account/com.example.networklogger/1/proguard-mappingiOScurl -v -H Content-Type:text/plain --upload-file main.jsbundle.map" --user Example+account:Example-License-Key-4e8ec2ae6cfe https://fra-api.eum-appdynamics.com/v2/account/Example+account/com.example.networklogger/1.0/iOS/jssource-mapping - APAC
-
Android
curl -v -H Content-Type:text/plain --upload-file mapping.txt --user Example+account:Example-License-Key-4e8ec2ae6cfe https://syd-api.eum-appdynamics.com/v2/account/Example+account/com.example.networklogger/1/proguard-mappingiOScurl -v -H Content-Type:text/plain --upload-file main.jsbundle.map" --user Example+account:Example-License-Key-4e8ec2ae6cfe https://syd-api.eum-appdynamics.com/v2/account/Example+account/com.example.networklogger/1.0/iOS/jssource-mapping
アップロードの応答
- アメリカ地域
-
* About to connect() to api.eum-appdynamics.com port 443 (#0) * Trying ::1... * connected * Connected to api.eum-appdynamics.com (::1) port 443 (#0) * Server auth using Basic with user 'Example+account' > PUT /v2/account/Example+account/com.example.networklogger/1/proguard-mapping HTTP/1.1 > Authorization: Basic SW50ZXJuYWwrdGVzdCthY2NvdW50OlRlc3RBY2N0LTFlMzktNDVkMy05MzAzLTRlOGVjMmFlNmNmZQ== > User-Agent: curl/7.24.0 (x86_64-apple-darwin12.0) libcurl/7.24.0 OpenSSL/0.9.8y zlib/1.2.5 > Host: api.eum-appdynamics.com > Accept: */* > Content-Length: 4 > Expect: 100-continue > < HTTP/1.1 100 Continue * We are completely uploaded and fine < HTTP/1.1 200 OK < Content-Length: 0 < Server: Jetty(8.1.4.v20120524) < * Connection #0 to host api.eum-appdynamics.com left intact * Closing connection #0 - EMEA
-
* About to connect() to fra-api.eum-appdynamics.com port 443 (#0) * Trying ::1... * connected * Connected to fra-api.eum-appdynamics.com (::1) port 443 (#0) * Server auth using Basic with user 'Example+account' > PUT /v2/account/Example+account/com.example.networklogger/1/proguard-mapping HTTP/1.1 > Authorization: Basic SW50ZXJuYWwrdGVzdCthY2NvdW50OlRlc3RBY2N0LTFlMzktNDVkMy05MzAzLTRlOGVjMmFlNmNmZQ== > User-Agent: curl/7.24.0 (x86_64-apple-darwin12.0) libcurl/7.24.0 OpenSSL/0.9.8y zlib/1.2.5 > Host: fra-api.eum-appdynamics.com > Accept: */* > Content-Length: 4 > Expect: 100-continue > < HTTP/1.1 100 Continue * We are completely uploaded and fine < HTTP/1.1 200 OK < Content-Length: 0 < Server: Jetty(8.1.4.v20120524) < * Connection #0 to host fra-api.eum-appdynamics.com left intact * Closing connection #0 - APAC
-
* About to connect() to syd-api.eum-appdynamics.com port 443 (#0) * Trying ::1... * connected * Connected to syd.eum-appdynamics.com (::1) port 443 (#0) * Server auth using Basic with user 'Example+account' > PUT /v2/account/Example+account/com.example.networklogger/1/proguard-mapping HTTP/1.1 > Authorization: Basic SW50ZXJuYWwrdGVzdCthY2NvdW50OlRlc3RBY2N0LTFlMzktNDVkMy05MzAzLTRlOGVjMmFlNmNmZQ== > User-Agent: curl/7.24.0 (x86_64-apple-darwin12.0) libcurl/7.24.0 OpenSSL/0.9.8y zlib/1.2.5 > Host: syd-api.eum-appdynamics.com > Accept: */* > Content-Length: 4 > Expect: 100-continue > < HTTP/1.1 100 Continue * We are completely uploaded and fine < HTTP/1.1 200 OK < Content-Length: 0 < Server: Jetty(8.1.4.v20120524) < * Connection #0 to host syd-api.eum-appdynamics.com left intact * Closing connection #0
REST API を使用した、アップロードされたマッピングファイルの確認
マッピングファイルが 2 つの REST API を使用して正常にアップロードされたことを確認できます。
最後にアップロードされた 50 個のマッピングファイルのリスト
proguardQuery メソッドを使用すると、最後にアカウントにアップロードされた最大 50 個のマッピングファイル(ProGuard または DexGuard)の GUID のリストを、アップロードされた時刻とともに取得することができます。その応答は、アップロード時刻が最新のものから、JSON 形式で表示されます。
-
「API を使用したアップロード」の説明に従って認証を設定します。
-
次のようにフォームの GET リクエストを作成します。
curl --user Example+account:Example-License-Key-4e8ec2ae6cfe https://<EUM_Cloud/EUM_Server_Host:port>/v2/account/<EUM_Account_Name>/crash-symbol-file-query/proguard-
EUM_Cloudは、SaaS ベースの EUM クラウド URL を指します。完全なリストについては、「Splunk AppDynamics オンプレミス ドメインと IP 範囲」を参照してください。-
EUM_Server_Hostは、オンプレミス EUM サーバーを指す URL を指します。-
EUM_Account_Nameは、EUM アカウント名です。-
GUID_To_Checkは、作業対象の ProGuard ファイルの GUID です。
サンプルリクエスト
- アメリカ地域
-
curl --user Example+account:Example-License-Key-4e8ec2ae6cfe https://api.eum-appdynamics.com:443/v2/account/<EUM_Account_Name>/crash-symbol-file-query/proguard - EMEA
-
curl --user Example+account:Example-License-Key-4e8ec2ae6cfe https://fra-api.eum-appdynamics.com:443/v2/account/<EUM_Account_Name>/crash-symbol-file-query/proguard - APAC
-
curl --user Example+account:Example-License-Key-4e8ec2ae6cfe https://syd-api.eum-appdynamics.com:443/v2/account/<EUM_Account_Name>/crash-symbol-file-query/proguard
サンプル応答
{"proguardFiles": [
{"packageName":"my_package_name1", "version":"1", "uploadTime":"mm/dd/yyyy 16:09:23","GUID":"my_build_id1"},
{"packageName":"my_package_name2", "version":"1", "uploadTime":"mm/dd/yyyy 16:09:23","GUID":"my_build_id2"}
]}
GUID による特定のマッピングファイルの確認
checkForProguardFile メソッドを使用すると、GUID によって特定の ProGuard ファイルまたは DexGuard ファイルがアップロードされているかどうかを確認できます。アップロード時刻が応答で返されます。
- 「REST API を使用したアップロード」の説明に従って認証を設定します。
-
次のようにフォームの GET リクエストを作成します。
curl --user Example+account:Example-License-Key-4e8ec2ae6cfe https://<EUM_Cloud/EUM_Server_Host:port>/v2/account/<EUM_Account_Name>/crash-symbol-file-query/proguard/guid/<GUID_To_Check>-
EUM_Cloudは、SaaS ベースの EUM クラウド URL を指します。完全なリストについては、「Splunk AppDynamics オンプレミス ドメインと IP 範囲」を参照してください。- EUM_Server_Hostは、オンプレミス EUM サーバーを指す URL を参照します。-
EUM_Account_Nameは、EUM アカウント名です。-
GUID_To_Checkは、作業対象の ProGuard ファイルの GUID です。
サンプルリクエスト
- アメリカ地域
-
curl --user Example+account:Example-License-Key-4e8ec2ae6cfe https://api.eum-appdynamics.com:443/v2/account/<EUM_Account_Name>/crash-symbol-file-query/proguard/guid/my_build_id1 - EMEA
-
curl --user Example+account:Example-License-Key-4e8ec2ae6cfe https://fra-api.eum-appdynamics.com:443/v2/account/<EUM_Account_Name>/crash-symbol-file-query/proguard/guid/my_build_id1 - APAC
-
curl --user Example+account:Example-License-Key-4e8ec2ae6cfe https://syd-api.eum-appdynamics.com:443/v2/account/<EUM_Account_Name>/crash-symbol-file-query/proguard/guid/my_build_id1
サンプル応答
{"packageName":"mypackagename","version":"1","uploadTime":"mm/dd/yyyy 16:09:23","GUID":"my_build_id1"}
トークンを使用した REST API での ProGuard マッピングのアップロード
MAPPING_FILE_UPLOAD_API_DISABLED: Trueコントローラ API は、ProGuard マッピングをアップロードするためのトークンベースの認証をサポートしています。このアップロード方法では、生成されたトークンとアプリケーション ID がログイン情報とともに必要です。
ProGuard マッピングファイルをアップロードするには、次の手順を実行します。