使用Google Analytics 4进行应用分支:运行Xamarin Forms Android应用程序时出现异常

jfgube3f  于 2023-05-27  发布在  Go
关注(0)|答案(1)|浏览(176)

我是一个Xamarin开发人员,我已经按照网址https://help.branch.io/partners-portal/docs/google-analytics-4#properties-sent-to-google-analytics在Xamarin表单Android中集成Google Analytics 4,将分支数据发送到Google Analytics Jmeter 板,但我在运行应用程序时遇到异常,说
BranchXamarinSDK.BranchException:在使用Branch对象之前,必须初始化分支
我在MainActivity.cs中实现了下面的代码

protected override void OnCreate(Bundle savedInstanceState) 
{ 

base.OnCreate(savedInstanceState); 

// Set the request metadata before initializing the Branch SDK 
BranchAndroid.GetInstance().SetRequestMetadata("$firebase_app_instance_id", (string) FirebaseAnalytics.GetInstance(this).GetAppInstanceId()); 
BranchAndroid.GetInstance().SetRequestMetadata("$firebase_user_id", "{user_id}"); 

BranchAndroid.Init(this, Resources.GetString(Resource.String.branch_test_key), this); 

LoadApplication(new App()); 

}

ha5z0ras

ha5z0ras1#

不可以,如果你想调用SetRequestMetadata()方法,BranchAndroid.GetInstance()必须有value,否则它将为null。
另外,我查看了分支the resource code about the BranchAndroid的官方文件。
官方文件称:

**所以只要在会话初始化之前,示例初始化之后调用SetRequestMetadata()就可以了。**您的代码应该是:

protected override void OnCreate(Bundle savedInstanceState) 
{ 

base.OnCreate(savedInstanceState); 

BranchAndroid.Init(this, Resources.GetString(Resource.String.branch_test_key), this); 
// Set the request metadata before initializing the Session 
BranchAndroid.GetInstance().SetRequestMetadata("$firebase_app_instance_id", (string) FirebaseAnalytics.GetInstance(this).GetAppInstanceId()); 
BranchAndroid.GetInstance().SetRequestMetadata("$firebase_user_id", "{user_id}"); 
LoadApplication(new App()); 

}

相关问题