最近在项目中需要接入facebook的应用事件也就是国内友盟,顺便记录一下

官网地址:https://www.facebook.com/login/

文档地址:https://developers.facebook.com/docs/app-events/getting-started-app-events-android/?translation#log-manually

应用事件是 Android 版 Facebook SDK 的一项功能,您可以使用该功能追踪应用或网站内的操作。通过追踪这些操作或事件,您可以对广告投放进行定位、衡量和优化,将您的广告投放给最有可能采取操作的人群。本指南介绍如何集成 Facebook SDK,然后记录这些事件,从而为新旧应用添加应用事件。

1.创建在facebook创建应用,创建应用之后会得到应用编号

2.把 Facebook SDK 加入你的项目

在项目中使用 Facebook SDK,请把它添加为版本依赖关系并导入。如果你在创建新项目,请按以下所有步骤操作。如需把 Facebook SDK 加入现有项目,请从第 3 步开始操作。
1.前往Android Studio | New Project | Minimum SDK
2.选择“API 15: Android 4.0.3”或更高版本来创建新项目。
3.在你的项目中,打开
your_app | Gradle Scripts | build.gradle
4.把 Maven Central Repository 添加到dependencies:前的build.gradle
repositories {
        mavenCentral()
    }
5. 把compile 'com.facebook.android:facebook-android-sdk:[4,5)'加入你的build.gradle依赖关系。
6. 创建你的项目。
7. 把 Facebook SDK 导入你的应用:
import com.facebook.FacebookSdk;
添加 Facebook 应用编号
请为应用添加 Facebook 应用编号,并更新你的 Android 清单。
1.打开你的strings.xml文件,例如:/app/src/main/res/values/strings.xml。
2.添加名为facebook_app_id的新字串,字串名称应包含你的 Facebook 应用编号:
<string name="facebook_app_id">这是你的应用编号</string>
3.打开AndroidManifest.xml。
4.把uses-permission元素加入清单:
<uses-permission android:name="android.permission.INTERNET"/>
5. 把一项meta-data元素添加到application元素:
<application android:label="@string/app_name" ...>
    ...
    <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
    ...
</application>

3.把应用的包名填上去
包名是你 Android 应用的独特标识符。如果用户还未安装应用,我们就会使用这个包名让他们从 Google Play 下载你的应用。你可以在Android Manifest中找到你的包名。

与此同时需要Android 密钥散列,debug密钥可以根据代码得到也可以用keytools 得到

1.代码得到

PackageInfo info = getPackageManager().getPackageInfo(getPackageName(), PackageManager.GET_SIGNATURES);
for(Signature signature : info.signatures) {i++;MessageDigest md = MessageDigest.getInstance("SHA1");md.update(signature.toByteArray());String KeyHash = Base64.encodeToString(md.digest(), Base64.DEFAULT);//KeyHash 就是你要的,不用改任何代码  复制粘贴 ;Log.e("222", "KeyHash=" + KeyHash);
}

2.命令生成

Mac 操作系统
要生成开发密钥散列,请打开一个终端窗口,运行以下命令:

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

此命令将针对您的开发环境生成一个包含 28 个字符的唯一密钥散列。

Windows

  • java 开发包中的密钥和证书管理工具 (keytool)

  • Google Code Archive 的 Windows 版 openssl-for-windows openssl 函数库 https://code.google.com/archive/p/openssl-for-windows/downloads

keytool -exportcert -alias YOUR_RELEASE_KEY_ALIAS -keystore YOUR_RELEASE_KEY_PATH | openssl sha1 -binary | openssl base64

正式的key可以通过上面的方式得到

3.初始化facebook SDK进行埋点

FacebookSdk.setAutoInitEnabled(true);
FacebookSdk.fullyInitialize();//调试用
FacebookSdk.setIsDebugEnabled(true);
FacebookSdk.addLoggingBehavior(LoggingBehavior.APP_EVENTS);AppEventsLogger logger = AppEventsLogger.newLogger(this);
logger.logEvent("sentFriendRequest");
//facebook 埋点
logUserRegistrationSuccessfulEvent("User Registration Successful");
logInstallationIsCompleteEvent ("installationIsComplete");
logger.logEvent("installation is complete");
public void logUserRegistrationSuccessfulEvent (String userRegistrationSuccessful) {AppEventsLogger logger = AppEventsLogger.newLogger(this);Bundle params = new Bundle();
//    params.putString("UserRegistrationSuccessful", userRegistrationSuccessful);logger.logEvent("User Registration Successful");}public void logInstallationIsCompleteEvent (String installationIsComplete) {AppEventsLogger logger = AppEventsLogger.newLogger(context);Bundle params = new Bundle();// params.putString("installationIsComplete", installationIsComplete);logger.logEvent("installation is complete");}

Android 接入baceBook相关推荐

  1. Android 接入支付宝支付实现

    接上篇android接入微信支付文章,这篇我们带你来接入支付宝支付服务 简介 首先要说明的是个人感觉接入支付宝比微信简单多了,很轻松的,所以同学们不要紧张~ 当然还是老规矩啦,上来肯定的贴上官网地址, ...

  2. Android接入支付宝支付实现

    接上篇android接入微信支付文章,这篇我们带你来接入支付宝支付服务 简介 首先要说明的是个人感觉接入支付宝比微信简单多了,很轻松的,所以同学们不要紧张~ 当然还是老规矩啦,上来肯定的贴上官网地址, ...

  3. Android接入支付宝实现支付功能

    Android接入支付宝实现支付功能 我本来是想直接讲Android支付这一块的,包括支付宝,微信,其他第三方整合支付等,但是微信开放平台他对我的账号做了限制,所有我今天就先把重心放在支付宝的支付上, ...

  4. Android接入极光消息推送

    极光消息推送: 极光推送(JPush)是一个端到端的推送服务,使得服务器端消息能够及时地推送到终端用户手机上,让开发者积极地保持与用户的连接 主要功能 保持与服务器的长连接,以便消息能够即时推送到达客 ...

  5. Android接入三方登录——QQ、微信、Facebook、Twitter

    Android接入三方登录--QQ.微信.Facebook.Twitter 避坑指南 facebook错误1: facebook错误2: QQ 微信 Facebook Twitter 补充: 避坑指南 ...

  6. Android 接入支付宝在手机未安装支付宝客户端的情况下掉不起支付宝sdk的h5页面

    Android 接入支付宝在手机未安装支付宝客户端的情况下掉不起支付宝sdk的h5页面 最近公司项目需要对接支付宝移动支付,按照支付宝开发文档一步步往项目中集成,一开始还是比较顺利的,因为测试手机上安 ...

  7. Android接入支付宝开发

    Android接入支付宝接口主要分为以下几大步奏: 作为程序员,其实我们只是做了第五步的工作,假如你需要自己一个人都完成上述的操作,详细的步骤请看支付宝移动支付的官网: https://cshall. ...

  8. Android接入第三方QQ登录

    Android接入第三方QQ登录 前言 开始接入 1. 添加依赖 2.AndroidManifest.xml配置 3.初始化SDK 4.创建实例 5.实现回调 6. 调用QQ登录接口 7.获取用户信息 ...

  9. 韩国渠道接入三星支付(Android 接入 Samsung in app purchase)

    Android 接入 Samsung In-App Purchase 在三星后台注册应用 获取Samsung IAP-Helper SDK 三星支付SDK集成 总结: 在三星后台注册应用 注册开发者账 ...

最新文章

  1. python难学?对初学者不友好?进来看看,每30s就能学会一个小技巧,你get到了嘛?
  2. pycharm工程中的pip用不了怎么办?
  3. 您拒绝了位置共享服务器,共享服务器拒绝访问
  4. 指定Gradle构建属性
  5. Spring REST:异常处理卷。 3
  6. hide show vue 动画_(Vue动效)7.Vue中动画封装
  7. vb.net中东软医保接口的调用
  8. n的阶乘程序python_Python程序对N阶乘的尾随零进行计数
  9. Python程序:输出斐波那契数列
  10. JavaScript之实例练习(正反选、二级联动)
  11. Linux与Windows关于标准输入中涉及EOF的处理方式
  12. PlantUML 简明教程
  13. 诚龙网刻PXE网刻出错解决
  14. MySQL5.7 InnoDB官方文档中文版[猿教程]
  15. 如何保证服装ERP项目成功施行
  16. Could not resolve project
  17. 自动化测试面试题整理出炉附答案,建议收藏
  18. 其实读一读,真的安静了
  19. Keil软件的方波仿真
  20. 【解耦Excel导出服务】开发日志

热门文章

  1. Maven nexus私服仓库类型说明及配置阿里云代理仓库
  2. go中使用type关键字来定义类型别名
  3. Linux安全技术和防火墙介绍
  4. 【收藏】如何查看linux服务器内存使用情况
  5. javafx + jfoenix相关学习资料地址整理
  6. docker安装 kuboard v3 - 内建用户库
  7. CentOS7使用ISO镜像文件作为离线Yum源
  8. 请你说明一下TreeMap的底层实现?
  9. MySQL Percona PXC集群实现MySQL主从复制强一致性
  10. MySQL使用覆盖索引来优化limit语句