본문 바로가기

IT/Tizen

[Tizen] 타이젠 개발, 앱에서 타이젠 스토어에 링크걸기


안녕하세요, 타이젠 개발자 윤진입니다.


3~4달쯤 전에 타이젠 스토어에 앱을 올렸습니다.

타이젠 스토어는 앱을 엄격하게 심사하는 것으로도 유명한데요,

(참고 : [Tizen Store] 타이젠 스토어에 앱올리기 전에 셀프체크하기)

셀프체크를 하고 앱을 업로드 하니 다행스럽게도 한 번에 통과할 수 있었습니다.


이번 포스팅에서는 타이젠 스토어에 등록된 앱에서,

타이젠 스토어 자체를 런치하는 방법을 공유하고자 합니다.

- 타이젠 스토어 메인 페이지

- 타이젠 스토어 앱 상세정보 페이지

- 타이젠 스토어 판매자 페이지

위의 세 가지 페이지로 진입할 수 있는 방법이 있습니다.


타이젠 스토어를 런치하기 위해서는 기본적으로 app_control API를 사용합니다.

app_control API는 이미 데브랩 등에서 여러 차례 발표를 했었는데요,

여기에서도 간단하게나마 파악하실 수 있습니다.

앱을 런칭하기 위해서는 privilege가 필요하니 manifest 파일에 아래 권한을 추가해주세요.

http://tizen.org/privilege/appmanager.launch


1. 타이젠 스토어 메인 페이지

타이젠 스토어 메인페이지를 띄우려면 app_control_set_app_id()를 사용하면 됩니다.

타이젠 스토어의 app id인 "org.tizen.tizenstore"를 인자로 넣어주세요.


#include <app_control.h>

app_control_h service = NULL;
int ret = -1;

ret = app_control_create(&service);
ret = app_control_set_app_id(service, "org.tizen.tizenstore");
ret = app_control_set_uri(service, "tizenstore://Main");
ret = app_control_set_operation(service, APP_CONTROL_OPERATION_VIEW);
ret = app_control_send_launch_request(service, appcontrol_callback, NULL);
app_control_destroy(service);


코드를 간결하게 표현하기 위해 에러처리는 생략합니다.

app_control_create()로 할당받은 메모리는 app_control_destroy()로 해제해주어야 합니다.

app_control_send_launch_request() 직후에 메모리를 해제하면 됩니다.


2. 타이젠 스토어 앱 상세정보 페이지

앱 상세정보 페이지에 진입하기 위해서는 우선 앱의 Content ID를 알아야 합니다.

공식 가이드에는 Package ID를 입력하라고 되어 있는데요,

실제 코드를 보면 Package ID 대신 Content ID를 넣어주고 있으니 착오없으시길 바랍니다.


Content ID는 앱을 등록할때 부여받는 ID입니다.

이미 등록한 앱이 있으시다면 Content ID를 http://seller.tizenstore.com에서 찾아보실 수 있습니다.



Seller Office > Applications > Content ID

위의 경로로 Content ID를 확인하실 수 있습니다.

이번에는 app_control_set_uri()에 "tizenstore://ProductDetail/<Content_ID>" 형식으로 채웁니다.

아래 루틴이 실행되면 타이젠 스토어 앱이 열리면서 지정된 앱 상세 페이지에 진입하게 됩니다.


#include <app_control.h>

app_control_h service = NULL;
int ret = -1;

ret = app_control_create(&service);
ret = app_control_set_app_id(service, "org.tizen.tizenstore");
ret = app_control_set_uri(service, "tizenstore://ProductDetail/<Content_ID>");
ret = app_control_set_operation(service, APP_CONTROL_OPERATION_VIEW);
ret = app_control_send_launch_request(service, NULL, NULL);
app_control_destroy(service);


3. 타이젠 스토어 판매자 페이지

타이젠 스토어에서 판매자 페이지로 진입하기 위해서는 우선 판매자 ID를 알아야 합니다.

판매자 ID도 "http://seller.tizenstore.com"에서 확인하실 수 있습니다.



Seller Office > Edit User(오른편 상단) > Basic Information

위의 경로로 진입하면 Basic Information 최하단에 Seller DeepLink를 확인하실 수 있습니다.

위의 ID를 "tizenstore://SellerApps/<Seller_ID>"의 형식으로 app_control_set_uri()에 채우세요.

그리고 런칭을 하면 판매자 페이지로 진입할 수 있습니다.


#include <app_control.h>

app_control_h service = NULL;
int ret = -1;

ret = app_control_create(&service);
ret = app_control_set_app_id(service, "org.tizen.tizenstore");
ret = app_control_set_uri(service, "tizenstore://SellerApps/<Seller_ID>");
ret = app_control_set_operation(service, APP_CONTROL_OPERATION_VIEW);
ret = app_control_send_launch_request(service, NULL, NULL);
app_control_destroy(service);


이상과 같이 Tizen Store에 연결하는 방법을 알아보았습니다.

궁극적으로 플랫폼 앱에서 다수의 앱을 연결할 때 사용하면 유용하겠네요.


그럼 좋은 하루 보내세요~

끝_


* References

https://developer.tizen.org/community/tip-tech/linking-your-application