有料アプリのアプリ Android ライセンスを取得しています。このアプリでは、アプリの詳細に従って、ベース 64 の公開鍵とソルト 20 の乱数を指定しました。私のコードは次のとおりです。
次のように変数を初期化します。
private static final String BASE64_PUBLIC_KEY = "xxxxxx";
private static final byte[] SALT = new byte[] {xxxxxxxxxxxxxxxx};
private LicenseChecker mChecker;
private LicenseCheckerCallback mLicenseCheckerCallback;
oncreate() で次のようにします:
String deviceId = Secure.getString(getContentResolver(),Secure.ANDROID_ID);
mLicenseCheckerCallback = new MyLicenseCheckerCallback();
mChecker = new LicenseChecker(this, (Policy) new ServerManagedPolicy(this,
new AESObfuscator(SALT, getPackageName(), deviceId)),
BASE64_PUBLIC_KEY);
mChecker.checkAccess(mLicenseCheckerCallback);
および My license checker コールバック関数は次のようになります:
private class MyLicenseCheckerCallback implements LicenseCheckerCallback {
@Override
public void allow(int result) {
if (isFinishing()) {
return;
}
}
@Override
public void applicationError(int errorCode) {
if (isFinishing()) {
return;
}
}
@SuppressWarnings("deprecation")
@Override
public void dontAllow(int result) {
if (isFinishing()) {
return;
}
showDialog(0);
}
}
これから apk ファイルをエクスポートし、Google Play に下書きとして保存し、Google Play でテスト アカウントとして提供されているテスト アカウントと、デバイスでも使用されている同じアカウントでテストしました。私はこのアプリを何度もテストしましたが、ダイアログが表示されるたびにライセンスがありません。何が問題ですか?助けてください..