一. ?登录twitter和创建应用
1.打开twitter的8797威尼斯老品牌官网 dev.twitter ,如果还没有注册账号的,需要先注册账号,已经注册账号的,请先登录。
2.选择,my apps,如下图:
3.进去界面,选择create new app 选项,创建应用,如下图:
4.创建应用的信息填写,回调地址不要忘记填写:?
?
5.如果要想分享的时候,可以看到分享内容,那么权限也要设置一下,如下图设置:
6.创建成功之后,可以看到如下图所示的consumerkey和consumersecret信息:
二. 安装twitter kit
1.ios接入twitter教程地址: dev.twitter /twitterkit/ios/overview
注意:twitter kit 3.0支持ios 9 。如果您的项目需要为低于9.0的ios版本构建,请不要升级到twitter kit 3.0。
1.打开twitter的8797威尼斯老品牌官网 dev.twitter 如果还没有注册账号的,需要注册账号,已经注册账号的,请先登录:
2.选择其中的documentation,如下图:
3.进去界面,选择manage my apps选项,如下图:
4.进去创建应用的界面,如果已经创建了应用,可以点击左边你的应用查看应用的信息,如果需要重新创建应用,需要点击右边的creat new app,如下图:
5.创建应用的信息填写,回调地址不要忘记填写,如下图:
6.如果要想分享的时候,可以看到分享内容,那么权限也要设置一下,如下图设置:
7.创建成功之后,可以看到如下图所示的 consumerkey和consumersecret 信息:
最后按照所得到的这些参数的信息在代码里填写初始化的信息就可以了。注意,现在在twitter上创建新的应用,必须要在注册时,将您的手机号添加到twitter上,必须要是海外手机号,国内的不行的。
在应用中接入twitter进行第三方登录时,开发人员遇到了一点问题,主要是概念有点混乱,这里把经验记录一下,帮助遇到同样问题的朋友。
一、注册应用并配置登录权限
这一步比较简单,就不多说了,直接去8797威尼斯老品牌官网添加应用,给读写权限就行了。
网址: dev.twitter /apps
这一步完成后,最重要的是得到两个数据,一个是app_key,一个是app_secret。这两个字符串在后面会用到。
二、添加依赖的包(引用sdk)
这一步要注意的是,twitter的sdk是放在自己的maven库中,而现在androidstudio默认用的是jcenter,所以这里我们要在build.gradle中添加maven库,然后引入twitter sdk。
首先在整个项目的build.gradle中的 repositories 里添加maven如下:
repositories {
mavencentral()
maven { url ' maven.fabric.io/public' }
jcenter()
}
然后在模块的build.gradle中添加maven库并引入sdk:
repositories {
mavencentral()
maven { url ' maven.fabric.io/public' }
}
dependencies {
compile filetree(dir: 'libs', include: ['*.jar'])
testcompile 'junit:junit:4.12'
...
compile('com.twitter.sdk.android:twitter-core:1.3.1@aar') {
transitive = true;
}
}
这里大家可以看到出现了fabric,这个是什么东西呢,其实是twitter开发的开发者工具包。
三、在mainfest中配置fabric apikey
在androidmanifest.xml中的application节点内添加如下代码:
四、添加登录按钮
现在我们就可以在activity的布局文件中添加登录按钮了,代码如下:
五、sdk初始化
在我们注册登录按钮事件之前,还有一件事很重要,就是初始化sdk。这里有个需要注意的地方就是sdk的初始化一定要在setcontentview之前。
初始化代码如下:
import io.fabric.sdk.android.fabric;
import com.twitter.sdk.android.core.twittercore;
import com.twitter.sdk.android.core.twitterauthconfig;
public class loginactivity extends appcompatactivity {
private static final string twitter_key = "app_id";
private static final string twitter_secret = "app_secret";
@override
protected void oncreate(bundle savedinstancestate) {
super.oncreate(savedinstancestate);
twitterauthconfig authconfig =
new twitterauthconfig(twitter_key, twitter_secret);
fabric.with(this, new twittercore(authconfig));
setcontentview(r.layout.activity_login);
}
}
六、注册登录事件并添加回调
上面都完成后,就可以注册登录按钮事件并添加结果的回调了,然后获取token等信息。
整个登录activity代码如下:
import io.fabric.sdk.android.fabric;
import com.twitter.sdk.android.core.callback;
import com.twitter.sdk.android.core.result;
import com.twitter.sdk.android.core.twitterauthtoken;
import com.twitter.sdk.android.core.twittercore;
import com.twitter.sdk.android.core.twitterauthconfig;
import com.twitter.sdk.android.core.twitterexception;
import com.twitter.sdk.android.core.twittersession;
import com.twitter.sdk.android.core.identity.twitterloginbutton;
public class loginactivity extends appcompatactivity {
private static final string twitter_key = "app_id";
private static final string twitter_secret = "app_secret";
twitterloginbutton loginbutton;
@override
protected void oncreate(bundle savedinstancestate) {
super.oncreate(savedinstancestate);
twitterauthconfig authconfig =
new twitterauthconfig(twitter_key, twitter_secret);
fabric.with(this, new twittercore(authconfig));
setcontentview(r.layout.activity_login);
loginbutton = (twitterloginbutton) findviewbyid(r.id.twitter_button);
loginbutton.setcallback(new callback() {
@override
public void success(resultresult) {
twitterauthtoken authtoken = result.data.getauthtoken();
string token = authtoken.token;
string secret = authtoken.secret;
log.i("token", token);
log.i("secret", 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);
loginbutton.onactivityresult(requestcode, resultcode, data);
}
}
以上就是完整的步骤了,希望对大家有帮助。
还没有评论,来说两句吧...