、面向Facebook广告互连网的

 

Facebook曾经举办了和煦八年来讲的首先场开垦者大会。而这一场名字为“Flight”的大会,也是后来它的年份惯例。

本次大会的核心也全然围绕开垦者进行。大会的节骨眼是二个名称叫法布里c的新SDK,里面富含多少个开辟者工具包:面向推特自个儿的
Twitter Kit、面向Facebook广告网络的MoPub,以及依照Twitter二〇一一年收购的运动应用崩溃剖判工具Crashlytics的Crashlytics Kit

自家要么先贴上twitter登入的官网:https://dev.twitter.com/twitterkit/android/log-in-with-twitter,可是都以德文,当然,大家还须求爬过一堵墙才具够上网。

率先我们要先去登记twitter开拓者账号,图片 1还要创造应用,https://apps.twitter.com.

点击右上角创设应用:

图片 2

下一场会跻身下图:

图片 3

我们要求填写应用的名目,还恐怕有使用的描述,至于website,下边解释的野趣大致是:
您的应用程序的可领会访谈的主页,用户能够下载,使用或索求有关您的应用程序的愈来愈多消息。该完全限定的UTiggoL用于源应用程序创制的tweets,并将浮今后面向用户的授权荧屏中。
(如若你还不曾UWranglerL,只需在此间放置三个占位符,但切记稍后再变动它。)

 

 

使用创设完毕之后,大家得以进来应用查占卜关的设置,点击Keys
and Access Tokens,能够看到Consumer Key (API Key)和Consumer Secret (API
Secret),那八个供给动用

图片 4

 

好了,成立应用就到这里,接下去讲讲什么集成到大家的系列:

(一)首先大家要集成twitter相关的sdk,官网络写得相当多,假使单单须求报到功效,那么就只必要

在build.gradle(app)里面写上

dependencies {
  compile 'com.twitter.sdk.android:twitter-core:3.1.1'
}

在build.gradle(project)的 repositories里写上

repositories {
  jcenter()
}

(二)在我们的财富文件之中增添API KEY,那几个API
KEY在twitter的运用管理能够看出,便是大家地点说的那五个

<resources>
  <string android:name="com.twitter.sdk.android.CONSUMER_KEY">XXXXXXXXXXX</string>
  <string android:name="com.twitter.sdk.android.CONSUMER_SECRET">XXXXXXXXXXX</string>
</resources>

 

(三)创建一个自定义的Application,在onCreate()方法里面起先化

 Twitter.initialize(this);
        TwitterConfig config = new TwitterConfig.Builder(this)
                .logger(new DefaultLogger(Log.DEBUG))
                .twitterAuthConfig(new TwitterAuthConfig("CONSUMER_KEY", "CONSUMER_SECRET"))
                .debug(true)
                .build();
        Twitter.initialize(config);

 

(四)大家得以用twitter提供好的报到开关,当然也能够自定义,接下去会讲。

<com.twitter.sdk.android.core.identity.TwitterLoginButton
     android:id="@+id/login_button"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content" />

 

(五)在代码中:

loginButton = (TwitterLoginButton) findViewById(R.id.login_button);
loginButton.setCallback(new Callback<TwitterSession>() {
   @Override
   public void success(Result<TwitterSession> result) {
       // Do something with result, which provides a TwitterSession for making API calls

     result里面包含了用户的信息,我们可以从中取出token,tokenSecret
    (如果我们有自己的后台服务器,发送这两个到我们自己的后台,后台再去验证)

     TwitterAuthToken authToken = result.data.getAuthToken();

     String token = authToken.token;

     String appId = getResources().getString(R.string.twitter_app_id);
     String tokenSecret = authToken.secret;

  }

 @Override public void failure(TwitterException exception) { // Do something on failure  } });

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    // Pass the activity result to the login button.
    loginButton.onActivityResult(requestCode, resultCode, data);
}

 

 假若登入开关是在fragment中的话,那么onActivityResult应该用如下代码:

应该

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    // Pass the activity result to the fragment, which will then pass the result to the login
    // button.
    Fragment fragment = getFragmentManager().findFragmentById(R.id.your_fragment_id);
    if (fragment != null) {
        fragment.onActivityResult(requestCode, resultCode, data);
    }
}

别的的能够参见官方网址

 

接下去讲的叁个是自定义登入开关,其实有一个良策,请看下边界面代码:

<FrameLayout
        android:id="@+id/frameLayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/facebook"
        android:layout_marginTop="@dimen/login_button_margin_bottom"
        android:layout_centerHorizontal="true">

        <com.twitter.sdk.android.core.identity.TwitterLoginButton
            android:id="@+id/login_button"
            android:layout_width="@dimen/button_width"
            android:layout_height="@dimen/button_height"
            android:layout_marginTop="@dimen/button_margin_bottom"
            android:visibility="gone"/>

        <ImageView
            android:id="@+id/login_image"
            android:layout_width="@dimen/button_width"
            android:layout_height="@dimen/button_height"
            android:src="@drawable/twitter" />
    </FrameLayout>

下一场代码中:

@Override
    public void onClick(View view) {
        switch (view.getId()){case R.id.login_image:
                LoginButton.performClick();
                break;
            default:
                break;
        }
    }

即,点击大家自定义的按键的时候,让twitter登入按键实践点击操作。

先到此处,以往慢慢补充。

 转载请标注出处:http://www.cnblogs.com/tangZH/p/8206569.html