3

リファラー情報を URL に渡す必要がある Java で Android アプリケーションを開発しています。Play Install Referrer Libraryを使用してリファラー情報を取得しています。

これが私のコードです:

InstallReferrerClient referrerClient = InstallReferrerClient.newBuilder(this).build();
    referrerClient.startConnection(new InstallReferrerStateListener() {
        @Override
        public void onInstallReferrerSetupFinished(int responseCode) {
            switch (responseCode) {
                case InstallReferrerClient.InstallReferrerResponse.OK:
                    try {
                        Log.v("TAG", "InstallReferrer conneceted");
                        ReferrerDetails response = referrerClient.getInstallReferrer();
                        System.out.println("referrerUrl ID: " + response);
                        referrerClient.endConnection();
                    } catch (RemoteException e) {
                        e.printStackTrace();
                    }
                    break;
                case InstallReferrerClient.InstallReferrerResponse.FEATURE_NOT_SUPPORTED:
                    Log.w("TAG", "InstallReferrer not supported");
                    break;
                case InstallReferrerClient.InstallReferrerResponse.SERVICE_UNAVAILABLE:
                    Log.w("TAG", "Unable to connect to the service");
                    break;
                default:
                    Log.w("TAG", "responseCode not found.");
            }
        }

        @Override
        public void onInstallReferrerServiceDisconnected() {
            // Try to restart the connection on the next request to
            // Google Play by calling the startConnection() method.
        }
    });

コードは正常に動作しており、現在、上記のスニペットはアクティビティのonCreateメソッド内にあります。つまり、ユーザーがアクティビティを開くたびに新しい接続が開始されます。

ライブラリのドキュメントでは、彼らはそれを書いています

注意: インストール リファラー情報は 90 日間利用可能であり、アプリケーションを再インストールしない限り変更されません。アプリで不要な API 呼び出しを回避するには、インストール後の最初の実行時に API を 1 回だけ呼び出す必要があります。

これは私が立ち往生している場所です。アプリケーションが初めて起動したときにこのことを呼び出す必要がありますか? はいの場合、このリファラーを共有設定に保存できますが、90 日が経過し、そのアクションを再度トリガーする必要があることをどのように知ることができますか? それとも、実装する必要がある何か他のものがありますか? この問題で私を助けてください。

4

0 に答える 0