3

APKのインストールを追跡しようとしています。ユーザーが(ストアではなく)ダウンロードページにアクセスすると、特定のソースからアクセスします。ユーザーがダウンロードをクリックすると、APKがインストールされます。インストール後、インストールする前に、ユーザーがアクセスしていたソースにインストールをマップする必要があります。これを行うための良い方法はありますか?

これまでの私の計画:ダウンロードページのユーザーIPと画面解像度をデータベースに保存します。インストール後、IPと画面解像度をサーバーに渡し、データベースの行にマップします。これはこれを行うための良い方法ですか?

皆さんが私を助けてくれることを願っています。

4

2 に答える 2

1

PACKAGE_ADDEDPACKAGE_INSTALLインテントを受信できるBroadcastReceiverを作成する必要があります。

InstallBroadcastReceiver.Class

public class InstallBroadcastReceiver extends BroadcastReceiver {

  @Override
  public void onReceive(Context context, Intent intent) {
  String action = intent.getAction();
  if(action.equals(Intent.ACTION_PACKAGE_ADDED)
    ||action.equals(Intent.ACTION_PACKAGE_INSTALL)){
    notifyServerForApplicationInstall(context, intent);

    }
   }

  private void notifyServerForApplicationInstall(Context context,Intent intent){

    //send the data to your server here
  }
}

受信者をAndroidManifestファイルに登録する

    <receiver
        android:name=".InstallBroadcastReceiver"
        android:exported="false" 
        <intent-filter>
        <category android:name="android.intent.category.DEFAULT" />
            <action android:name="android.intent.action.PACKAGE_ADDED" />
            <action android:name="android.intent.action.PACKAGE_INSTALL" />
            <data android:scheme="package" />
        </intent-filter>
    </receiver>

マニフェストでこの権限を与えることを忘れないでください:

<uses-permission android:name="android.permission.INSTALL_PACKAGES"/>
于 2013-03-03T20:28:10.017 に答える