irpas技术客

FacebookSDK接入流程、注意事项_Anti爱打盹_facebook sdk

大大的周 2943

一、导入依赖项

1、添加Facebook SDK为构建依赖项

????????设置支持的最低SDK版本,选择API 15:Android 4.0.3或者更高的版本

? ? ? ? 在build.gradl(Project:<your_project>)文件中buildscript中的repositories部分添加mavenCentral()

???buildscript { ???????? repositories { ????????????????//在这里添加 ????????????????mavenCentral() ???????? } ? ??

在build.grade (Module:app)文件中的?dependece 部分中添加

implementation 'com.facebook.android:facebook-android-sdk:latest.release'

构建项目 即可把 com.facebook.FacebookSdk 导入应用

二、接入配置 1、新建string.xml资源文件

????????在src/res/values目录下新建strings.xml文件,

????????将自己注册的应用的信息

????????应用名(app_name)、AppID(facebook_app_id)、客户端令牌(facebook_client_token)

????????添加至文件中

????????<?xml version="1.0" encoding="utf-8"?> ????????<resources> ????????<string name="app_name">MyAppName</string> ????????<string name="facebook_app_id">123456</string> ????????<string name="facebook_client_token">MyAppClientToken</string> ???????? <string name="fb_login_protocol_scheme">fb123456</string> ????????</resources> ? ?2、在AndroidManifest.xml配置FacebookSDK初始化设置

????????打开 AndroidManifest.xml文件

????????在<application>? </application>标签中写入facebook相关配置?

<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"/> <meta-data android:name="com.facebook.sdk.ApplicationName" android:value="@string/app_name" /> <meta-data android:name="com.facebook.sdk.AutoLogAppEventsEnabled" android:value="true"/> <meta-data android:name="com.facebook.sdk.AutoInitEnabled" android:value="true"/> <meta-data android:name="com.facebook.sdk.AdvertiserIDCollectionEnabled" android:value="true"/>

????????AutoLogAppEventsEnabled 为是否启用FacebookSDK自动记录应用事件

????????AutoInitEnabled为FacebookSDK是否自动进行初始化

????????注:这里要通过@string/(数据字段)?去string.xml取,直接填的话要加fb,否则会出现FbSDK初始化无法识别数据的情况

????????然后在<application>? </application>标签后添加?????

?<uses-permission android:name="android.permission.INTERNET"/>

????????注:如果后续调试 logcat出现如下报错时?

????????Failed to find provider info for com.facebook.katana.provider.XXX?

????????Apps that target Android API 30+ (Android 11+) cannot call Facebook native apps unless the package visibility needs are declared

????????在<application>? </application>标签前面加

????<queries> ????????<provider android:authorities="com.facebook.katana.provider.XXXX"/> ????</queries>

????????如继续报该错误,可尝试打开Facebook并登陆,再启动应用。

三、FacebookSDK事件机制: ? ? ? ? 1、自动记录事件

? ? ? ? ? ? ? ? Facebook数据后台的事件,会在 FacebookSDK 初始化后自动进行记录(例如:应用安装) ? ? ? ? ? ? ? ? 注:前提是设置了?AutoLogAppEventsEnabled= true?

? ? ? ? 2、手动记录

? ? ? ? ? ? ? ? 可创建AppEventsLogger对象辅助记录,this是方法坐在的Activity

? ? ? ? ? ? ? ? ?AppEventsLogger logger = AppEventsLogger.newLogger(this);

? ? ? ? ? ? ? ? 然后就可以用来记录事件

? ? ? ? ? ? ? ? logger.logEvent(AppEventsConstants.EVENT_NAME_X);

????????????????

?四、调试

? ? ? ? 调试记录,记录客户的应用事件使用情况,以及详细的请求和JSON响应,

? ? ? ? 在初始化Facebook SDK完毕后 在java中添加一下代码

????????FacebookSdk.setIsDebugEnabled(true); ????????FacebookSdk.addLoggingBehavior(LoggingBehavior.APP_EVENTS);

? ? ? ?查到自己想要记录的事件的事件名(_eventName)以及Result:Succee,则代表完成

? ? ? ?注:正式包一定要关闭调试记录!!!

五、发布

????????

?

? ? ? ? 软件包名称为 AndroidManifest.xml 中的package

? ? ? ? 类名为main/java文件夹中的.java文件的名字

? ? ? ? 散列密钥生成:

????????生成Facebook散列密钥 - 简书

注:上传新版本时如果遇到

修改项目中的 versionName 字段即可

六、相关文档

Facebook SDK接入

https://developers.facebook.com/docs/android/getting-started

Facebook SDK事件记录

https://developers.facebook.com/docs/app-events/getting-started-app-events-android

后续可能会遇到的问题

FacebookSDK接入的那些坑_龙爷linux的博客-CSDN博客

https://developers.facebook.com/docs/android/troubleshooting/#faq_267321845055988?


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #Facebook #sdk #15Android #403或者更高的版本