2016-09-29 1 views
0

내 애플리케이션에 특정 애플리케이션이 이미 설치되어 있는지 또는 xamarin 형식이 아닌지 확인하는 방법은 무엇입니까? (나는 안드로이드와 이노스에서 성취하고 싶다).xamarin 양식 (Android 및 ios)을 사용하여 내 기기에 특정 앱을 설치하는 방법

설명 :

기본 윈도우에서 나는 나에게 다음과 같은 데이터 제공 한 서비스를 사용하고 응용 프로그램 (앱 이름, 앱 아이콘 이미지, 앱 ID, 게시자 ID를 버전 이름) .

특정 응용 프로그램이 내 장치에 이미 설치되어 있는지 여부를 확인했거나 응용 프로그램 이름, 응용 프로그램 ID, 게시자 ID를 통해 확인하지 않았습니다.

앱이 설치되었다고 가정하고 완전히 업데이트 된 다음 '실행'버튼이 표시되고 '업데이트'버튼이 표시되지 않으면 애플리케이션의 버전을 확인합니다.

응용 프로그램이 설치되어 있지 않은 경우 "설치"버튼이 표시되고이 버튼을 통해 직접 저에게 재생 저장소를 통해 리디렉션됩니다.

나는 xamarin 양식을 통해 안드로이드와 ios에서 달성하고자하는 것과 동일한 것들.

android 및 ios 서비스를 통해 필요한 것은 무엇입니까?

어떻게 안드로이드와 ios에서 직접 재생 저장소로 리디렉션합니까?

+0

열 수있는 앱 이름을 알려주시겠습니까? 예를 들어 페이스 북이나 다른 사람과 같은 ..? –

+0

아니, 그렇지 않아. 하나의 조직에서 10 개의 앱을 개발하여 게시했다고 가정 해 보겠습니다. 사용자가 그 중 어느 하나를 설치하면 그 앱의 홈 페이지에 1 개의 앱이 설치되고 다른 9 개의 앱은 "설치"버튼이있는 모든 앱의 목록을 표시하고 싶습니다. 모든 이름은 봉사에서옵니다. (앱 이름은 무엇이든간에). 응용 프로그램 ID도 있습니다. –

+0

페이스 북 앱이 가능하면 나에게도 도움이된다. –

답변

0

방법 1 :

App Links를 사용해보십시오. Component Store에서 Rivets 구성 요소를 설치해야합니다. 설치되지 않은 경우 상점을 재생하고 URL을 기반으로 브라우저를 탐색 할 수 있습니다.

Rivets.AppLinks.Navigator.Navigate("http://any.old.url"); 
앱은 현재 앱 링크를 사용하여 URL에 설치된 다른 응용 프로그램으로 이동을 시도, 또는 iOS에서 usingUIApplication.OpenUrl로 다시 떨어질 것이다/또는 안드로이드에서보기 조치와 함께 intent를 사용하여 다시 떨어질 것이다

, 경우 App Link 메타 데이터가 없거나 메타 데이터 용 앱이 설치되어 있지 않습니다.

방법 2 : 내 자 마린 응용 프로그램에서 페이지를 엽니 다 페이스 북의 응용 프로그램에 대한 상황을 처리하지만 App Links를 사용하여 한 예를 들어

.

Device.OpenUri(new Uri("fb://page/page_id")); // Launch the page in facebook app (if facebook app is installed) from my application. 

실행 위의 코드 라인, 페이스 북의 응용 프로그램에 지정된 facbook 페이지가 열립니다. Notice "fb : // page/page_id" 이것은 페이스 북에서 제공 한 특정 URI를 가진 의도입니다. 그것에 대해 자세히 알 수 있습니다 here.

Plugin.Share을 사용하면 CrossShare을 사용하여 xamarin 앱에서 브라우저 크로스 플랫폼을 열 수 있습니다. 이것은 아래에서 사용했습니다.

facebook 앱이 설치되어 있지 않으면 위의 코드는 예외가 발생합니다. 그런 다음 Android의 Play 스토어 또는 Apple의 앱 스토어로 리디렉션해야 할 수 있습니다. 안드로이드에 대한

:

CrossShare.Current.OpenBrowser("https://play.google.com/store/apps/details?id=com.facebook.katana"); 

여기 com.facebook.katana 안드로이드에서 페이스 북의 응용 프로그램의 패키지 이름입니다. Playstore에 등록 된 경우 응용 프로그램의 패키지 이름으로 바꿀 수 있습니다. 이것은 자동으로 브라우저가 아닌 플레이 스토어에서 시작됩니다. IOS의 경우

은 앱 스토어로 리디렉션 :

여기
CrossShare.Current.OpenBrowser("https://itunes.apple.com/us/app/facebook/id284882215/"); 

id284882215 애플의 앱 스토어에 페이스 북의 응용 프로그램 ID입니다.

+0

첫 번째 단계는 내 애플리케이션에 특정 애플리케이션이 설치되어 있는지 확인하는 것입니다. 안드로이드에 대한 하나의 솔루션 "http://stackoverflow.com/questions/3922606/detect-an-application-is-installed-or-not"을 발견했는데 이것이 xamarin 양식에서 어떻게 가능합니까? –

+0

위에서 언급 한 앱 링크 샘플을 사용해보세요. 그게 너에게 도움이 될거야. –

+0

"PackageManager"클래스를 사용하여 android에서이 작업을 수행했습니다. 나는 xamarin 양식을 사용했기 때문에 의존성 주입을 사용했다. 이게 어떻게 가능합니까? –

관련 문제