2016-09-29 6 views
0

特定のアプリケーションが既にデバイスにインストールされているかどうかを確認する方法ですか? (私はアンドロイドとイオスで達成したい)。特定のアプリケーションを特定する方法は、xamarinフォーム(Androidおよびios)を使用して自分のデバイスにインストールされているかどうか

説明:私は私に次のようなデータを与えるつのサービス(アプリケーション名、アプリのアイコン・イメージ、アプリケーションID、サイト運営者ID、バージョン名)を使用しているネイティブのWindowsアプリケーション

特定のアプリケーションが既に自分の端末にインストールされているかどうか、またはApp Name、App Id、Publisher Idを介してチェックされています。

アプリがインストールされている場合、完全に更新された「起動」ボタンが表示されていない場合は「更新」ボタンが表示されます。

アプリケーションがインストールされていない場合は、「インストール」ボタンが表示され、このボタンはプレイストアに直接リダイレクトされます。

私はAndroidとiosでxamarin形式で達成したいのと同じことです。

アンドロイドとアイオスのサービスではどのようなものが必要ですか?

アンドロイドとイオスで直接プレイストアにリダイレクトする方法はありますか?

+0

開こうと思っているアプリの名前を教えてもらえますか?たとえばFacebookのようなものですか? –

+0

いいえ、そうではありません。 1つの組織が10のアプリケーションを開発して公開したとします。ユーザーがそれらのいずれかをインストールすると、そのアプリケーションのホームページに、インストールされている1つのアプリケーションと「インストール」ボタンがある他の9のすべてのアプリケーションのリストを表示したい。すべての名前はサービスから来ます。 (アプリ名は何でもいい)。アプリIDもそこにあります。 –

+0

それはまた、私のためにも役立つFacebookのアプリケーションのために可能な場合。 –

答えて

0

方法1:

App Linksを使用してみてください。コンポーネントストアからリベットコンポーネントをインストールする必要があります。インストールされていない場合はストアを再生するナビゲーションを処理し、URLに基​​づいてブラウザを操作できます。

Rivets.AppLinks.Navigator.Navigate("http://any.old.url"); 
あなたのアプリは今のAppのリンクを使用してURLのための別のインストールのアプリに移動しようとする、またはiOSに usingUIApplication.OpenUrlにフォールバックします/やAndroidでのビューアクションで intentを使用するようにフォールバックします

、もしApp Linkメタデータが見つからないか、メタデータ用のアプリがインストールされていません。

方法2:私は私のxamarinアプリからページを開くには、Facebookアプリのための状況を取り扱わなく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ページがfacebookアプリケーションで開きます。通知"fb:// page/page_id"これはfacebookから提供された特定のURIを持つインテントです。あなたはそれについてもっと読むことができますhere

Plugin.Shareを使用してCrossShareを使用すると、xamarinアプリからブラウザのクロスプラットフォームを開くことができます。私はこれを以下に使用しました。

facebookアプリがインストールされていない場合、上記のコードは例外をスローします。おそらく、AndroidのプレイストアまたはAppleのアプリストアにリダイレクトする必要があります。 Android用

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

ここcom.facebook.katanaは、AndroidでFacebookアプリのパッケージ名です。プレイストアに登録されている場合は、アプリケーションのパッケージ名に置き換えることができます。これはブラウザではなくプレイストアで自動的に起動します。 IOSの場合

は、Appストアにリダイレクトします。ここでは

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

id284882215は、AppleのApp StoreでのFacebookのアプリケーションIDです。

+0

最初のステップは、特定のアプリケーションがデバイスにインストールされているかどうかを確認することですか?私はアンドロイドのための1つの解決策 "http://stackoverflow.com/questions/3922606/detect-an-application-is-installed-or-not"を見つけましたが、これはどのようにxamarin形式で可能ですか? –

+0

上記のApp Linksのサンプルを試してみてください。それはあなたを助けるかもしれません。 –

+0

"PackageManager"クラスを使ってアンドロイドでやったことがあります。私はxamarinフォームを使用しています。なぜそれに依存性注入を使用するのですか?これはイオスでどのように可能ですか? –

関連する問題