카카오 개발자 페이지 에서 개발자 및 어플리케이션을 등록한다.
firebase_dynamic_links 로 생성한 링크를 등록한다.
3-1. Podfile 수정
platform :ios, '11.0'
...
3-2. AndroidManifest.xml 수정
defaultConfig {
...
minSdkVersion 19
...
Uri uri = await LinkClient.instance.customWithTalk(templateId);
await LinkClient.instance.launchKakaoTalk(uri);
var dynamicLink = await getDynamicLink();
var template = getTemplate(dynamicLink);
var uri = await LinkClient.instance.defaultWithTalk(template);
await LinkClient.instance.launchKakaoTalk(uri);
Future<Uri> getDynamicLink() async {
final DynamicLinkParameters parameters = DynamicLinkParameters(
uriPrefix: dynamiclinkPrefix,
link: Uri.parse(dynamiclink),
androidParameters: AndroidParameters(
packageName: androidPackageName,
minimumVersion: 1,
),
iosParameters: IosParameters(
bundleId: iOSPackageName,
minimumVersion: '1.0',
appStoreId: appStroeId,
));
return await parameters.buildUrl();
}
DefaultTemplate getTemplate(Uri dynamicLink, String code) {
String titleText = title;
Uri imageLink = Uri.parse(imageUrl);
Link link = Link(mobileWebUrl: dynamicLink);
Content content = Content(titleText, imageLink, link, imageHeight: 300);
FeedTemplate template = FeedTemplate(
content,
buttons: [Button(buttonTitle, link)],
);
조금 어리석은 고민일 수도 있으나..
누구나 카카오 링크 기능을 통해서 원하는 링크를 공유할 수 있다면 여러 사기, 피싱사이트에 악용될 수 있지 않을까 하는 걱정이 생긴다.
카카오 링크의 하단에 표시되는 출처는 카카오 개발자 페이지에서 아이콘과 이름이 수정 가능하며,
validation은 [kakao, 카카오] 두가지 경우만 막아둔 것 같다.
아래의 이미지는 임의로 만들어본 카카오 링크이다.
쿠팡의 앱 아이콘과 쿠팡이라는 이름을 사용했으나, 공유하기까지 문제가 없었다.
물론 카카오라는 이름 자체는 사용할 수 없었기 때문에 카카오 페이나 카카오 뱅크에 대한 악용을 할 수 없을 것 같지만,
이름을 살짝 변형하여 한다면 금액에 눈 먼 사람들이 출처 확인보다 링크를 먼저 누르지 않을까하는 걱정이다.
- 실제로 쿠팡 사칭의 경우, 지인 전부가 속았고
구매하기
링크를 눌러보기도 했다.- 카카오페이 사칭의 경우는 출처 때문에 속지 않은 사람도 존재했지만, 그럼에도
받기
는 눌러본 것으로 확인됐다.