13

私は最近、BlackMarket アプリケーションを発見しました。これは Google Play ストア アプリのリッピングであり、これらの人々は Play ストアから有料アプリを取得し、ユーザーにそれをダウンロードして無料で使用させます。

私のアプリにお金を請求することを計画している開発者として、これは私を悩ませています.Play-Storeまたは私が承認したストアを介して私のアプリケーションがインストールされていることを確認したいと思います.

この種のことを確認する唯一の方法はキャンペーン トラッキングによるものだと思いますが、Google アナリティクス v2 以降、キャンペーンのトラッキングは Jar のレシーバーで行われます。

アプリのインストール元を特定する他の方法はありますか? キャンペーン追跡データを傍受する方法はありますか?

ありがとう。

4

3 に答える 3

9

こちらのリンクを確認してください。それで

PackageManager pm = getPackageManager();
String installationSource = pm.getInstallerPackageName(getPackageName());

マークからインストールすると、 はまたはのinstallationSourceようなものを返します。ただし、これは変更され、変更があった場合は維持(サポート)する必要があります。そうしないと、null(デバッガーから)または他のアプリケーション(望ましくないもの:))から他のパッケージ名が返されます。com.google.android%com.android.vending%

于 2013-08-09T22:14:57.760 に答える
0

これを見つけました http://developer.android.com/google/play/licensing/licensing-reference.html#lvl-summary

public boolean allowAccess() {
    long ts = System.currentTimeMillis();
    if (mLastResponse == LicenseResponse.LICENSED) {
        // Check if the LICENSED response occurred within the validity timeout.
        if (ts <= mValidityTimestamp) {
            // Cached LICENSED response is still valid.
            return true;
        }
    } else if (mLastResponse == LicenseResponse.RETRY &&
                ts < mLastResponseTime + MILLIS_PER_MINUTE) {
        // Only allow access if we are within the retry period or we haven't used up our
        // max retries.
        return (ts <= mRetryUntil || mRetryCount <= mMaxRetries);
    }
    return false;
}
于 2013-09-19T10:53:27.210 に答える