如何在 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 应用程序,并向用户发送自定义消息

如何在GooglePlay上面发布应用

Google Play 服务 - Unity - 只能在 iOS 上邀请“最近的玩家”

如何打开并检查 Play Protect 是启用还是禁用