7

Xamarin で 3 か月間 Android アプリを開発していますが、新しいリリースが利用可能になったときにアプリケーションを更新するという問題に直面しています。アプリケーションはどのアプリ ストアにも公開されていません (社内で使用しているため)。Play ストアが自動更新を実行できることは知っていますが、サーバーで更新を探す必要があります。背景)。これが私の現在のコードです。このコピーはデバイスへのアプリです:

intent.SetData(Android.Net.Uri.Parse(@"http://xxxxx/downloads/app.test-signed.apk"));
StartActivity(intent);

これにより、アプリがデバイスにインストールされます。

intent.SetDataAndType(Android.Net.Uri.FromFile(new Java.IO.File(Android.OS.Environment.ExternalStorageDirectory.Path + 
"/app.test-signed.apk")), "application/vnd.android.package-archive");
StartActivity(intent);

しかし、この方法ではインストールを求められ(これが正しい方法だとは思いません)、インストール後にアプリが自動的に起動しません。また、アプリのダウンロードが完了するまで待ってからインストールを試みる方法がわかりません。

4

2 に答える 2

3

社内でのみ使用されるアプリで同様の問題が発生しました。一般大衆はアプリを使用しないため、このアプリを広い世界に広めたくありませんでした。

そのため、Google Play で最終製品を「アルファ リリース」として公開しました。アクセスできるデバイスの電子メール アドレスのセットを使用して Google グループを設定すると、アプリがダウンロードされると、Google Play の他のアプリと同じように更新されます。

ベータ版または製品版に「プロモート」するオプションがありますが、プロモートされないため、Google Play で検索することはできません。

于 2013-12-12T15:28:41.947 に答える
0

Corey Ogburn が言及したように、サイレント インストールは root なしでは不可能です。

Xamarin のフォーラムの質問に対する回答は既に投稿されていますが。

別のメモとして、Dave のアイデアに従って、Google Play にプライベート チャンネルを設定できます。ご存知のように、Google Play は簡単な自動更新を提供し、プライベート チャネルを使用すると、アプリにアクセスできるユーザーに対して特別な承認を与えることができます。

プライベート チャンネルの詳細については、こちらをご覧ください。

于 2015-05-21T15:20:34.987 に答える