0

APKExpansionPolicyカスタム ダウンロード用にダウンロードするファイルの URL を取得できるように、チェックを実行しようとしています。APK を公開し、未公開の状態のままにして、拡張ファイルをアップロードし、エミュレーターでテストして LVL 呼び出しを実行しました。それは返され(エラーなし)、Google Playテストセクションのオプションを変更して常に有効またはfalseを返すと、それらの結果が期待どおりに表示されます。しかし、毎回、何をしても、余分な文字列 (url、ファイル名) が入力されません (null)。

エミュレータでできないことをやろうとしているのだろうかと思っています。エミュレータ 2.3.3、4.0 のさまざまなバージョンも試しましたが、同じ結果が得られました。

private class MyLicenseCheckerCallback implements LicenseCheckerCallback {
    public void allow(int reason) {
        if (isFinishing()) {
           // Don't update UI if Activity is finishing.
           return;
        }
        // Should allow user access.
        String url = policy.getExpansionURL(APKExpansionPolicy.MAIN_FILE_URL_INDEX);
        String expansionFileName = policy.getExpansionFileName( APKExpansionPolicy.MAIN_FILE_URL_INDEX );
        long expansionFileSize = policy.getExpansionFileSize( APKExpansionPolicy.MAIN_FILE_URL_INDEX );
}
4

1 に答える 1

0

午前2時30分に答えを見つけました...

APKExpansionPolicy を使用していることを除いて、基本的にライセンスに関する Android チュートリアルに従っています。
これはうまくいきませんでした:

policy = new APKExpansionPolicy(this, new AESObfuscator(SALT, getPackageName(), deviceId));

そして、これは次のことを行います:

policy = new APKExpansionPolicy(getApplicationContext(), new AESObfuscator(SALT, getPackageName(), deviceId));

Google Play は拡張コンテンツの URL、サイズ、ファイル名を返すようになりました。コンテキスト内のコードは次のとおりです。

String deviceId = Secure.getString(getContentResolver(), Secure.ANDROID_ID);

// Library calls this when it's done.
mLicenseCheckerCallback = new MyLicenseCheckerCallback();

policy = new APKExpansionPolicy(getApplicationContext(), new AESObfuscator(SALT, getPackageName(), deviceId));

// Construct the LicenseChecker with a policy.
mChecker = new LicenseChecker(this, policy,base64key);

mChecker.checkAccess(mLicenseCheckerCallback);
于 2012-08-23T15:40:10.110 に答える