我正在用 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 天已经过去并且我需要再次触发该操作?或者还有其他我需要实施的东西吗?请帮我解决这个问题。