카카오링크로 메세지를 보내, ‘앱으로 보기’ 버튼을 클릭하면 앱이 설치되어있다면 앱을 실행하고
설치가 되어있지 않다면 스토어 화면으로 이동하게 하려고 합니다.
링크 사용 순서가 androidExecParams > 카카오개발자 사이트의 마켓주소 > web/mobileweb URL 로 나타납니다.
androidExecParams에는 파라미터를 "key=value"형식으로 주라고 되어있는데 뭘 줘야할 지 모르겠구요.
지금 샘플 앱에서 테스트 중인데, 링크 공유는 잘 되고 앱으로 보기 버튼을 누르면 androidExecParams가 맞지 않아
그런 건지 몰라도 무조건 스토어 화면만 나옵니다. 해당앱이 설치되어있는데도 스토어 화면으로만 이동됩니다.
지금 보니 조금 애매한 부분이 있어요.
일단 이 샘플 앱은 스토어에 등록되지 않았기때문에 스토어에 등록된 다른 앱을 이용했습니다.
그래서 카카오개발자 사이트에서 앱을 생성한 후, 그 네이티브 키를 가져다
샘플 앱(공유하기위한 앱)의 AndroidManifest.xml 파일에 카카오 앱키와 카카오 스킴으로 추가했습니다.
생성한 앱은 link_test 이고, 카톡 공유용 샘플 앱에서 디버그,릴리즈 키해시를 구해 link_test에 추가했습니다.
공유 부분에서 androidExecParams는 일단 'id=com.flutter.gender.separation’으로, 마켓 주소도 그 패키지명으로 줬습니다.
이 패키지명 com.flutter.gender.separation은 스토어에 올라가있는 다른 테스트용 어플입니다.
혹시 스토어 화면만 나오고 앱 실행은 안되는 상황이 link_test의 앱키를 실행시킬 앱 말고 샘플앱에 추가해서 발생한건가요??
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
이해하기 어려우실 것 같아 정리해봅니다…
-
카카오 개발자 사이트에서 만든 앱 : link_test
패키지 설정-> Android
패키지명 : com.flutter.gender.separation
마켓URL : market://details?id=com.flutter.gender.separation (구글 플레이스토어, 스토어와 앱 실행용)
패키지 설정-> 웹
사이트 도메인 : https://developers.kakao.com , https://play.google.com , http://trees2001.pythonanywhere.com -
앱을 열기 위한 카카오톡 메시지를 공유하는 샘플 앱 : 샘플
AndroidManifest.xml 파일 ->
com.kakao.sdk.AppKey 앱 키 : link_test 앱키
data android:scheme 스킴 : kakao + link_test앱키 (커스텀 카카오 스킴)
앱 공유부분 코드 :
void onTapDefault() async {
try {
var template = FeedTemplate(
Content(
“딸기 치즈 케익”,
Uri.parse(
“http://mud-kage.kakao.co.kr/dn/Q2iNx/btqgeRgV54P/VLdBs9cvyn8BJXB3o7N8UK/kakaolink40_original.png”),
Link(
webUrl: Uri.parse(“https://play.google.com”),
mobileWebUrl: Uri.parse(“https://play.google.com/store/apps/details?id=com.flutter.photocloud”),
androidExecParams: ‘’)),
social: Social(likeCount: 286, commentCount: 45, sharedCount: 845),
buttons: [
// Button(“웹으로 보기”,
// Link(webUrl: Uri.parse(“https://www.developers.kakao.com”),
// mobileWebUrl: Uri.parse(‘https://www.developers.kakao.com’),
// androidExecParams: ‘id=com.flutter.gender.separation’)),
Button(“앱으로 보기”,
Link(webUrl: Uri.parse(“https://play.google.com/store/apps/details?id=com.flutter.photocloud”),
mobileWebUrl: Uri.parse(“https://play.google.com/store/apps/details?id=com.flutter.gender.separation”),
// kakao6f11865c860a6a96798411abe7139d96://kakaolink?https://developers.kakao.com
// androidExecParams: ‘id:com.flutter.gender.separation’
// 링크이동순서는 앱 -> ~ExecParams -> web/mobileWeb Url
// 도메인에 https://play.google.com/을 등록했으면 play.google.com/id=123 이런것도 모두 가능하다.
androidExecParams: ‘id=com.flutter.gender.separation’
)),
]);
var uri = await LinkClient.instance.defaultWithWeb(template);
await launchBrowserTab(uri);} catch (e) { print(e.toString()); } }
-
스토어 테스트용 앱 : 남녀 성별 구분하기
패키지명 : com.flutter.gender.separation
현재 코드는 찾을 수 없어 link_test의 앱 키를 넣어볼 수 없었습니다.
=======================================================================================
이와 같은 상황입니다. 사진으로도 첨부했습니다. 코드 사진은 샘플 앱이고 스토어는 실행용 앱입니다.
이 공유 링크에 연결된 앱이 이미 설치되어있으면 그 앱을 실행시켜줘야하는데, 스토어 화면으로만 갑니다.
이 스토어 화면은 카카오개발자 사이트의 link_test앱의 Android 플랫폼 마켓 주소로 이동하기 때문에 나옵니다.
이 상황은 개발자사이트의 도메인과 샘플앱의 androidExecParams와 관련이 있을까요? androidExecParams에 무슨값을 넣어야 할지 모르겠네요