Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 最新Ti SDK 9.0.3 GA的Firebase分析在屏幕视图中出现问题_Ios_Firebase_Titanium_Appcelerator_Titanium Modules - Fatal编程技术网

Ios 最新Ti SDK 9.0.3 GA的Firebase分析在屏幕视图中出现问题

Ios 最新Ti SDK 9.0.3 GA的Firebase分析在屏幕视图中出现问题,ios,firebase,titanium,appcelerator,titanium-modules,Ios,Firebase,Titanium,Appcelerator,Titanium Modules,我尝试将Firebase与以前版本的Ti SDK(7.5.2)一起使用。其中FIRAnalytics.setScreenName和FIRAnalytics.logEventWithName(ti.firebase的方法,其他模块中的相等方法)工作正常 最初的想法是,可能是模块问题。但读了几篇博客文章后,Firebase会自动跟踪屏幕视图 当然,我们也可以手动调用 如果我的猜测是正确的,firebase在应用程序发布时开始跟踪屏幕时间,我们将得到以下错误。(我尝试了ti.firebase、fire

我尝试将Firebase与以前版本的Ti SDK(7.5.2)一起使用。其中FIRAnalytics.setScreenName和FIRAnalytics.logEventWithName(ti.firebase的方法,其他模块中的相等方法)工作正常

最初的想法是,可能是模块问题。但读了几篇博客文章后,Firebase会自动跟踪屏幕视图

当然,我们也可以手动调用

如果我的猜测是正确的,firebase在应用程序发布时开始跟踪屏幕时间,我们将得到以下错误。(我尝试了ti.firebase、firebase.analytics和自己的ios本机手机示例)

objc[67740]:无法形成对实例的弱引用(0x7f9ab8e0aac0) UIViewController类的。这个物体可能是 过度释放,或正在解除分配过程中

我找到了一个关闭屏幕跟踪的替代方法。通过在项目的info.plist中将
FirebaseScreenReportingEnabled
添加到false。对于Tianium项目,我们需要添加tiapp.xml。这次我们没有看到任何问题,日志事件工作正常。但我没有看到任何屏幕视图,即使是手动的。因为此选项将完全阻止屏幕跟踪

:
<ios>
        <enable-launch-screen-storyboard>true</enable-launch-screen-storyboard>
        <use-app-thinning>true</use-app-thinning>
        <plist>
            <dict>
                :
                <key>UIStatusBarStyle</key>
                <string>UIStatusBarStyleDefault</string>
                <key>FirebaseScreenReportingEnabled</key>
                <false/>
            </dict>
        </plist>
    </ios>
:

我们尝试了最新的钛火基分析模块。它工作得很好

Firebase本身也发生了变化。现在通过传递常量发送Screenview也和日志事件一样。注意:如果您通过“屏幕视图”,它将不工作。 您需要像下面这样使用常量,模块已经处理好了


[FIRAnalytics logEventWithName:kFIREventScreenView参数:

您能否向代码展示如何实现firebase模块和firebase分析部分。是的,我同意,我只是复制了ti.firebase的方法。。
var _tFireb = require('ti.firebase');
_tFireb.configure();

function doClick(e) {
    alert($.label.text);
    
    var logParams = {
        'name': "button_clicked",
        'parameters': null
    };
    //Ti.API.info("Sending logEvtData", logParams);
    _tFireb.FIRAnalytics.logEventWithName(logParams);
}

$.index.open();

_tFireb.FIRAnalytics.setScreenName({
        'screenName' :  "indexdefault",
        'screenClass' : "indexdefault"
    });