2

Androidの新しいライセンスサービスを使おうとしましたが、問題が発生しています。メインアクティビティの私のコードは次のようになります。

  mLicenseCheckerCallback = new MyLicenseCheckerCallback();

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

    mChecker = new LicenseChecker(
            MainTabActivity.this, new ServerManagedPolicy(MainTabActivity.this,
                new AESObfuscator(SALT, getPackageName(), deviceId)),
            BASE64_PUBLIC_KEY  
            );

        mChecker.checkAccess(mLicenseCheckerCallback);

(基本的には、Androidオンラインドキュメントに表示されているコードのみです。許可されている場合はコールバックが通過し、許可されていない場合はメッセージが表示されてアプリが終了します。これまでのところ問題ありません。

問題は、デバッガーで正常に動作することですが、それを市場に公開してアプリをアップグレードすると(個人のgmail-accoutを使用してアプリのバージョンを購入したので、正規のユーザーです)、私のアプリがライセンスされていないというエラー。マーケットプロファイルのホワイトリストに個人のGmailアドレスを追加し、ステータスを「ライセンス済み」に設定しましたが、それでもエラーが発生します。何か提案はありますか ?

4

2 に答える 2

0

ライセンス サービスからのコールバックが数秒間発生しないことがあります。ネットワーク ラグがある場合はさらに悪化します。通常、試行が成功した後、後でアプリを起動する際の遅延を減らすために、回答をサービスにキャッシュします。

ほとんどの場合、アプリを閉じる (または機能を無効にする) ためのロジックを UI エクスペリエンスの後半に移動する必要があります。

また、ユーザーがアプリを閉じて後で再試行した場合に修正された、いくつかの偽陰性もありました.

于 2010-12-14T23:59:18.053 に答える
0

同じ問題があり、追加しました

<uses-permission
        android:name="com.android.vending.CHECK_LICENSE"></uses-permission> 

マニフェストに、私のためにトリックをしました!

于 2011-07-02T18:48:49.783 に答える