我使用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上安装了事件吗?
答案 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,因此发布安装不适合您。