3

我正在用 Java 开发一个 android 应用程序,我需要将引用信息传递给 URL。我正在使用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。

这就是我卡住的地方,我应该在应用程序第一次启动时调用这个东西吗?如果是,我可以将此推荐人存储在共享首选项中,但是我如何知道 90 天已经过去并且我需要再次触发该操作?或者还有其他我需要实施的东西吗?请帮我解决这个问题。

4

0 回答 0