ハイブリッド アプリケーション サポートの構成
デフォルトでは、iOS エージェントは iOS WKWebView をインストルメント化しますが、Ajax コールを収集して報告することはありません。この機能の概要と説明については、「ハイブリッド アプリケーションのサポート」を参照してください。
ハイブリッド アプリケーション サポートを無効にしたり、動作を変更したりするには、静的またはランタイム構成を設定します。次のセクションでは、ランタイム構成または静的構成のいずれかを使用して、ハイブリッドサポートのデフォルト設定を変更する方法を示します。
ハイブリッド アプリケーション サポートのランタイム構成
次のコード例では、JavaScript エージェントのインジェクションを無効にしています。インジェクションを無効にすると、アプリケーション内の WKWebView はインストルメント化されず、Ajax コールは報告されません。
ADEumAgentConfiguration *adeumAgentConfig = [[ADEumAgentConfiguration alloc] initWithAppKey: <#EUM_APP_KEY#>];
// Disable the JavaScript Agent Injection
adeumAgentConfig.jsAgentEnabled = NO;
[ADEumInstrumentation initWithConfiguration:adeumAgentConfig];
JavaScript エージェントのインジェクションはデフォルトで有効になっています。Ajax コールの収集とレポートも有効にするには、次のようにします。
ADEumAgentConfiguration *adeumAgentConfig = [[ADEumAgentConfiguration alloc] initWithAppKey: <#EUM_APP_KEY#>];
// Enable the collection and reporting of Ajax calls
adeumAgentConfig.jsAgentAjaxEnabled = YES;
[ADEumInstrumentation initWithConfiguration:adeumAgentConfig];
ハイブリッド アプリケーション サポートの静的構成
次の場合には、静的構成を使用する必要があります。
- 強制的に WKWebView や Ajax コールをインストルメント化する(ランタイム構成をオーバーライドする)
- ハイブリッドサポートを無効にし、ランタイム構成をオーバーライドする
- 自己ホストされた JavaScript 拡張ファイルに URL を設定する
次の表は、info.plist ファイルでサポートされているプロパティとデフォルト値を示しています。
| プロパティ | デフォルト値 | 説明 |
|---|---|---|
| serverJsAgentEnabled | true |
クライアントがこのフラグに false を受け取ると、JavaScript エージェントは無効になります。したがって、WKWebView と Ajax リクエストはモニタされません。 インジェクションは、新しい WKWebView の作成時に発生します。このため、このフラグが false に設定されているときに WKWebView が作成された場合、その特定の WKWebView は、その後フラグが true に設定されてもインストルメント化されません。 |
| ForceWebviewInstrumentation | false | true に設定すると、iOS エージェントはランタイム構成に関係なく、JavaScript エージェントを WKWebView に挿入します。 |
| ForceAjaxInstrumentation | true | true に設定すると、ランタイム構成に関係なく、Ajax オペレーションは常に収集および報告されます。 |
| ADRUMExtUrlHttp |
JavaScript エージェントは、基本 JavaScript エージェントと JavaScript エージェントの拡張という 2 つのコンポーネントで構成されています。基本 JavaScript エージェントは、モバイルエージェントのバイナリに組み込まれ、上記のルールに従って挿入されます。 初期化後、JavaScript エージェントは、これらのプロパティによって指定された URL から JavaScript エージェント拡張を取得します。 | |
| ADRUMExtUrlHttps | https://cdn.appdynamics.com |
構成例
次の info.plist の例では、強制的に WKWebView をインストルメント化(ランタイム構成をオーバーライド)しますが、Ajax リクエストの収集とレポートは強制されません。この構成では、JavaScript 拡張ファイルが取得される URL も設定されます。
<plist>
<dict>
...
<key>ADEUM_Settings</key>
<dict>
<key>ForceWebviewInstrumentation</key>
<true/>
<key>ForceAjaxInstrumentation</key>
<false/>
<key>ADRUMExtUrlHttp</key>
<string>http://<your-domain>/adrum.cdn</string>
<key>ADRUMExtUrlHttps</key>
<string>https://<your-domain>/adrum.cdn</string>
</dict>
...
</dict>
</plist>