概要:Google License Verification Library (LVL) を追加し、Google Play とのライセンス関連の通信をすべて処理することで、不正使用からアプリを保護できます。
概要
License Verification Library (LVL) は、アプリに追加できるライブラリで(Android SDK からダウンロード可能)、Google Play ライセンスサービスとのライセンス関連の通信をすべて処理します。
これは、Protect360 のアルゴリズムに加えて、インストールが本物のGoogle Play ユーザーによるものであることを確認できるようにすることで、もう1つの保護レイヤーを追加します。これにより、Google Play と AppsFlyer の管理画面に表示されるインストール数の不一致を減らすことができます。
- LVL is available only for Protect360 clients. Without the P360 package, the module does not validate licenses.
- LVL prevents revenue loss from unauthorized app usage, ensuring compliance and protecting your investment.
Google Play Licensing サービスは、ユーザーがアプリの使用を許可されているかどうかを判断します。 Google Play は、ユーザーがアプリの購入者として記録されている場合、ライセンスを取得していると見なします。ライセンスはアプリごとに一意であり、保護を強化するために使用することができます。詳細はこちら
AppsFlyer の SDK が顧客サイドからデータを収集し、Protect360 がサーバーサイドでライセンス検証を行い、オーガニックインストールと非オーガニックインストールの両方で検証に失敗した不正インストールをブロックします。 Protect360 の管理画面やレポートに表示される「ブロック理由」は「ボット」です。
LVL の設定
セットアッププロセス
現在、これは手作業で行っており、AppsFlyer CSM に以下の情報を渡して、手作業で追加してもらう必要があります。
LVL を追加する:
-
Define a property in the gradle.properties file called:
appsflyerSdkVersion = "YOUR_SDK_VERSION" // e.g., 6.15.2
-
Reference the property dynamically in your build.gradle file:
dependencies { implementation("com.appsflyer:af-android-sdk:$appsflyerSdkVersion") implementation("com.appsflyer:lvl:$appsflyerSdkVersion") } -
For Kotlin DSL Users:
dependencies { val appsflyerSdkVersion = "<YOUR_SDK_VERSION>" // e.g., 6.15.2 implementation("com.appsflyer:af-android-sdk:$appsflyerSdkVersion") implementation("com.appsflyer:lvl:$appsflyerSdkVersion") }Note
You can define a local variable under the dependencies section. This will align the LVL and AppsFlyer SDK versions to be the same ensuring that both modules have the same versions.
-
アプリのライセンスとアプリ内課金を取得します:
Google Play Developer Console から(アプリを選択 -> 開発ツール -> サービスと API)。
Base64-encoded RSA public key - CSM に以下の情報を提供してください:
- 公開鍵
- app-id
- LVL が統合されている最小アプリバージョン
- A screenshot of their LVL (Liveness Verification Library) implementation
Next steps
Protect360 チームは、お客様のご要望をお聞きした後、LVL 検証を STAGING モードで設定します。この段階では、AppsFlyer 内部で LVL の検証結果のみを報告します。数日後、データをチェックします。
すべてが順調な場合:
- LVL の検証を PRODUCTION モードに設定し、トラフィックのブロックを開始します。
- Protect360 チームは CSM に通知します。
問題がある場合(例えば、インストールイベントで LVL の情報が表示されないなど):
- LVL の検証は STAGING モードにしておきます。
- CSM は通知を送り、アプリでの実装のトラブルシューティングを支援します。
テストとトラブルシューティング
アプリをデバッグすると、以下の例のように、AppsFlyer に送信されるペイロードの LVL 情報を確認できるはずです:
"lvl":{
"ttr":,<ttr>,
"signature":"<signature>",
"signedData":"<signedData>"
}
インストールメッセージに LVL 情報がない場合は、サポート/SDK チームと協力してください。
よくある質問
アプリが Google Play 以外のストアからインストールされた場合はどうなりますか?
LVL の検証では、Google Play 以外のストアからのインストールは検証されず、ブロックされません。
LVL のセットアップにはどのくらい時間がかかりますか?
情報をいただいてから、LVL の設定とデータの確認に数営業日かかります。セットアップ手順の詳細をご覧ください。
LVL はアプリの機能に影響しますか?
いいえ、アプリの機能に影響はありません。
LVL と GP-referrer の違いは何ですか?
LVL を使用したライセンス検証は、GP-referrer を使用した検証アルゴリズムとは異なり、LVL はアプリ自体のライセンス検証(アプリごとのライセンス)を処理するのに対し、GP-referrer はインストールされたパッケージのリファラー UR L(リファラークリックが発生した時刻、インストールが開始された時刻、アプリのバージョンなどのタイムスタンプ)と Google Play ストアへのインストールのリダイレクトソースを取得するために使用されます。要するに、LVL はユーザーがアプリを使用するライセンスを取得しているかどうかを確認するために使用されるのに対し、GP-referrer はインストール詳細が偽造されていないかどうかを確認するために使用されるのです。