in Android

Android – Kakaolink 활용하기

kakaolink를 활용하여 특정 문자열 서드파트 어플리케이션에 전달하고자 한다.

상황 예)
전송자 : 카톡을 활용하여 친구에게 메시지를 보낸다. “사전에서 ‘apple’이라는 걸 검색해봐~”
수신자 : 카톡에서 받은 메시지와 함께 사전 검색 버튼이 생성된다. 버튼을 누르게 되면 사전앱이 실행되고 자동으로 검색되게 된다.

kakalink

위와 같은 상황에서 kakaolink를 적극적으로 활용할 수 있다.

  • 어플리케이션 호출 및 문자열 데이터를 받기 위한 권한 부여

    strings.xml 파일

    // key 선언
    <string name="kakao_app_key">000000000000000000</string>
    <string name="kakao_scheme">kakao000000000000000000</string>
    <string name="kakaolink_host">kakaolink</string>

AndroidManifest.xml

         <activity
            android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
                <category android:name="android.intent.category.BROWSABLE" />
            </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:scheme="@string/kakao_scheme" android:host="@string/kakaolink_host" />
                <data android:scheme="kakao000000000000000000" />
            </intent-filter>
        </activity>
  • Share Mehtod 작성
        try {
            final KakaoLink kakaoLink = KakaoLink.getKakaoLink(a);
            final KakaoTalkLinkMessageBuilder kakaoTalkLinkMessageBuilder = kakaoLink.createKakaoTalkLinkMessageBuilder();
            AppActionInfo aai = new AppActionInfo(AppActionInfo.ACTION_INFO_OS.ANDROID, AppActionBuilder.DEVICE_TYPE.PHONE, "params=test", "referrer=kakaotalklink");
            AppActionBuilder aab = new AppActionBuilder().addActionInfo(aai);
            kakaoTalkLinkMessageBuilder.addAppButton("Open the app", aab.build());
            final String linkContents = kakaoTalkLinkMessageBuilder.build();
            kakaoLink.sendMessage(linkContents, a);
        } catch (KakaoParameterException e) {
            e.printStackTrace();
        }
  • 문자열 데이터를 받는 Activity
         Uri uri = getIntent().getData();
         if (uri != null){
              String param = uri.getQueryParameter("params");
              // do something              
         }

Android Kakaolink Ref
Android kakaolink guide

Write a Comment

Comment