socialauth-android를 이용하 Facebook/Twitter연동하기

2013. 4. 13. 17:37프로그래밍/Android

728x90
반응형

최근들어 게임이든 툴이든 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



728x90
반응형