接入安卓Facebook SDK的AppEvents

1.后台配置

        在后台需要配置3个内容:包名、默认活动类、密钥散列

facebook-android-sdk-4.42.0-cocos2D文档类资源-CSDN下载facebook-android-sdk-4.42.0版本,接入FacebookSDK需要下载,免更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/u012080441/86272212

2.导入 Android 版 Facebook SDK

        在build.gradle的buildscript { repositories { } }中添加mavenCentral() 

buildscript {
    repositories {
        google()
        jcenter()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:4.1.0'
    }
}

        在depenemcies{}中添加 implementation 'com.facebook.android:facebook-android-sdk:[4,5)

dependencies {
    api fileTree(include: ['*.jar', '*.aar'], dir: 'libs')

    // facebook
    implementation 'com.facebook.android:facebook-android-sdk:[4,5)'
}

3.添加 Facebook 应用编号

        配置app/res/values/strings.xml 文件。在文件中添加facebook_app_idfb_login_protocol_scheme、facebook_client_token元素。例如,如果您的应用编号为 1234,并且客户端口令为 56789,则您的代码格式如下所示


<string name="facebook_app_id">1234</string>
<string name="fb_login_protocol_scheme">fb1234</string>
<string name="facebook_client_token">56789</string>

        配置 /app/manifest/AndroidManifest.xml,将 meta-data 元素添加到应用编号和客户端口令的 application 元素中。代码如下所示


<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>

        在 application 元素中,为 Facebook 添加活动,并为 Chrome 自定义选项卡添加活动和意图筛选条件,代码如下所示


    <activity android:name="com.facebook.FacebookActivity"
        android:configChanges=
                "keyboard|keyboardHidden|screenLayout|screenSize|orientation"
        android:label="@string/app_name" />
    <activity
        android:name="com.facebook.CustomTabActivity"
        android:exported="true">
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="@string/fb_login_protocol_scheme" />
        </intent-filter>
    </activity>

        注意:需要访问网络的权限

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

4.提供您的 Android 项目信息

        在后台配置包名、默认活动类

5.添加开发和发布密钥散列

        下载 openssl工具,并添加到环境变量中。openssl-0.9.8-for-windows-其他文档类资源-CSDN下载接入Facebook时需要在后台配置密钥散列,按照文档给的命令含有openssl命令,下载之后选择x更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/u012080441/86280665        cmd中到keystore所在目录
keytool -exportcert -alias 别名 -keystore 名字 | openssl sha1 -binary | openssl base64

        得到一个长度为28的字符串,配置在后台或者交给发行人员即可。

6.记录应用事件

        自定义的事件。需要引入包有2个。

import com.facebook.FacebookSdk;
import com.facebook.appevents.AppEventsLogger;

...
...

    AppEventsLogger logger = null;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // 激活应用事件
        AppEventsLogger.activateApp(this);

        logger = AppEventsLogger.newLogger(this);
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        // 关闭应用事件
        AppEventsLogger.deactivateApp(this);
    }
...
...
    public void logEventSend(String eventName) {
        logger.logEvent(eventName);
    }
   
    public void logEventSend(String eventName, double valueToSum) {
        logger.logEvent(eventName, valueToSum);
    }

    public void logEventSend(String eventName, Bundle parameters) {
        logger.logEvent(eventName, parameters);
    }

7.验证应用事件

        在后台查看事件数据。


        在编译中如果有报错找不到 implementation 'com.facebook.android:facebook-android-sdk:[4,5)' 请检查是否正确添加 mavenCentral() 


2022.8.8

        activeApp接口推荐使用 activeApp(Application application),使用该接口之后无需调用deactivateApp接口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

coding·life

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值