publishInstallAsync NullPointer异常

时间:2013-08-14 10:25:58

标签: android facebook-android-sdk

我使用Facebook SDK 3.0.2并希望通过此SDK发布广告系列的应用安装。我不想提供Facebook登录,只是发布应用程序安装和日志事件。我遵循了这个tutorial,即我在Facebook上注册了应用程序,并添加了所有的东西,如包名,类名和键哈希(dev和发布键哈希)。

安装事件在ios SDK中注册正常。但是,如果我尝试在Android应用中调用com.facebook.Settings.publishInstallAsync(context, MY_APP_ID);,我会收到带有标记NullPointerException: null的logCat消息Facebook-publish;此外,Android设备的App Dashboard中没有可见的安装事件。如果设备没有在设备上安装本机Facebook应用程序,我还会在Failed to find provider info for com.facebook.katana.provider.AttributionIdProvider消息之前在logcat中收到NullPointerException: null消息。 有人在Android上安装了事件吗?

1 个答案:

答案 0 :(得分:3)

好的,因为您的设备上没有安装Facebook应用程序,所以会出现问题。

publishInstallAndWaitForResponse(Context,String)方法的source code您可以看到以下这一行:

String attributionId = Settings.getAttributionId(context.getContentResolver());

getAttributionId(ContentResolver)中说:

returns null if the facebook app is not present on the phone

所以,这就是问题所在。您为attributionId获取null,因此发布安装不适合您。