我使用来自https://github.com/playgameservices/ios-basic-samples
的TBMPSkeleton在iOS中测试Google Play服务
我确实上传了Google Play控制台中的所有APNS证书(link),但在设备上运行游戏时,我在收到邀请或在开发或生产环境中更改匹配状态时都没有收到任何通知。调试显示游戏确实成功接收了APNS令牌,我使用https://www.raywenderlich.com/123862/push-notifications-tutorial中的php脚本测试了我的证书并成功发送了推送通知。
那么我的项目有什么问题?我配置错了吗?我使用的是XCode 7.3.1(7D1014),Google Play Service 5.1.1
答案 0 :(得分:-1)
检查Adding Push Notifications in Your iOS Game。
您可以下载APNS证书。但那只是第1步。接下来的步骤是:
步骤2.创建包含推送通知权利的配置文件。要了解如何创建配置文件,请参阅“创建和安装配置文件”下的Apple Developer Provisioning and Development文档。确保将配置文件拖动到组织者中的测试设备。
步骤3.将您创建的.p12文件上传到Google Play开发者控制台。 .p12文件必须采用PKCS#12格式,并且必须只包含一个证书。
步骤4.注册您的应用以在用户成功登录后接收推送通知。在您的finishedWithAuth:错误处理程序中添加以下代码,用户已成功登录Google Play游戏服务。这将打开标准的iOS推送通知对话框。如果您的游戏已经通过在其他地方实施此代码注册了推送通知,那么您无需再次添加此行。
[[UIApplication sharedApplication] registerForRemoteNotifications:
(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert)];
步骤5.在appDelegate中,将以下代码添加到回调中,以检索从APNS传回的推送设备令牌。此设备令牌用于出站推送通知,您的应用必须将其注册到Google Play游戏服务推送服务。确保始终通过GPGManager注册您的设备令牌,以启用来自Google Play游戏服务的推送通知。即使用户尚未登录; GPGmanager对象将缓存此令牌并保存,直到用户登录。
- (void)application:(UIApplication *)application
didRegisterForRemoteNotificationsWithDeviceToken
:(NSData *)deviceToken {
NSLog(@"Got deviceToken from APNS! %@", deviceToken);
[[GPGManager sharedInstance] registerDeviceToken:deviceToken
forEnvironment:GPGPushNotificationEnvironmentSandbox];
}