본문 바로가기

안드로이드

kakaotalk custom url

반응형

kakaotalk  custom url 


------------------------------------------------------------------------------------


1. 카카오톡 링크 클릭시 실행될 엑티비티 설정

AndroidManifest.xml


        <meta-data

            android:name="com.kakao.sdk.AppKey"

            android:value="@string/kakao_app_key" />


<activity

    android:name="com.apps.startActivity"

    android:screenOrientation="portrait"

    android:theme="@android:style/Theme.NoTitleBar" >

    <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:scheme="@string/kakao_scheme" android:host="@string/kakaolink_host" />

         

    </intent-filter>

</activity>


2. 카카오톡 키설정 ( https://developers.kakao.com 에서 키를 발급 받는다, https://developers.kakao.com/docs/android 참고 )


strings.xml


<string name="kakao_app_key">your_key</string>  //개발자 센터에서 네이티브 앱 키를 넣어 줍니다.

<string name="kakao_scheme">kakao+your_key</string>

<string name="kakaolink_host">kakaolink</string>



3. 카카오톡 링크 보내기

//첨부한 sdk 프로젝트를 import 해와서 라이브러리로 불러온다.

sdk.zip



private KakaoLink kakaoLink;

private KakaoTalkLinkMessageBuilder kakaoTalkLinkMessageBuilder;


String stringText = "";


private void kakaoLinkStart(String type) throws KakaoParameterException {


String referrer = "";


referrer = "data=your_data";  //카카오톡에서 보낼 값

stringText = "message";


try {

kakaoLink = KakaoLink.getKakaoLink(mContext);

} catch (KakaoParameterException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

kakaoTalkLinkMessageBuilder = kakaoLink

.createKakaoTalkLinkMessageBuilder();

try {

kakaoTalkLinkMessageBuilder.addText(stringText).addAppButton(

"[App Name]",

new AppActionBuilder()

.addActionInfo(

AppActionInfoBuilder

.createAndroidActionInfoBuilder()

.setExecuteParam(referrer)

.setMarketParam(

"referrer=kakaotalklink")

.build())

.addActionInfo(

AppActionInfoBuilder

.createiOSActionInfoBuilder()

.setExecuteParam(

"execparamkey1=1111")

.build()).build());


kakaoLink

.sendMessage(kakaoTalkLinkMessageBuilder.build(), mContext);

} catch (KakaoParameterException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}


}


4. 엑티비티에서 값 받기

 startActivity.java

if (Intent.ACTION_VIEW.equals(gt.getAction())) {// 커스텀 url일때

Uri uri = gt.getData();

String scheme_data = uri.getQuery();  //data=your_data 값이 나오게 된다


------------------------------------------------------------------------------------



반응형

'안드로이드' 카테고리의 다른 글

String 에 URL이 포함되었는지 체크  (0) 2015.03.11
이미지 로드 라이브러리 Glide  (0) 2015.03.06
android nfc read-only write  (0) 2015.01.27
android sms 여러명에게 보내기  (0) 2015.01.27
java 공휴일 체크  (0) 2015.01.15