블로그 이미지
App 개발에 대한 내용을 다룰 예정입니다. AppleSherbet

카테고리

분류 전체보기 (39)
한국프로야구 어플 (18)
세미나 (2)
Java Development (13)
Android App소개 (3)
기타 (2)
당근마켓 (1)
Total297,962
Today12
Yesterday16

안녕하세요 개발자입니다.


이벤트를 생각보다 너무 많은 분들이 참여해 주셔서 데이터를 검토하는데 많은 시간이 소요되고 있어


삼일 후 화요일날 이벤트 결과를 공지해드리겠습니다. 


결과 발표 지연에 대해 양해말씀드리며~


앞으로도 자주 이벤트를 진행하여 더 많은 분들이 야구 티켓을 받으실 수 있는 기회를 드리겠습니다. 


많은 참여 감사합니다.


클라우드 컴퓨팅 이벤트 결과 공지 일정: 5월 15일 화요일 정오 (12시)



저작자 표시
신고
Posted by AppleSherbet

최근 폭풍같이 바빠져서 블로깅이 너무 뜸해진 것 같아서 프로야구 어플에 카카오 링크를 적용한 방법을 짧게 공유할까 한다.


카카오 링크를 사용하는 어플이 점점 많아 지고 있는것같고 유용한 기능이기에 (예: 우리은행 계좌 이체후 이체 소식 전달 등) 


프로야구 어플에 어떻게 넣어볼까~ 고민도중 어플을 카톡으로 추천하기 기능을 카카오 링크로 만들기로 했다.


원래 애초에 원하던 기능은 내 어플의 중계방에서 카카오톡 아이디를 쉽게 공유할 수 있게 하는 것이었는데, 해당 API 를 요청해 보았으나 니즈가 없나보다 ㅠㅠ


아무튼 카카오 링크를 적용하는 방법은 간단하다~ ^^ (간단하지 않은게 있으랴)


현재 프로야구의 경우 Utility 메소드를 따로 모아 유틸 클래스를 만들어 놓았다. 우선 그곳에 카카오 링크를 위한 getKakaoLink() 란 메소드를 만들었다.


	private final static String strMessage = "대한민국 베스트 프로야구 어플리케이션 -한국 프로야구-"; 
	private final static String strURL = "http://iam1492.tistory.com";
	private final static String strAppId = "com.pantech.kbov2";
	private final static String strAppName = "프로야구";
	private final static String strInstallUrl = "market://details?id=com.pantech.kbov2"; 
        ...
	public static KakaoLink getKakaoLink(Context context,String version){
		KakaoLink link = null;
		try { 
			ArrayList< Map < String, String > > arrMetaInfo = new ArrayList< Map< String, String > >();

			Map < String, String > metaInfoAndroid = new Hashtable < String, String >(1);
			metaInfoAndroid.put("os", "android");
			metaInfoAndroid.put("devicetype", "phone");
			metaInfoAndroid.put("installurl", strInstallUrl);
			metaInfoAndroid.put("executeurl", "kbo://wooram.com");
			arrMetaInfo.add(metaInfoAndroid);
			link = new KakaoLink(context, strURL, strAppId, version, 
					strMessage, strAppName, arrMetaInfo, "UTF-8");
		}catch (Exception e){
			e.printStackTrace();
		}
		return link;
	}


위와 같이 필요한 정보를 입력하고 카카오에서 제공하는 라이브러리를 사용하여 KakaoLink 객체를 만들어 리턴하는 간단한 메소드를 만들었다. 


OS, devicetype, 마켓주소 등을 사용하는 어플에 맞게 정해준다. 


여기서 중요한 항목중 하나가 metaInfoAndroid.put("executeurl", "kbo://wooram.com"); 이부분이다. 


나중에 intent filter에서 해당 데이터를 받게 될 것이므로 format에 잘 맞춰줘야 한다.


카카오 링크를 이용해 링크를 보냈는데 만약 링크를 받은사람이 프로야구를 가지고 있지 않다면 마켓으로 연결이 된다. 하지만 프로야구가 이미 있다면?? 그때 사용되는 항목이 executeurl 이다

각자 어플에서 구현하기 나름이지만 나같은 경우 그냥 Main activity를 띄워주기로 했다. 즉, 이미 깔려있으면 그냥 어플을 정상적으로 실행 시켜주게된다. 그부분은 곧! 설명하겠다.


그 전에 위에 만들어 놓은 getKakaoLink 메소드를 이용하는 부분부터 보자.




              Button btn_katok = (Button)findViewById(R.id.btn_katok);
		btn_katok.setOnClickListener(new View.OnClickListener() {			
			@Override
			public void onClick(View arg0) {
				KakaoLink link = GeneratorUtil.getKakaoLink(AboutAct.this, versionName);
				if (link.isAvailable()){
					startActivity(link.getIntent());
				}
			}
		});

프로야구 어플의 경우 About 페이지에 카톡으로 어플 추천하기 라는 버튼을 만들었다. 누르면 단순히 getKakaoLink()메소드를 이용하여 전달받은 KakaoLink 객체에서 getIntent()를 호출하여 startActivity()에 넘겨주면 된다. 


여기까지 해주면 누르는 동시에 카카오톡의 친구 선택 화면으로 넘어간다. 친구를 선택하면 다음과 같은 동작을 하게 된다.


만약 ( 내 친구가 프로야구를 가지고 있지 않다면 ) { 

    안드로이드 마켓의 프로야구 어플 다운로드 페이지로 연결;

} 그게 아니고 만약 (프로야구를 가지고 있다면) {

     그냥 프로야구 실행 (아직 덜 구현됨.....아래에서 구현해보자);

}


자, 마지막으로 프로야구가 이미 깔려있을때 보내는 Intent 의 action을 받기 위해 Menifest 파일에 아래처럼 intent filter를 추가하자.


        
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />

                <data
                    android:host="wooram.com"
                    android:scheme="kbo" />
            </intent-filter>

원하는 액티비티에 필터를 위처럼 추가를 해주면 metaInfoAndroid.put("executeurl", "kbo://wooram.com"); 에서 명시해 줬던 executeurl 값때문에 프로야구 어플이 깔려있는 경우 알아서 어플을 실행해준다. 나의 경우 당연히 MenuAct 가 가장 처음 실행되는 클래스이므로 로고 화면이 나오며 프로야구가 실행된다. (구현하기 나름)

여기 까지 해주면 이제 "카톡으로 어플 추천하기" 버튼을 누르면 내 어플을 내 카톡 친구에게 추천할 수 있게 된다. ^^ 카카오링크~ 어렵지 않아요~~





저작자 표시
신고
Posted by AppleSherbet

안녕하세요 프로야구 개발자 입니다.


안드로이드 한국프로야구 100만 다운로드 달성을 기념하여 이벤트를 진행합니다 ^^


간단한 설문조사를 수행 후 10분을 추첨하여 야구 티켓 총 20매(1명당 2매)를 선물로 드립니다. 

설문조사는 클라우드 서비스 사용에 관한 조사로 성실히 써주실수록 당첨 확률이 올라갑니다. ^^

설문 참여는 프로야구 어플을 사용하시며 닉네임을 생성하신 분들만 가능하니 참고 바랍니다.


설문 내용: 클라우드 서비스 사용 

마감 날짜: 5월 6일 (일)

당첨 공지: 5월 13일 (토) - 개별 email 과 개발자 홈페이지 공지


** 야구 티켓은 지정석 5분 자유석 5분 이렇게 제공 됩니다. 원하는 시간에 원하는 장소에서 보실수 있도록 해드리겠습니다. ^^ 많은 사랑 감사드립니다.



이벤트가 종료됐습니다. 많은 참여 감사드립니다.^^

저작자 표시
신고
Posted by AppleSherbet

최근에 달린 댓글

최근에 받은 트랙백

글 보관함

티스토리 툴바