IMQA GUIDE
설치∙사용 가이드자주 묻는 질문개발자 포럼릴리즈 노트
JPN
JPN
  • Getting Started
    • お知らせ
    • 対応環境
  • Installation
    • Android
      • MPM SDKインストール
      • MPM SDK設定
      • Crash SDKインストール
      • Crash SDK設定
    • iOS
      • MPM SDKインストール
      • MPM SDK設定
      • Crash SDKインストール
      • Crash SDK設定
    • React Native
      • Android
      • iOS
      • React Native Libraryの設定
    • Cordova
      • Android
      • iOS
    • Morpheus
      • Android
      • iOS
    • W Hybrid
    • Web (WPM/WCrash)
      • [共通] WebAgentのインストール
      • [共通] WebAgent設定
      • [共通] ブラウザ互換性
  • User Guide
    • MPM ユーザガイド
      • プロジェクトリスト
      • 性能情報
      • A/Bのダッシュボード
      • 画面性能分析
      • 性能詳細分析
      • 行動分析
      • 地域分析
      • 統計
      • レポート
      • 通知
      • 管理
    • Crash ユーザガイド
      • プロジェクトリスト
      • ダッシュボード
      • エラー詳細
      • エラー検索
      • 統計
      • 設定
    • WPM ユーザガイド
    • WCrash ユーザガイド
Powered by GitBook
On this page
  • 1. Podfileの追加
  • 2. PPHybridViewControllerの変更
  • * Webview Agentの登録
  1. Installation
  2. Morpheus

iOS

PreviousAndroidNextW Hybrid

Last updated 1 year ago

Morpheus環境におけるIMQA SDKを適用する方法を提供します。

により、IMQA agentコードを適用した後、この文書の内容を追加で適用してください

1. Podfileの追加

プロジェクトのPodfileに以下のように作成します。

pod 'IMQACrashAgent', '~> 3.24.1' 
pod 'IMQAMPMAgent', '~> 3.24.1'

2. PPHybridViewControllerの変更

viewWillAppearコードとuserContentController関数の部分を変更します。

viewWillAppear
- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    NSLog(@"PPHybridViewController viewWillAppear");
    [_poperaWebview.configuration.userContentController addScriptMessageHandler:self name:@"ImqaBridge"];
}
userContentController
- (void)userContentController:(nonnull WKUserContentController *)userContentController didReceiveScriptMessage:(nonnull WKScriptMessage *)message {
    if([message body]) {
        if([message.name isEqual: @"ImqaBridge"]) {
           [[IMQAMpm sharedInstance] saveWebviewPostMessage:self :message.body];
         }
        NSLog(@"[message body] = %@", [message body]);
        NSDictionary *dictJson;
        if([[message body] isKindOfClass:[NSDictionary class]]) {
            dictJson = [message body];
            
        } else {
            NSData *jsonData = [[message body] dataUsingEncoding:NSUTF8StringEncoding];
            //colors is a NSArray property used as dataSource of TableView
            dictJson = [NSJSONSerialization JSONObjectWithData:jsonData
                                                       options:NSJSONReadingMutableContainers
                                                       error:nil];
        }
    }
    else{
        NSLog(@"誤ったjavascriptのリクエストです。");
    }
}

* Webview Agentの登録

Morpheusはサーバーからモバイルページを読み込む方式ではなく、モバイル内部にstaticファイルを置く方式です。ご提供するMorpheus用webview agentをすべてのページにおいてheadの一番上に位置するようにします。Morpheusの構造上、cdnを使用せず、直接リソースを挿入してください。

IMQA MPMインストールガイド