2016-07-01 7 views
2

私たちはXamarin.FormsでiOSとAndroidアプリを開発しており、ユーザーがアプリを開かなくても最初のインストールとその後のアップデートで登録と検証をしたいと考えています。これは可能ですか?モバイルアプリは、開封前/開封後にインストールとアップデート時にコードを実行できますか?

+0

ありがとうございました。私はiOSで話すことができません。 – CommonsWare

+0

iOSではアプリを自動的に更新することはできません。ユーザーはアプリのアップデートを開始する必要があります。 –

答えて

0

いいえ、それはできません、ユーザーの操作なしで何もすることはできません!

+0

プッシュ通知などに登録されていることを確認するには、ユーザーがアプリを開く必要がありますか?それは酷いことだ。 –

+1

ユーザーの操作が完了したら、あなたの要件に合わせて全員を設定または登録することができます –

0

アンドロイドでは、BroadcastReceiverを書いてMY_PACKAGE_REPLACEDを聞くことによってパッケージのアップデートに反応することができます。

[BroadcastReceiver(Enabled = true, Exported = true), IntentFilter(new[] { Intent.ActionMyPackageReplaced })] 
    public class PackageUpdateReceiver : BroadcastReceiver 
    { 
     public override void OnReceive(Context context, Intent intent) 
     { 
      if (intent.Package == "your.package.name") // Action MY_PACKAGE_REPLACED should only be called for your package - so this is actually not needed ... 
      { 
       // do some stuff ... 
      } 
     } 
    } 

属性「BroadcastReceiver」はあなたのためのマニフェストエントリを生成します。

注:この方法でDependencyServiceを使用する場合は、次のようにします。この段階ではあなたのアプリが初期化されていないため、DependencyServiceがクラッシュするので、Xamarin.Forms.Init()という名前の誰も呼んでもらえません。

EDIT:具体的には、レシーバは既にインストールされているすべてのアプリケーションのみが呼び出されます。つまり、新しいバージョンのアプリケーションが既存のアプリケーションにインストールされたときです。

このソリューションは、新規インストールでは機能しません。

関連する問題