更新:我们的游戏是使用Unity构建的,我们正在使用Google的0.9版本Google Play游戏服务插件。我们还使用了手动集成的Google SignIn SDK 4.0.0版,没有 Cocoapods。
我们已在游戏中集成了Google登录功能,并且我们只想要仅提供基本帐户信息,但出于某种原因所请求的权限还包括Google+和Google Play
以下信息是指iOS版本(但我们在Android上遇到同样的问题):
我们没有明确添加任何范围,我们使用的是空配置/构建器。在应用程序启动后立即打印出范围,我们可以看到它们是空的:
- (void)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSLog(@"Scopes: %@", [GIDSignIn sharedInstance].scopes);
// prints: Scopes: ()
}
然而,似乎在调用signInWillDispatch:signIn:error
方法时,还增加了一个范围:
- (void)signInWillDispatch:(GIDSignIn *)signIn error:(NSError *)error {
NSLog(@"Scopes: %@", signIn.scopes);
// Prints: Scopes: ("https://www.googleapis.com/auth/games")
}
我在项目的任何地方都找不到该字符串的任何引用(源Unity项目或生成的XCode项目)。我可以在the Google Scopes page中看到此范围,但该页面并未提供任何有用的信息。
如何自动添加?
可能与此无关,但该游戏在Google Play服务中具有排行榜和成就。
顺便说一句,我尝试在signIn.scopes = [NSArray array];
中设置signInWillDispatch:signIn:error
,但它对所请求的权限没有影响。