• /
  • EnglishEspañol日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は、参考として提供されています。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、このページを参照してください。

問題を作成する

New RelicでwatchOSプロジェクトを計画する

このドキュメントではNew Relicでモニターできるように watchOS プロジェクトを更新する方法について説明します。 watchOS プロジェクトにはApplicationDelegateクラスまたはExtensionDelegateクラスがまだ含まれていないため、いずれか一方をプロジェクトに追加する必要があります。 これらのデリゲートは、watchOS プロジェクトで New Relic エージェントを設定および起動するために必要です。

要件

WatchAppDelegateを追加する前に、まずNew Relic エージェントをインストールしてください。

重要

適切なインストゥルメンテーションを確実に行うには、 applicationDidFinishLaunching()の最初のステップとしてエージェントを設定して起動し、メイン スレッドでエージェントを実行する必要があります。 後でバックグラウンド スレッドまたは非同期で呼び出しを開始すると、予期しない動作や不安定な動作が発生する可能性があります。

エージェントをインストールしたら、 WatchAppDelegateまたはwatchOs 拡張機能の使用に関する以下の手順を参照してください。

New Relicを有効にする WatchAppDelegate

  1. プロジェクトにWatchAppDelegate.swiftファイルを作成し、 NSObjectから継承するWatchAppDelegateという名前のクラスを追加します。 このクラスはWKApplicationDelegateプロトコルに準拠する必要があります。

  2. applicationDidFinishLaunching WatchAppDelegateクラスに追加します。 applicationDidFinishLaunching関数の開始近くにNewRelic.start(withApplicationToken: "APP_TOKEN")を追加します。 必ずAPP_TOKENアプリケーション トークンに置き換えてください。 コードは次のようになります。

    import WatchKit
    import NewRelic
    class WatchAppDelegate: NSObject, WKApplicationDelegate {
    func applicationDidFinishLaunching() {
    NewRelic.start(withApplicationToken: "APP_TOKEN")
    return true
    }
    }
  3. メイン アプリ構造オブジェクトに、次のスニペットを追加します。

    import NewRelic
    @main
    struct Watch_App: App {
    @WKApplicationDelegateAdaptor var appDelegate: WatchAppDelegate
    }

watchOS拡張機能でNew Relicを有効にする

  1. WatchKit 拡張機能のInfo.plistファイルにWKExtensionDelegateClassNameキーを追加します。 これにより、 ExtensionDelegateという名前のデリゲート オブジェクトが自動的に作成されます。 詳細については、 WKExtensionDelegateを参照してください。

  2. 作成した ExtensionDelegate クラスに、 applicationDidFinishLaunching 関数を追加します。

  3. できるだけapplicationDidFinishLaunchingの先頭に近いところに、 APP_TOKENアプリケーション トークンに置き換えてNewRelic.start(withApplicationToken: "APP_TOKEN")を追加します。 コードは次のようになります。

    import WatckKit
    import NewRelic
    class ExtensionDelegate: NSObject, WKExtensionDelegate {
    func applicationDidFinishLaunching() {
    NewRelic.start(withApplicationToken: "APP_TOKEN")
    return true
    }
    }

watchOSプラットフォームの制限

Apple は、watchOS プラットフォームに同じ iOS API を提供していません。 つまり、特定の iOS エージェント機能は watchOS ではまだ利用できません。 私たちはプラットフォームの統一を目指しており、Apple が新しい機能をリリースするたびにエージェントを更新し続けます。 以下は、現在サポートされていない既知の機能の一部です。

  • クラッシュ処理: PLCrashReporterエージェントが使用するサードパーティ ライブラリであり、watchOS と互換性がありません。
  • クラッシュ数: watchOS ではクラッシュが報告されないため、クラッシュ数を収集できません。
  • 処理された例外: エージェントは処理された例外をキャプチャしてアップロードしますが、New Relic は現在それらを表示できません。
  • バックグラウンド収集: NRFeatureFlag_BackgroundReporting が有効になっている場合、エージェントは引き続きアプリケーションを監視しますが、バックグラウンドでは収集やNew Relicへのアップロードは行われません。
  • オフラインでマークされたイベント: NRFeatureFlag_OfflineStorageが有効になっている場合、エージェントはオフラインで収集した情報を保存し、オンラインになったときに送信できます。 ただし、オフライン状態で作成されたイベントは、属性レベルではそのようにマークされません。
  • ホット/コールド アプリの起動時間: エージェントは UIKit 通知に依存してホット/コールド アプリの起動時間を取得しますが、この情報はまだ watchOS では利用できません。

追加のサポートが必要な場合は、 support.newrelic.comからサポートにお問い合わせください。

Copyright © 2024 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.