アプリケーションがAmazonAppStoreまたはGooglePlayストアからダウンロードされたかどうかを知る方法はありますか?もちろん、私はアプリ自体の中で意味しました。
私は両方のサイトにアプリをデプロイしましたが、顧客がアプリケーション内のどこからアプリをダウンロードしたかを知りたいです。各サービスに異なるアプリケーションをデプロイできることはわかっていますが、これにより、同じパッケージを使用するアプリ内で条件付きで解決する方法があれば回避できるメンテナンス作業が追加されます。
アプリケーションがAmazonAppStoreまたはGooglePlayストアからダウンロードされたかどうかを知る方法はありますか?もちろん、私はアプリ自体の中で意味しました。
私は両方のサイトにアプリをデプロイしましたが、顧客がアプリケーション内のどこからアプリをダウンロードしたかを知りたいです。各サービスに異なるアプリケーションをデプロイできることはわかっていますが、これにより、同じパッケージを使用するアプリ内で条件付きで解決する方法があれば回避できるメンテナンス作業が追加されます。
コード内:
final PackageManager packageManager = getPackageManager();
try {
final ApplicationInfo applicationInfo = packageManager.getApplicationInfo(getPackageName(), 0);
if ("com.android.vending".equals(packageManager.getInstallerPackageName(applicationInfo.packageName))) {
// App was installed by Play Store
}
} catch (final NameNotFoundException e) {
e.printStackTrace();
}
「com.android.vending」は、Google Play ストアからのものであることを示しています。Amazon Appstore が何であるかはわかりませんが、上記のコードを使用して簡単にテストできるはずです。
ADB経由:
adb shell pm dump "PACKAGE_NAME" | grep "vending"
例:
adb shell pm dump "com.android.chrome" | grep "vending"
installerPackageName=com.android.vending