我正在使用最新版本的FaceBook应用程序事件插件在颤振,以及最新版本的颤振。在单击事件中,我调用的logEvent方法如下所示:
facebookAppEvents.logEvent(
name: 'Link Clicked',
parameters: {'url': request.url},
);
其中,facebookAppEvents在类本身中定义和初始化:
static final facebookAppEvents = FacebookAppEvents();
使用以下语句,Advertiser跟踪没有问题:
facebookAppEvents.setAdvertiserTracking(enabled: true);
但是,当调用logEvent方法时,我会得到一个异常。例外是:
E/MethodChannel#flutter.oddbit.id/facebook_app_events(26467): Failed to handle method call
E/MethodChannel#flutter.oddbit.id/facebook_app_events(26467): kotlin.UninitializedPropertyAccessException: lateinit property appEventsLogger has not been initialized
颤栗的医生没有问题,也没有警告。我试着清理和重建这个项目,但还是得到了同样的例外。我做的所有测试都是在Android上进行的。有办法解决这个问题吗?
发布于 2022-05-11 14:26:22
我添加ApplicationId元数据只是因为颤振插件文档说过并得到了错误。但随后通过将ClientToken添加到AndroidManifest.xml来解决这个问题(您也应该将facebook_client_token作为字符串资源添加)
AndroidManifest.xml
<application android:label="@string/app_name" ...>
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
<meta-data android:name="com.facebook.sdk.ClientToken" android:value="@string/facebook_client_token"/>
</application>
strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="facebook_app_id">123123</string>
<string name="facebook_client_token">456456</string>
</resources>
更多信息:https://developers.facebook.com/docs/app-events/getting-started-app-events-android
https://stackoverflow.com/questions/70643855
复制相似问题