代码之家  ›  专栏  ›  技术社区  ›  birdcage

如何获取最后一次看到的页面分析?

  •  0
  • birdcage  · 技术社区  · 6 年前

    我的应用程序的一些用户在完成他们应该做的事情之前意外地退出了应用程序。我怀疑应用程序是否会被冻结。如何检查用户最后看到的页面?我想把数据保存到firebase进行分析。

    我只是想知道用户在哪里退出应用程序。

    2 回复  |  直到 6 年前
        1
  •  -1
  •   Ehsan Saddique    6 年前

    在这种情况下,没有任何默认方法可以使用。这是您可以在每个视图控制器中执行的操作 viewDidAppear 将该屏幕的名称保存在 UserDefaults 覆盖上一个值。现在,在每次应用启动时,检查应用上次打开时是否崩溃,如果崩溃,则从 用户默认值 把它保存到firebase。

    如果你不知道如何检测应用程序崩溃,请使用此链接。
    https://stackoverflow.com/a/37220742/1811810

        2
  •  -1
  •   Junior Jiang    6 年前

    苹果提供的 NSSetUncaughtExceptionHandler 要听应用程序是否崩溃, 所以,当应用程序启动时,你可以使用这个监听器来保存崩溃日志,

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ 
        //get crash report
        [self installUncaughtExceptionHandler]; 
    }
    

    具体实施如下:

    - (void)installUncaughtExceptionHandler {
       NSSetUncaughtExceptionHandler(&UncaughtExceptionHandler);
     }
      void UncaughtExceptionHandler(NSException *exception) {
        NSArray *arr = [exception callStackSymbols];
        NSString *reason = [exception reason];
        NSString *name = [exception name];
        NSString *currentVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];
        NSString *urlStr = [NSString stringWithFormat:@"mailto://developer@googlemail.com?subject=CrashReport&body=YourSuggest!<br><br><br>""errorInfo(%@):<br>%@<br>-----------------------<br>%@<br>---------------------<br>%@",currentVersion,name,reason,[arr componentsJoinedByString:@"<br>"]];
        NSURL *url = [NSURL URLWithString:[urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
       [[UIApplication sharedApplication]openURL:url];
     }
    

    并建议如果客户允许,您可以发送电子邮件告诉开发者。 我认为这个错误信息可以包含崩溃页面的信息,希望这能帮助你。