是的,Google 要求在应用程序中集成广告标识符(Advertising ID)才能进行 Google 登录。以下是一个简单的示例,说明如何向应用程序添加 Google 登录和广告标识符(Android Studio 环境下):
在应用的 build.gradle 文件中添加以下依赖项:
dependencies { implementation 'com.google.android.gms:play-services-auth:19.0.0' implementation 'com.google.android.gms:play-services-ads-identifier:17.0.0' }
在 MainActivity.java 文件中,在 onCreate() 方法中请求广告 ID:
import com.google.android.gms.ads.identifier.AdvertisingIdClient; import com.google.android.gms.common.ConnectionResult; import com.google.android.gms.common.GoogleApiAvailability;
...
private void requestAdvertisingId() {
int connectionResult = GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(this);
if (connectionResult == ConnectionResult.SUCCESS) {
new Thread() {
public void run() {
try {
AdvertisingIdClient.Info info = AdvertisingIdClient.getAdvertisingIdInfo(getApplicationContext());
final String advertisingId = info.getId();
Log.d(TAG, "Advertising ID: " + advertisingId);
} catch (Exception e) {
Log.e(TAG, "Error getting Advertising ID: " + e);
}
}
}.start();
} else {
GoogleApiAvailability.getInstance().getErrorDialog(this, connectionResult, 0).show();
}
}
在 LoginActivity.java 文件中,在 onCreate() 方法中实现 Google 登录:
import com.google.android.gms.auth.api.Auth; import com.google.android.gms.auth.api.signin.GoogleSignIn; import com.google.android.gms.auth.api.signin.GoogleSignInAccount; import com.google.android.gms.auth.api.signin.GoogleSignInApi; import com.google.android.gms.auth.api.signin.GoogleSignInOptions; import com.google.android.gms.auth.api.signin.GoogleSignInResult; import com.google.android.gms.common.api.GoogleApiClient; import com.google.android.gms.common.api.Status;
...
private static final int RC_SIGN_IN = 1; private GoogleApiClient mGoogleApiClient;
...
上一篇:Android13-如何请求WRITE_EXTERNAL_STORAGE权限
下一篇:Android13-在没有MANAGE_EXTERNAL_STORAGE权限的情况下访问自己的文件,如固件、数据日志