adjust-icon

SDKシグネチャーライブラリの実装

AdjustのSDKシグネチャーライブラリは、Adjust SDKのスタンドアローンプラグインとして設計されています。つまり、コードを変更したり、アプリでAdjust SDKを使用する方法を変更したりする必要はありません。プラグインをインストールすると、Adjust SDKによって作成された全てのリクエストが引き続き正常に機能します。

事前準備

シグネチャーライブラリをUnityアプリに実装する前に、以下を確認してください。

  • 使用中のAndroid APIバージョンが 21以降 であること。
  • お使いのAdjust SDKバージョンが 4.37.2以降 であること。
  • Proguardを使用している場合、シグネチャーライブラリとAdjust SDKの両方で全く同じProguard設定を使用する必要があります。

シグネチャーv1またはv2ライブラリから移行

以前にシグネチャーv1またはシグネチャーv2を使用していた場合は、シグネチャーライブラリを連携する前に以前のバージョンを削除する必要があります。これを行うには、以下の手順に従ってください。

  • 以前シグネチャーv1を実装したことがある場合は、プロジェクト内のシグネチャー機能を呼び出すコードを削除してください。
  • 以前シグネチャーv2を実施したことがある場合は、シグネチャーv2のライブラリをプロジェクトから削除してください。

連携の手順

Unityプロジェクトにシグネチャーライブラリを実装するには、以下の手順に従ってください。

  1. GitHubからシグネチャーライブラリの内容を取得します。
  2. Androidアーカイブ(.aar)ファイルをUnityプロジェクト内のAssets/Adjust/Androidディレクトリに配置します。
  3. iOS static framework(.a)をUnityプロジェクト内のAssets/Adjust/iOSディレクトリに配置します。

これで、シグネチャーライブラリがプロジェクトに実装されました。デジタル証明書を設定するには、次のセクションの手順に従ってください。

Adjustで証明書を設定する

アプリにシグネチャーライブラリを実装すると、Adjust SDKからAdjustに送信される全てのリクエストが署名されます。また、Adjust SDKは、署名証明書のフィンガープリントなどの関連情報をAdjustのサーバーに送信します。

証明書フィンガープリントは、証明書内に保持される公開情報の暗号化ハッシュです。これはアプリの信頼性を検証するために使用できます。

シグネチャーライブラリでは、証明書フィンガープリントの信頼性を検証できません。フィンガープリントを含むリクエストをAdjustが信頼性のあるものとして受理するには、フィンガープリントをAdjustの許可リストに追加する必要があります。これを行うには、証明書フィンガープリントを取得し、Adjustに送信する必要があります。

キーストアから取得

独自のキーストアを使用している場合、またはAndroid Studioが生成したキーストアの場合は、以下の手順に従って証明書フィンガープリントを取得できます。

  1. アプリのリリースバージョン の署名に使用されるキーストアファイル(.jks)を見つけます。キーストアは、Google Play ストアに送信されるリリースバージョンの署名に使用されたものでなければなりません。キーストアが異なる場合、SDKリクエストは拒否されます。

  2. 以下のコマンドを実行して、キーをリストアップします。角括弧内の部分をお客様の情報に置き換えてください。

    Terminal window
    $ keytool -list -v -keystore <path/to/keystore.jks> -alias <your_key_alias>

    このコマンドを実行すると、キーストアのパスワードが要求されます。これは、キーストアの生成時に定義したパスワードです。

    最終的な出力結果は以下のようになります。

    Alias name: Key0
    Creation date: May 15, 2018
    Entry type: PrivateKeyEntry
    Certificate chain length: 1
    Certificate[1]:
    Owner: CN=[Adjust, GmbH.]
    Issuer: CN=[Adjust, GmbH.]
    Serial number: 642f1b62
    Valid from: Tue May 15 09:46:06 CEST 2018 until: Sat May 09
    09:46:06 CEST 2043
    Certificate fingerprints:
    MD5: E7:88:9F:8C:9D:F4:14:C1:CF:E8:4C:97:F3:F2:3A:E3
    SHA1:
    C4:BD:07:91:BC:09:F8:B6:15:CD:BC:A3:3F:BC:68:8B:C2:EF:4F:F5
    SHA256:
    55:FB:97:0F:46:0F:94:EC:07:EA:01:69:50:5A:20:3F:A0:91:60:A4:F
    1:33:58:EA:76:DC:54:9E:A7:6A:B9:1A
    Signature algorithm name: SHA256withRSA
    Subject Public Key Algorithm: 2048-bit RSA key
    Version: 3
  3. SHA-1フィンガープリントを保存し、Adjustの許可リストに追加します。

Google Play Internal App Sharingから取得

Google Play Internal App Sharingを使用している場合、組織のSHA-1証明書フィンガープリントと内部テスト証明書フィンガープリントの両方をAdjustに送信し、許可リストに登録する必要があります。

フィンガープリントを抽出する方法:

  1. Google Play Consoleからログインします。
  2. アプリを選択します。
  3. リリース管理(Release Management)—> アプリのリリース(App Releases)—> 内部アプリ共有の管理(App Signing)> アプリ証明書(App certificates) を選択します。
  4. 内部テスト証明書 と組織のキーストアの両方の SHA-1証明書のフィンガープリント を保存し、Adjustの許可リストに追加します。

Google Play Consoleの証明書ページのスクリーンショット

Google Play App Signingから取得

Google Play App Signingを使用している場合、組織のSHA-1証明書フィンガープリントと内部テスト用の証明書フィンガープリントの両方をAdjustに送信し、許可リストに登録する必要があります。

フィンガープリントを抽出する方法:

  1. Google Play Consoleからログインします。
  2. アプリを選択します。
  3. リリース管理(Release Management)—> アプリの署名(App Signing) を選択します。
  4. アプリ署名証明書アップロード証明書 の両方の SHA-1証明書フィンガープリント を保存します。

Google Play ConsoleのApp Signingページのスクリーンショット

Huawei AppGallery App Signingから取得

Huawei AppGallery App Signingを使用している場合、組織のSHA-1証明書フィンガープリントと内部テスト用証明書フィンガープリントの両方をAdjustに送信し、許可リストに登録する必要があります。

フィンガープリントを抽出する方法:

  1. AppGallery ConnectのApp Signingページに移動し、アプリ署名証明書(certificate.pem)をダウンロードします。

AppGallery ConnectのApp Signingページのスクリーンショット

  1. 証明書をダウンロードしたら、次のコマンドを実行して証明書のSHA-1フィンガープリントを出力します。

    Terminal window
    $ openssl x509 -fingerprint -in certificate.pem -noout -SHA1

    出力結果は以下のようになります。

    SHA1 Fingerprint=C4:BD:07:91:BC:09:F8:B6:15:CD:BC:A3:3F:BC:68:8B:C2:EF:4F:F5
  2. フィンガープリントを保存して、Adjustの許可リストに追加します。

デジタル証明書フィンガープリントをAdjustの許可リストに追加する

証明書のフィンガープリントを取得したら、以下を実行して許可リスト(ホワイトリスト)に追加してください。

  1. AppViewでアプリを選択し、アプリの詳細画面を開きます。
  2. 不正防止(Protection) タブを選択します。
  3. 疑わしいインストール(Suspicious install) セクションで、 編集(Edit) ボタンを選択します。
  4. Androidフィンガープリント(Android finterprinting) セクションで、 新規フィンガープリント(New fingerprint) を選択します。
  5. 表示されるテキストボックスにSHA-1フィンガープリントを貼り付けます。
  6. Add を選択します。

これで、フィンガープリントがアプリで許可リストに登録されました。

アプリをテストする

Adjustテストコンソールを使用して、アプリにシグネチャーライブラリが実装されていることを確認できます。

シグネチャーライブラリの実装をテストするには、以下の手順に従ってください。

  1. インストール情報が送信されるようにするには、テストデバイスからアプリを完全に削除します。

  2. デバイスに関する全ての情報を消去するには、テストコンソールを使用してデバイスに関する情報を削除します。 また、 Adjust Insightsアプリ(iOSAndroidでご利用可能)で取得したアプリの広告IDをパスすることで、forget_deviceエンドポイントを使用することも可能です。 次の広告IDはいずれも使用できます:adidandroid_idgps_adididfaidfvimeioaid

    コールは以下のようになります。

    Terminal window
    $ curl -X POST 'https://app.adjust.com/forget_device?app_token={yourAppToken}&id={adid}'
  3. テストコンソールからデバイスのデータを削除したら、テストデバイスにアプリをインストールして起動し、インストール情報をAdjustに送信します。

  4. テストデバイスの広告IDをテストコンソールに入力し、インストールイベント情報を取得します。以下の点を確認してください。

    1. SignatureVerificationResultフィールドに次の値が表示されている: Valid Signature
    2. SignatureVersionフィールドに次の値が表示されている: 3

これらのフィールドが存在し、正しい情報が含まれている場合、シグネチャーライブラリは正常に実装されています。これらのフィールドに他の値が表示されている場合は、実装手順を再度確認するか、support@adjust.comまでお問い合わせください。

これで、シグネチャーライブラリがアプリに連携されました。 2回のアトリビューション期間が経過したら、 SDKシグネチャーの検証を有効化して、署名されたリクエストのみがAdjustで受理されるようにしてください。

トラブルシューティング

AdjustSigSdk.aでの不明なCPUアーキテクチャー

Unity Editor 2018以降では、 Unknown CPU Architecture というエラーメッセージが表示される場合があります。このエラーメッセージは、UnityエディターがiOS static framework(.a)をiOS以外のプラットフォームに適用しようとする場合に表示されます。この問題を解決するには、 AdjustSigSdk.aファイルを選択し、 Import Settings メニューで iOS を除く全てのプラットフォームの選択を解除してください。

UnityエディターのAdjustSdk Import Settingsのスクリーンショット