最近、新しい Google Expansion APK メカニズムの利用を開始しました。全体的にはうまく機能しますが、私たちにとってはやや不安定なようです. いくつかの質問:
アプリと一緒に拡張アプリをダウンロードするユーザーもいれば、ダウンロードしないユーザーもいるため、アプリ自体がダウンロードする必要があります。それが自動的に機能するときとそうでないときを支配するものを誰か知っていますか?
拡張ファイルを自分でダウンロードする必要がある場合、Google Play はファイル サイズに対して -1 を返し、URL に対して null を返し、拡張ファイルが存在しないことを示します。アプリを再度実行すると、通常、2 回目は有効なサイズと URL が返されます。他の誰かがこのフレークネスを見ますか?
コードの基本は次のとおりです。
これは、コールバックを介してライセンスを確認するための呼び出しを設定する方法です
policy = new APKExpansionPolicy( context, new AESObfuscator( SALT, context.getPackageName(), deviceId ) );
mChecker = new LicenseChecker( context, policy, BASE64_PUBLIC_KEY );
mLicenseCheckerCallback = new MyLicenseCheckerCallback();
mChecker.checkAccess( mLicenseCheckerCallback );
次に、コールバックでこれを allow() メソッドに渡します (ライセンスが有効な場合)。
public void allow( int reason )
{
String expansionFileName = policy.getExpansionFileName( APKExpansionPolicy.MAIN_FILE_URL_INDEX );
String expansionURL = policy.getExpansionURL( APKExpansionPolicy.MAIN_FILE_URL_INDEX );
long expansionFileSize = policy.getExpansionFileSize( APKExpansionPolicy.MAIN_FILE_URL_INDEX );
}
この新しいコードを使用してアプリをリリースしたばかりですが、かなりの数のユーザーが、expansionFileSize として -1 を返し、URL として null を取得しています。これにより、ユーザーは拡張ファイルをインストールできなくなります。通常、アプリを再度実行すると、2 回目 (または 3 回目) に動作します。
何が起こっているのか考えている人はいますか?