【发布时间】:2015-05-04 12:56:05
【问题描述】:
我们正在使用 Azure 移动服务将通知推送到 Xamarin Android 和 Xamarin iOS 以及 Windows 通用应用程序。 Windows 通用应用程序有大量关于我们需要的文档,尽管我们还没有机会实现它。但是,Xamarin Android 和 iOS 都缺少有关推送通知的所有文档。如果您转到 http://azure.microsoft.com/en-us/documentation/services/mobile-services/ 并选择 Xamarin Android 或 Xamarin iOS 和 .NET 后端,则围绕这些 API 的文档链接为零。昨天挖掘了大约一吨后,我发现了这个:http://azure.microsoft.com/en-us/documentation/articles/mobile-services-dotnet-backend-xamarin-android-get-started-push/ 和 http://azure.microsoft.com/en-us/documentation/articles/mobile-services-dotnet-backend-xamarin-ios-get-started-push/ 两者最后一次更新是在去年 9 月。文档承诺会在 5 个多月前更新。
当我将 Microsoft 的 Xamarin 组件用于 Azure 移动服务时:http://components.xamarin.com/view/azure-mobile-services/ 我能够启动并运行 MobileServiceClient,但不能启动推送通知。
API:
Push pushManager = MobileService.GetPush();
string deviceId = "what is this???";
//Option 1:
pushManager.RegisterNativeAsync(deviceId);
//Option 2:
GcmRegistration googleNotificationRegistration = new GcmRegistration(deviceId);
pushManager.RegisterAsync(googleNotificationRegistration);
我正在使用的文档:
- Push.RegisterAsync: https://msdn.microsoft.com/en-us/library/microsoft.windowsazure.mobileservices.push.registerasync.aspx
- GcmRegistration:我找不到此类的任何文档
- 注册(GcmRegistration 的基类):
https://msdn.microsoft.com/en-us/library/microsoft.windowsazure.mobileservices.registration.aspx
- 注意:Registration的参数不是deviceId而是channelUri
- Push.RegisterNativeAsync:
https://msdn.microsoft.com/en-us/library/dn643553.aspx
- 注意:RegisterNativeAsync的参数不是deviceId而是channelUri
我的问题很简单: deviceId 应该是什么?我如何获得它?
以上所有文档均适用于 Winodws 通用应用程序,而不适用于 Mono 上的 Xamarin 应用程序。
在撰写此问题时,我发现了有关“通知中心入门”的文章:
- Xamarin iOS - http://azure.microsoft.com/en-us/documentation/articles/partner-xamarin-notification-hubs-ios-get-started/
- Xamarin Android - http://azure.microsoft.com/en-us/documentation/articles/partner-xamarin-notification-hubs-android-get-started/
这些是我应该使用的示例吗?它们看起来很旧,Android 没有提到 Azure 移动服务。我什至不应该使用适用于 Android 的 Azure 移动服务 Xamarin 组件吗?
【问题讨论】:
标签: android ios azure xamarin push-notification