获取第一手facebook sdk获取好友数据分

我是如何一步步拿到Facebook Offer的-互联网的一些事3435人阅读
官方文档翻译(3)
& 最近公司要写集成登陆SDK,具体集成那些我就不说了,其中就包含需要使用facebook登陆自己的app,于是我苦心研究facebook,写完后发现各种问题,对于问题我当然去查阅官方文档看怎么解决,结果一查,我的天,SDK更新了,以前是两种方式loginButton和UserSettingsFragment,而对于两种方式来说都不适合我,因为我要写sdk供别人使用,所以别人要用那种登陆按钮需要用户自己定义,而不是用facebook自己的。对于两种方式来说,由于第二种不需要开发者参与,布局按钮都是facebook提供的,所以我采用参考第一种。现在facebook更新了,第一种还是loginbutton,但是调用方法步骤上不同了,而第二种变为loginManager了,今天我还是采用第一种详细介绍如何使用facebook实现第三方登陆。
1,我们先看看使用前需要做什么:具体步骤可以参考官方文档:/docs/androidlocale=zh_CN,(下载SDK)
/docs/android?locale=zh_CN#!/docs/android/getting-started/
1点击页面的quick start for android 然后输入框输入你要创建的应用名称 &然后下载sdk &
2安装facebook应用(装不装其实取决于自己,装上登陆的时候会跳到应用的登陆界面,不装会跳转到webview的登陆界面)
3.引入sdk.官方用的是android studio.我用的是eclipse.导入sdk,作为引用库引入。不会的可以自己百度
4填写你应用的包名和默认启动的activity
5添加Key Hashes,Key
Hashes分为开发和发布两种。具体生成方法请看下面
首先你需要安装openssl,不然你是无法生成的,装了cygwin的也可以
windows执行下面的命令:先要进入ssl的安装目录
-exportcert -alias androiddebugkey -keystore debugkey的路径 | openssl sha1 -binary | openssl
mac执行下面的命令:
-exportcert -alias androiddebugkey -keystore
debugkey的路径 | openssl sha1 -binary | openssl base64
发布版的替换为自己的证书路径,如果不会可以百度搜索,因为重点不是将这个,所以需要的可以自行百度
6跟踪app打开和安装,直接可以过,如果需要做用户行为记录的可以阅读一下。
做完上面的准备,我们就可以开始了,至于appid,可以登陆facebook账号在刚才建立的应用名字哪里就可以看到
如果需要验证是否成功,可以在刚才设置的那个activiy里加上这段代码,运行后可以打印出你设置的key hashes
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Add code to print out the key hash
PackageInfo info = getPackageManager().getPackageInfo(
&com.facebook.samples.hellofacebook&,
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance(&SHA&);
md.update(signature.toByteArray());
Log.d(&KeyHash:&, Base64.encodeToString(md.digest(), Base64.DEFAULT));
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
...接下来我们看官方的指引
Facebook Login for Android
The Facebook SDK for Android enables people to sign into your app with Facebook Login. When people log into your app with Facebook they can grant permissions to your app so you can retrieve information or perform actions on Facebook on their behalf.
To read more Facebook login and why use it, see&.
There are two ways to implement Facebook login on Android:
LoginButton&class - Which provides a button you can add to your UI. It follows the current access token and can log people in
and out.LoginManager&class - To initiate login without using a UI element.
For information on permissions, see&.
大概意思是说实现使用facebook登陆的两种实现方式
Prerequisites
Before you implement Facebook Login you need:
Facebook App&- Configured and linked to your app, with&Single Sign On enabled.Facebook SDK&- Added to your project, see&.&- Configure and link this to your Android app. See&&- Generate this and add
it to your&&- Include this in&AndroidManifest.xml
意思是说要实现功能,上面列出的是必要条件
Add Facebook Login
The simplest way to add Facebook Login to your app is to add&LoginButton&from the SDK. This is a custom view implementation of a&Button.
You can use this button in your app to implement Facebook Login.
There are other classes you use to add login to your app. The SDK includes:
LoginManager&- Initiates the login process with the requested read or publish permissions.LoginButton:&- This UI element wraps functionality available in the&LoginManager. So when someone clicks on
the button, the login is initiated with the set permissions. The button follows the login state, and displays the correct text based on someone's authentication state.CallbackManager&- Use to route calls back to the Facebook SDK and your registered callbacks. You should call it from the initiating activity or fragments&onActivityResult&call.AccessToken:&- Use this class Graph API requests. It shows the user id, and the accepted and denied permissions.Profile&- This class has basic information about person logged in.
/docs/facebook-login/android/v2.3&pre code_snippet_id=&635431& snippet_file_name=&blog__6442770& name=&code& class=&java&&上面的就不管了,按照官方的指引相信都能做完,主要看看下面的代码这个是我自己写的facebook登陆工具类,涉及到登陆facebook的一些参数的设置可按钮的事件
package com.tibco.integration.login.
import java.util.A
import java.util.L
import org.json.JSONO
import android.app.A
import android.content.I
import android.view.V
import com.facebook.AccessT
import com.facebook.CallbackM
import com.facebook.FacebookC
import com.facebook.FacebookE
import com.facebook.FacebookS
import com.facebook.GraphR
import com.facebook.GraphR
import com.facebook.ProfileT
import com.facebook.login.LoginM
import com.facebook.login.LoginR
import com.tibco.integeration.login.listener.LogInStateL
import com.tibco.integeration.login.listener.LogOutStateL
import com.tibco.integration.login.model.U
public class FaceBookLoginUtil{
static FaceBookLoginUtil mFaceBookLoginUtil=
private static Activity loginActivity=
private View loginClickView=
private View logOutView=
List&String&
LogInStateListener mBookLoginStateC
private LogOutStateListener mBookLogOutStateL
private CallbackManager callbackM
private FaceBookCallBackListener callback=new FaceBookCallBackListener();
OnFaceBookLoginClickListener onFaceBookLoginClickListener=new OnFaceBookLoginClickListener();
private boolean isLogOut=
public static FaceBookLoginUtil getInstance() {
if(mFaceBookLoginUtil==null){
mFaceBookLoginUtil=new FaceBookLoginUtil();
return mFaceBookLoginU
void SetFaceBookLoginActivity(Activity activity){
if(activity==null){
NullPointerException(&login activity is null&);
loginActivity=
void SetFaceBookLoginButton(View view){
loginClickView=
public void SetFaceBookLogOutButton(View view){
logOutView=
void SetFaceBookReadPermission(String
if(array==null){
permissions=Arrays.asList(&public_profile&);
permissions=Arrays.asList(array);
void SetOnFaceBookLoginStateListener(LogInStateListener LoginStateChanged){
if(LoginStateChanged==null){
throw new NullPointerException(&LoginStateListener is null&);
mBookLoginStateChanged=LoginStateC
public void SetOnFaceBookLogOutListener(LogOutStateListener logoutListener){
mBookLogOutStateListener=logoutL
public void open() {
FacebookSdk.sdkInitialize(loginActivity);
callbackManager = CallbackManager.Factory.create();
LoginManager.getInstance().registerCallback(callbackManager, callback);
if(loginClickView!=null){
loginClickView.setOnClickListener(onFaceBookLoginClickListener);
if(logOutView!=null){
logOutView.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
LoginManager.getInstance().logOut();
mBookLogOutStateListener.OnLogOutListener(isLogOut,&facebook&);
public void onActivityResult(int requestCode, int resultCode, Intent data) {
callbackManager.onActivityResult(requestCode, resultCode, data);
public void OnDestory(){
profileTracker.stopTracking();
private class FaceBookCallBackListener implements FacebookCallback&LoginResult&{
public void onSuccess(LoginResult result) {
fetchUserInfo(result.getAccessToken());
public void onCancel() {
mBookLoginStateChanged.OnLoginError(&user cancle log in facebook!&);
public void onError(FacebookException error) {
mBookLoginStateChanged.OnLoginError(error.getMessage());
class OnFaceBookLoginClickListener implements View.OnClickListener{
public void onClick(View v) {
LoginManager.getInstance().logInWithReadPermissions(loginActivity,permissions);
private void fetchUserInfo(AccessToken accessToken){
GraphRequest request = GraphRequest.newMeRequest(
accessToken,
new GraphRequest.GraphJSONObjectCallback() {
public void onCompleted(JSONObject object,
GraphResponse response) {
if(response.getError()!=null){
mBookLoginStateChanged.OnLoginError(&span style=&font-family: Arial, Helvetica, sans-&&response.getError()..getErrorMessage()&/span&);
}else if(response.getConnection().getResponseCode()==200){
User user=new User();
user.setEmail(object.getString(&email&));
user.setGender(object.getString(&gender&));
user.setLink(object.getString(&link&));
user.setFirstname(object.getString(&first_name&));
user.setLastname(object.getString(&last_name&));
user.setLocale(object.getString(&locale&));
user.setTimezone(object.getString(&timezone&));
user.setUserId(object.getString(&id&));
user.setUserName(object.getString(&name&));
mBookLoginStateChanged.OnLoginSuccess(user, &facebook&);
}catch(Exception e){
mBookLoginStateChanged.OnLoginError(e.getMessage());
request.executeAsync();
这个是获取到的用户信息的封装类,我里面的属性多 不全是facebook的,还有别的,不用的删掉即可package com.tibco.integration.login.
import java.io.S
import android.net.U
public class User implements Serializable{
private static final long serialVersionUID = 1L;
private String error_
private String userId;
private String tibbrUserId;
private String userN
private String middleN
private String ProfilePictureU
public String getStatus() {
public void setStatus(String status) {
this.status =
public String getError_message() {
return error_
public void setError_message(String error_message) {
this.error_message = error_
public String getEmail() {
public void setEmail(String email) {
this.email =
public String getToken() {
public void setToken(String token) {
this.token =
public String getFirstname() {
public void setFirstname(String firstname) {
this.firstname =
public String getLastname() {
public void setLastname(String lastname) {
this.lastname =
public String getUserId() {
return userId;
public void setUserId(String userId) {
this.userId = userId;
public String getTibbrUserId() {
return tibbrUserId;
public void setTibbrUserId(String tibbrUserId) {
this.tibbrUserId = tibbrUserId;
public String getUserName() {
return userN
public void setUserName(String userName) {
this.userName = userN
public String getMiddleName() {
return middleN
public void setMiddleName(String middleName) {
this.middleName = middleN
public String getLink() {
public void setLink(String link) {
this.link =
public String getBirthday() {
public void setBirthday(String birthday) {
this.birthday =
public String getProfilePictureUri() {
return ProfilePictureU
public void setProfilePictureUri(String profilePictureUri) {
ProfilePictureUri = profilePictureU
public String getGender() {
public void setGender(String gender) {
this.gender =
public String getLocale() {
public void setLocale(String locale) {
this.locale =
public String getTimezone() {
public void setTimezone(String timezone) {
this.timezone =
}有了登陆工具类和用户类,接下来就是再次封装了
&pre name=&code& class=&java&&package com.tibco.integration.login.
import android.app.A
import android.content.C
import android.content.I
import android.view.V
import com.tibco.integeration.login.listener.LogInStateL
import com.tibco.integeration.login.listener.LogOutStateL
import com.tibco.integration.login.facebook.FaceBookLoginU
import com.tibco.integration.login.tibbr.TibbrLoginU
class LoginManager {
private static FaceBookLoginUtil fbUtil=
private static TibbrLoginUtil tbutils=
* 登陆工具类,
public static void initialize(Context context){
fbUtil=FaceBookLoginUtil.getInstance();
tbutils=TibbrLoginUtil.getInstance();
* 1 if you use facebook account login,you must call this method and set params.
* @param activity
* @param loginButton
* @param arrarPermission
* @param savedInstanceState
* @param loginstateListener
static void setFaceBookLoginParams(Activity activity,View loginButton,String arrarPermission,LogInStateListener loginstateListener){
fbUtil.SetFaceBookLoginActivity(activity);
fbUtil.SetFaceBookLoginButton(loginButton);
fbUtil.SetFaceBookReadPermission(arrarPermission);
fbUtil.SetOnFaceBookLoginStateListener(loginstateListener);
fbUtil.open();
* if you use facebook logout,you must call this method and set params
* @param activity
* @param logoutButton
* @param logOutStateListener
public static void setFaceBookLogOutParams(View logoutButton,LogOutStateListener logOutStateListener){
//fbUtil.SetFaceBookLoginActivity(activity);
fbUtil.SetFaceBookLogOutButton(logoutButton);
fbUtil.SetOnFaceBookLogOutListener(logOutStateListener);
fbUtil.open();
public static void onActivityResult(int requestCode, int resultCode, Intent data) {
if(fbUtil!=null){
fbUtil.onActivityResult(requestCode, resultCode, data);
}else if(tbutils!=null){
tbutils.onActivityResult(requestCode, resultCode, data);
public static void OnDestory(){
if(fbUtil!=null){
fbUtil.OnDestory();
}else if(tbutils!=null){
tbutils.onDestroy();
这个是登陆成功的回调函数
&pre name=&code& class=&java&&public interface LogInStateListener {
void OnLoginSuccess(User user,String logType);
void OnLoginError(String error);
这个是退出的回调
&pre name=&code& class=&java&&public interface LogOutStateListener {
public void OnLogOutListener(boolean isSuccess,String logOutType);
完了在你的登陆的页面调用,可以参考下面的MainActivity
&pre name=&code& class=&java&&public class MainActivity extends FragmentActivity implements LogInStateListener{
Button tibbrB
Button tibbrforgotB
Button tibbrregB
FaceBookLoginU
TibbrLoginUtil tibbrU
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
facebookbutton=(Button)findViewById(R.id.facebook_button);
tibbrButton=(Button)findViewById(R.id.tibbr_button);
tibbrforgotButton=(Button)findViewById(R.id.tibbr_forget_button);
tibbrregButton=(Button)findViewById(R.id.tibbr_reg_button);
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
LoginManager.onActivityResult(requestCode, resultCode, data);
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
LoginManager.OnDestory();
public void OnLoginSuccess(User user,String logType) {
Intent intent=new Intent(MainActivity.this,Result.class);
intent.putExtra(&user&,(Serializable)user);
intent.putExtra(&logtype&, logType);
startActivity(intent);
public void OnLoginError(String error) {
System.out.println(error);
private void login(){
LoginManager.initialize(MainActivity.this);
LoginManager.setFaceBookLoginParams(MainActivity.this, facebookbutton, null,this);
然后在登陆成功跳转的页面参考下面
package com.tibco.integration.
import android.app.A
import android.content.I
import android.os.B
import android.widget.B
import android.widget.TextV
import com.tibco.integeration.login.listener.LogOutStateL
import com.tibco.integration.login.model.U
import com.tibco.integration.login.utils.C
import com.tibco.integration.login.utils.LoginM
public class Result extends Activity implements LogOutStateListener{
String logT
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.resutl);
User user=(User) getIntent().getSerializableExtra(&user&);
String logType=getIntent().getStringExtra(&logtype&);
TextView text=(TextView)findViewById(R.id.user);
text.setText(user==null?&&:user.getFirstname()+user.getLastname()+&\n logtype:&+logType);
Button button=(Button)findViewById(R.id.logout_button);
if(!logType.equals(&&) && logType.equals(&facebook&)){
LoginManager.initialize(Result.this);
LoginManager.setFaceBookLogOutParams(button,this);
}else if(!logType.equals(&&) && logType.equals(&tibbr&)){
LoginManager.initialize(Result.this);
LoginManager.setTibbrLogOutParams( button, this);
protected void onSaveInstanceState(Bundle outState) {
// TODO Auto-generated method stub
super.onSaveInstanceState(outState);
public void OnLogOutListener(boolean isSuccess,String logOutType) {
Constant.showErrorDialog(Result.this, logOutType+& log out success!&);
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
LoginManager.onActivityResult(requestCode, resultCode, data);
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
然后上配置文件
&?xml version=&1.0& encoding=&utf-8&?&
&manifest xmlns:android=&/apk/res/android&
package=&com.tibco.integration.login&
android:versionCode=&1&
android:versionName=&1.0& &
android:minSdkVersion=&8&
android:targetSdkVersion=&21& /&
&application
android:allowBackup=&true&
android:icon=&@drawable/ic_launcher&
android:label=&@string/app_name&&
&meta-data android:name=&com.facebook.sdk.ApplicationId& android:value=&@string/facebook_app_id&/&//自己的appid
android:name=&.MainActivity&
android:label=&@string/app_name& &
&intent-filter&
&action android:name=&android.intent.action.MAIN& /&
&category android:name=&android.intent.category.LAUNCHER& /&
&/intent-filter&
&/activity&
&activity android:name=&.Result&&&/activity&
&activity android:name=&com.facebook.FacebookActivity&
android:configChanges=
&keyboard|keyboardHidden|screenLayout|screenSize|orientation&
android:theme=&@android:style/Theme.Translucent.NoTitleBar&
android:label=&@string/app_name& /&
&!-- &provider android:authorities=&com.facebook.app.FacebookContentProvider1234&
android:name=&com.facebook.FacebookContentProvider&
android:exported=&true& /& --&
&/application&
&uses-permission android:name=&android.permission.INTERNET&/&
&uses-permission android:name=&android.permission.ACCESS_NETWORK_STATE&/&
&uses-permission android:name=&android.permission.ACCESS_WIFI_STATE&/&
&/manifest&
看不懂的或者有问题的留言一起讨论,谢谢
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:17359次
排名:千里之外
转载:10篇
(1)(9)(1)(1)(1)(2)(1)(3)(1)怎么分析自己的facebook数据_百度知道深度剖析Anker的Facebook专页受众数据
顾小北的B2C博客
欢迎访问 顾小北的B2C博客 请加入我们的Facebook营销群
各位不要通过QQ和微信来问问题(每天消息太多),如有问题凡请直接在各相关帖子下面留言,我会回答大家的问题的。
如果您觉得这个博客非常有看点,那么赶紧使用Ctrl+D 收藏 顾小北的B2C博客 吧!
Anker亚马逊的行业大佬,听说过他是事迹,无人不佩服,无论到哪里这厮总会在跨境电商的行业被多次提起,hmm,果然人红是非多…..
今天我从其他视角对Anker进行分析,不谈论产品,不研究亚马逊的那套,我们来对Anker的Faceboo专页受众进行剖析,我们或许可以从中窥探出这位行业大佬的一些不为人知的内幕,当然我是从站外这一块来分析。
很多做营销的同学一定非常困扰,为什么我非常的用心编辑贴文,但是用户参与度却一直停滞不前呢,最大的原因可能是因为你不够了解你的用户,这篇文章就教会大家怎么分析你的受众,提高你的专页用户参与度,降低你的广告费,其实如果你利用好Facebook insight这个工具,你就可以得出很多结论!
Facebookinsight(受众分析)不仅可以帮助营销人员精准投放自己的广告,而且可以帮助营销人员了解自己的用户,目标市场的用户习惯甚至是分析竞争对手的用户情况。
下面我们就用Anker的粉丝专页作为实例去做一次深入的剖析。
首先说一下这里为什么会使用Anker作为分析案例,主要是因为Anker的粉丝基本都是真实粉丝,受众粉丝会更客观,真实,好了我们开始吧,进入你的Facebook广告管理后台,工具里面找到受众分析,在位置中把美国移除,然后在兴趣的更多关键词中输入Anker你就可以看到Anker Official的选项,选择Anker Official,这时候Anker粉丝的情况就出现在你的眼前了(这里也可以输入你自己的粉丝专页或者其他的粉丝专页,需要其他竞争对手报告的这里你懂得该怎么做了)。下面会从不同的维度多图分析粉丝的情况,大家做好准备,多图预警。
1, 性别—–92%的Anker粉丝是男性,而且58%集中在25-45之间,但是在Facebook中实际上56%的用户是男性,这里我们可以看出,喜欢Anker的产品大多数还是男性居多,那么对于很多经营3C电子类产品的公司,如果你们要做营销的时候,这个时候25-45岁的男性就将是你们需要攻破的重点。
2, 感情状况—-36%为单身用户,44%为已婚用户,这里经过我判断,应该说生活状态比较稳定的人对消费类电子产品的需求应该会多一些,哇哈哈哈,如果你的产品是一些戒指婚纱,你就要好好看看交往中以及订婚人群这个指标了,另外箭头处标出的16%指的是这个44%比Facebook上面已婚用户的指标高了16%。
3, 教育程度—-其中70%的粉丝是大学生,另外我们看到67%这个指标,Anker粉丝中的研究生比例比Facebook总体的研究生用户比例高了67%,看来研究生应该是数码控会多一些。
4, 行业—-这里我们看到美国退伍老兵,军事迷,IT和技术的用户占到了Anker总粉丝数的44%,比Facebook这三个指标用户的平均数字更是高出了200%, 175%和167%,所以消费类电子产品的大卖家,以后应该怎么做,不用我多说了吧。
5, 主页赞—-这里可以看到跟Anker比较类似的相关主页,咳咳这些东西可能有些同学又要问有什么用了,好吧这里我简单说一个点,我们做广告的时候可以直接把广告投放到这些专页的粉丝中去,其他的用法希望大家可以集思广益….
6, 类别排名—-我们看到跟Anker的很多粉丝也喜欢其他的一些类别的专页,那这里面我们可不可以做一做文章呢?答案是当然可以,这里我也提一点,其他的希望小伙伴们自行脑补,营销这个事情多举一反三,多思考就有了,我们看到有一个演员叫做George Takei,那我们就可以考虑可以去George Takei的影迷聚集的地方去做一做Anker的推广,这样的效果会比随便找地方做推广要精准多了
7, 城市排名—-我们可以很明显的看到Anker在美国市场是绝对好于其他市场的,但是我们看另外一张图,有一个有趣的现象,9%的Facebook用户来自于开罗,但是只有1%的Anker用户来自于开罗,这里我们就知道Anker在非洲市场的推广会弱一些,另外非洲的消费类电子产品市场比起欧美国家还是小了很多,可能生活用品会更畅销一些。
8, 国家排名—-美国,英国,德国,日本,意大利明显就是Anker深耕的5个国家了,消费能力同样很强的澳大利亚,法国,加拿大,其他的消费类电子厂商你们可以考虑一下多去耕耘一下。
9, 语言排名—-Anker的粉丝中使用英式英语跟美式英语作为默认语言的用户占到了84%,如果你的广告预算比较有限,那么就先选择这部分人群去投放就会比较好。
10, 使用Facebook的场景—-83%的用户既会用PC也会用移动设备玩Facebook,这个指标比Facebook总体的用户数字增加了98%,另外使用ipad和iphone玩Facebook的Anker粉丝也比Facebook平台的平均数高了很多。
11, 家庭—-这一项统计仅限制于美国用户,那么我们就把位置选定为美国,在美国范围内看看Anker美国粉丝的数据,总的来说家庭收入在$150K到$350K的Anker 粉丝相比Facebook平均值稍高一些, 总的来说$50K-$75K家庭收入的总用户最多。
12, 购买行为—-Anker的粉丝更多的会购买businesspurchases, home and garden, clothing, sports and outdoors产品,购买householdproducts产品的Anker粉丝则比例偏低一些,这说明家庭主妇对电子产品的需求要稍低,这个算是符合市场规律的。。。
13, 汽车购买情况—-Facebook的数据不得不说真的是很大,Anker的粉丝更喜欢购买混合动力车,购买B级车的人就低于平均值。
14, 其他因素—-选择感情状况,兴趣,关系网络,住所,父母,政治等等细分的因素能让所有的结果变得更加细化,在精准的粉丝中筛选出更加精准的粉丝群体,这其中的奥秘大家真的需要下一番功夫才可以参透的透了。
所以看到这里,我们对的Anker的Facebook粉丝专页数据有了基本的了解,不得感慨这牛逼闪闪的数据,果然是有现实根据的,或许大家从中读懂了多少东西,欢迎大家私下里可以在群里多多相互探讨学习,之后会给大家带来更多的案例剖析。
本文标题:深度剖析Anker的Facebook专页受众数据
转载请保留页面地址:/anker-facebook-page-analysis.html
or分享 (0)

我要回帖

更多关于 facebook获取好友列表 的文章

 

随机推荐