如何在 iOS 上禁用 Google Play 游戏服务中的推送通知权限?
Posted
技术标签:
【中文标题】如何在 iOS 上禁用 Google Play 游戏服务中的推送通知权限?【英文标题】:How to disable push notification permissions in Google Play Games Services on iOS? 【发布时间】:2016-10-15 11:10:07 【问题描述】:我在 Unity 游戏中实现了 Google Play 游戏服务。我已经在 ios 上构建和部署工作,但我在第一次运行时收到了推送通知的权限请求,并且 iTunes 连接说我的应用程序请求推送通知访问。
我不需要推送通知,也没有故意实现它们,也没有在游戏中实现多人游戏。所以我假设这是 GPGS 中的自动操作?我可以禁用它吗?
谢谢!
【问题讨论】:
【参考方案1】:我现在通过注释掉文件 GPGSAppController.mm 中的以下几行来解决这个问题,我相信它可以注册应用程序以获取通知。
/*
// iOS 8 Notifications
if ([application
respondsToSelector:@selector(isRegisteredForRemoteNotifications)])
[application registerUserNotificationSettings:
[UIUserNotificationSettings
settingsForTypes:(UIUserNotificationTypeSound |
UIUserNotificationTypeAlert |
UIUserNotificationTypeBadge)
categories:nil]];
[application registerForRemoteNotifications];
else
// iOS < 8 Notifications
[application
registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |
UIRemoteNotificationTypeAlert |
UIRemoteNotificationTypeSound)];
*/
//gpg::TryHandleNotificationFromLaunchOptions(launchOptions);
//gpg::RegisterDeviceToken(deviceToken, GPGPushNotificationEnvironmentProduction);
在测试完所有需要的 GPGS 功能后,我仍然可以使用,但没有弹出推送通知权限。
【讨论】:
【参考方案2】:来自 GitHub 上的文档page:
可以禁用此插件以在 iOS 上构建。这意味着源自 GooglePlayGames 命名空间的库和引用被排除在构建之外。它不会影响您编写的代码,例如对 GPGS API 的调用。
要在 iOS 版本中禁用 Google Play 游戏服务,请打开 iOS 播放器设置。然后在“其他设置”面板中,找到名为“Scripting Define Symbol”的条目,并添加一个名为:NO_GPGS(区分大小写)的符号。
【讨论】:
项目不会使用此定义构建。另外我不想禁用插件,我仍然想将它用于排行榜和保存等。我只是不需要通知权限请求。【参考方案3】:在您的 Xcode 项目中找到 xxx.entitlements
文件
移除密钥aps-environment
【讨论】:
以上是关于如何在 iOS 上禁用 Google Play 游戏服务中的推送通知权限?的主要内容,如果未能解决你的问题,请参考以下文章
如何修复正在修改或禁用设备上 SELinux 的应用以重新提交到 Google Play
技 (米) 术 (哈) 宅 (游) 和 Google Play 联手收获成功果实 | Google Play 开发者故事
从 App Store 和 google Play Store 禁用 iOS 和 Android 应用程序,并向用户发送自定义消息