集成Facebook广告、分享集成笔记
1、集成Facebook广告
2、集成Facebook分享
Facebook广告和分享集成
Facebook分享
只是简单的分享,关于分享的回调统计以后用到在补充
1、注册Facebook账号(这个就不多说)
2、找到分享集成文档https://developers.facebook.com/docs/sharing/android
3、这个时候我们可以看到他的前提条件
- 首先集成SDK
- 将以下字串添加至模块级 /app/build.gradle 的 dependencies 之前
mavenCentral() }
* 将配置最新版本 Facebook SDK 的 compile 依赖项添加到 build.gradle 文件
```
dependencies {
compile 'com.facebook.android:facebook-android-sdk:4.+'
}
```
* 使用 Facebook SDK 之前,需要先进行初始化。将调用添加到 Application 类中 onCreate 的 FacebookSdk.sdkInitialize:
```
public class MyApplication extends Application {
// Updated your class body:
@Override
public void onCreate() {
super.onCreate();
// Initialize the SDK before executing any other operations,
FacebookSdk.sdkInitialize(getApplicationContext());
AppEventsLogger.activateApp(this);
}
}
```
注意不要忘记在AndroidMainfest.xml文件中写入MyApplication
* 添加Facebook应用编号
![](http://upload-images.jianshu.io/upload_images/1316820-d0106270315d9d22.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
* 然后向项目的 strings 文件添加您的 Facebook 应用编号,并更新 Android 清单
* 1.打开 strings.xml 文件。示例路径:/app/src/main/res/values/strings.xml。
* 2.添加新的字符串(名称为 facebook_app_id,值为 Facebook 应用编号)。
* 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>```
* 发送图片或视频
* 如果要通过 Android 版 Facebook 应用分享链接、图片或视频,还需要在清单文件中声明 FacebookContentProvider。
* 在 authorities 值的末尾添加您的应用编号。例如,如果 Facebook 应用编号是 1234,则声明应如下图所示:
![](http://upload-images.jianshu.io/upload_images/1316820-3c8fed896488d52a.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
######这个时候前提工作已经做了,我们看下代码实现吧
![](http://upload-images.jianshu.io/upload_images/1316820-cf50742c09d42517.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![](http://upload-images.jianshu.io/upload_images/1316820-09e4252f210a15a7.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
这个时候调用onClickPostStatusUpdate()方法就能分享了,如果有客户端就会吊起客户端,如果没有就是网页进行登录分享。![](http://upload-images.jianshu.io/upload_images/1316820-7ab8f2d3098ebaf0.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
分享成功后,看下你的facebook账号详情吧。
![](http://upload-images.jianshu.io/upload_images/1316820-34b3c0dd441fbba1.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
#### Facebook广告集成(插播式)
* 在开发文档中心,找到Audience Network,或者进入你的应用后台(刚才创建的那个应用),在左侧有个添加产品。
* ![](http://upload-images.jianshu.io/upload_images/1316820-3417753460201be1.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
* 然后创建并测试广告版位。创建你的应用版位,这个时候就会弹出创建广告版位,这个里面自己去填写。我们最终会得到一个版位编号,这个是有用的
![](http://upload-images.jianshu.io/upload_images/1316820-828469fcee9876d4.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
这个时候我们看下代码怎么编写吧,其实也是很简单的,其余的mainfest文件配置如分享的配置,这里就不多说。
![](http://upload-images.jianshu.io/upload_images/1316820-1582b053005355e2.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
注意不要忘记在mainfest文件中注册MyApplication
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
loadInterstitialAd();
}
});
}
private InterstitialAd interstitialAd;
private void loadInterstitialAd() {
//加入你的广告版位号
interstitialAd = new InterstitialAd(this, "1110535662372701_1110559022370365");
interstitialAd.setAdListener(this);
interstitialAd.loadAd();
}
@Override
public void onInterstitialDisplayed(Ad ad) {
//展示
}
@Override
public void onInterstitialDismissed(Ad ad) {
//消失
}
@Override
public void onError(Ad ad, AdError adError) {
//加载错误
}
@Override
public void onAdLoaded(Ad ad) {
//加载完成
interstitialAd.show();
}
@Override
public void onAdClicked(Ad ad) {
//点击
}
这个时候运行代码并点击按钮,看下奇迹吧!!!
![](http://upload-images.jianshu.io/upload_images/1316820-74d226faf0980c89.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)