2013. 4. 13. 17:37ㆍ프로그래밍/Android
최근들어 게임이든 툴이든 Facebook또는 Twitter등의 소셜서비스와 연동을 기본으로 지원하고 있습니다.
회원가입도 가장 간단하게 가장 영향력있는 소셜서비스중하나인 Facebook또는 트위터를 선택하게 됩니다.
socialauth-android를 이용할 경우 현재 유행하는 소셜서비스의 대부분을 손쉽게 연동할 수 있습니다.
link : https://code.google.com/p/socialauth-android/
아래 그림과 같이 오른쪽 상단에 소셜 단추를 추가해서 사용자들 간의 공유를 유도하고 입소문 마케팅에 활용하고 있습니다. 아직까지는 사용자들의 활용도 및 게임의 전파에 미치는 영향은 분석중입니다. 하지만 나름 긍정적인면이 많다고 생각이 됩니다.
한번 소셜서비스와 연동을 해두면 위 그림과 같이 선택만으로도 자동으로 posting이 가능합니다. 생각보다 참 쉽습니다.
일단 위 링크에서 관련된 lib를 다운받아 eclipse의 프로젝트에 추가하고 import하면 준비완료입니다. 그리고 본 lib에서 사용되는 단추 icon들도 같이 적절한 위치에 복사를 해주시면 됩니다.
SocialAuthAdapter adapter;
위와 같이 변수를 선언하고 다음 부분을 protected void onCreate(Bundle savedInstanceState)에서 구현해줍니다.
adapter = new SocialAuthAdapter(new ResponseListener());
adapter.addProvider(Provider.FACEBOOK, R.drawable.facebookicon);
adapter.addProvider(Provider.TWITTER, R.drawable.twitterbutton);
//------------------------------------------------------------------------------------------
//Twitter단추를 활성화 시켜준다.
Button tweet = (Button) findViewById(R.id.Twitter_Button);
tweet.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
adapter.authorize(this, Provider.TWITTER);
}
});
//-------------------------------------------------------------
// Facebook단추를 활성화 시켜준다.
faceBookButton = (ImageView)findViewById(R.id.Facebook_Button);
faceBookButton.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
adapter.authorize(this, Provider.FACEBOOK);
}
});
소셜서비스의 로그인 즉 연동의 결과에 따라서 다음 함수에서 처리해주면됩니다. 자동 로그인 부분도 간당히 처리가능합니다.
/**
* Listens Response from Library
*
*/
private final class ResponseListener implements DialogListener
{
@Override
public void onComplete(Bundle values)
{
Log.d("ShareButton", "Authentication Successful");
// Get name of provider after authentication
final String providerName = values.getString(SocialAuthAdapter.PROVIDER);
m_CurrentProviderName = providerName;
Log.d("ShareButton", "Provider Name = " + providerName);
//---------------------------------------------------------------------------------------
// 어떤 SNS를 통해서 로그인이 되었는지 확인하고 저장합니다.
//그리고 간단한 문자를 입력학고 posting할수 있도록 창을 뛰어줍니다.
MAIN_TWITTERWINDOW_THREAD mtt = new MAIN_TWITTERWINDOW_THREAD();
mtt.m_Provider = providerName;
mtt.start();
}
@Override
public void onError(SocialAuthError error) {
Log.d("ShareButton", "Authentication Error: " + error.getMessage());
}
@Override
public void onCancel() {
Log.d("ShareButton", "Authentication Cancelled");
}
@Override
public void onBack() {
Log.d("Share-Button", "Dialog Closed by pressing Back Key");
}
}
얼마전 까지만해도 이런기능들을 구현하기 위해서는 정말 많은 부분을 고민하고 처리해주어야 했던것 같은데..이제는 이런 모듈들이 공유되면서 잘만 활용한다면 개발기간을 조금이나마 단출시킬수 있어서 좋은것 같습니다.
오늘도 밤을 세가면서 고생하시는 수많은 개발자분들 힘내세요...
50,60이되어도 소설쓰듯이 재미있게 취미로 개발을 할수 있는 그런 분위기가 조성되었으면 합니다.
좋은 하루되세요.
감사합니다.
참고 : oauth_consumer.properties 파일의 내용도 확인해주셔야 합니다.
#facebook : My App
graph.facebook.com.consumer_key = 1*****2****2924
graph.facebook.com.consumer_secret = d***619***e6b8a10*******4f36
graph.facebook.com.custom_permission = publish_stream,email,user_birthday,user_location,offline_access
닌자와좀비들(Ninja and Zombies) download: goo.gl/9UVWM
'프로그래밍 > Android' 카테고리의 다른 글
socialauth-android 2.5버전의 Twitter Posting시 문제 발견되었습니다. (0) | 2013.06.14 |
---|---|
socialauth-android(Facebook login not working!)를 이용해서 SNS서비스와 연동하기. (0) | 2013.04.24 |
게임중 보여준 웹브라우져에서 Keyboard가 보이지 않을 경우가 있습니다. (0) | 2013.03.25 |
JSON을 이용해서 Android앱에서 JSP로 한글 UTF-8 전송하기 (4) | 2013.01.16 |
단말기 환경설정에 따라서 음소거 처리방법. (0) | 2012.10.30 |