通过 Azure 通知中心使用 Xamarin Forms 在 android 模拟器上推送通知
Push notifications on android emulator using Xamarin Forms via Azure Notification Hubs
我正在着手建立一个 Xamarin Forms 项目用于概念验证,目的是让 Android 应用程序 运行 在 Android 模拟器中注册和接收 google 通过 Azure 的通知中心发送的云通知。
在对此进行研究时,我发现了一些示例代码,这些示例代码假定后端使用 Microsoft Azure 的移动服务后端。
如果可能的话,我不希望我的客户端代码依赖于移动服务后端。但是,在使用 Azure 通知中心时,这可能是不可避免的(或不可取的)。这确实是我提出这个问题的核心问题。
下面链接的教程展示了一种使用依赖于 Azure 移动服务后端的 Xamarin 表单应用注册和接收通知的方法。
然而,第二个教程展示了一种方法,其中移动客户端应用程序(使用 Xamarin Android 开发)注册到 Google 消息传递云而不是 Azure 通知中心。
我要解开的地方是试图找出使 Xamarin 表单应用程序能够注册和接收通过 Azure 通知中心推送的通知的正确方法。
当通过 Azure 通知中心发送通知时(为 google 消息配置了正确的 API 凭据),第二个教程的方法(设备直接使用 Google 云注册推送通知)是否有效?还是我遗漏了什么?
换句话说,我采用第二种方法是不是让自己过得不好?
我的重点是使用 Xamarin 表单进行开发,但使用 Android 作为初始原型的主要设备类型、概念验证,然后转向 iOS 和 Windows Universal 10在稍后阶段。
我的 2 美分。
使用 Azure 通知中心的全部意义在于抽象出处理 Google 和 iOS 推送通知系统的需要。由于您计划最终同时执行 iOS 和 Android,我建议您通过 Azure 注册。
Azure 将在注册设备时处理 iOS 反馈通道,这很好,您可以在 Azure 中使用消息模板,这意味着您可以发送单个通知中心消息,它会自动转换为Android 的 GCM 期望看到的消息和 iOS' APNS 期望接收的另一条消息(它们都期望不同的通知消息格式)。
因为听起来无论您选择哪个选项,您都计划通过 Azure 发送消息,您将不得不处理相同的通知中心限制,这意味着您从直接通过本机服务器接口(消息可以具有的标签数量限制是我主要考虑的问题)。
如果您想直接从设备注册,或者您可以像我们一样,让移动设备调用您自己的后端服务器之一,它可以在发送之前进行一些初始处理,那么这两个平台都有一个库设备的 azure 注册请求。
*编辑:虽然如果你只是想让一些东西工作,我不认为直接注册到 GCM 然后切换代码以稍后通过 Azure 来完成它没有问题。
我正在着手建立一个 Xamarin Forms 项目用于概念验证,目的是让 Android 应用程序 运行 在 Android 模拟器中注册和接收 google 通过 Azure 的通知中心发送的云通知。
在对此进行研究时,我发现了一些示例代码,这些示例代码假定后端使用 Microsoft Azure 的移动服务后端。 如果可能的话,我不希望我的客户端代码依赖于移动服务后端。但是,在使用 Azure 通知中心时,这可能是不可避免的(或不可取的)。这确实是我提出这个问题的核心问题。
下面链接的教程展示了一种使用依赖于 Azure 移动服务后端的 Xamarin 表单应用注册和接收通知的方法。
然而,第二个教程展示了一种方法,其中移动客户端应用程序(使用 Xamarin Android 开发)注册到 Google 消息传递云而不是 Azure 通知中心。
我要解开的地方是试图找出使 Xamarin 表单应用程序能够注册和接收通过 Azure 通知中心推送的通知的正确方法。 当通过 Azure 通知中心发送通知时(为 google 消息配置了正确的 API 凭据),第二个教程的方法(设备直接使用 Google 云注册推送通知)是否有效?还是我遗漏了什么?
换句话说,我采用第二种方法是不是让自己过得不好?
我的重点是使用 Xamarin 表单进行开发,但使用 Android 作为初始原型的主要设备类型、概念验证,然后转向 iOS 和 Windows Universal 10在稍后阶段。
我的 2 美分。
使用 Azure 通知中心的全部意义在于抽象出处理 Google 和 iOS 推送通知系统的需要。由于您计划最终同时执行 iOS 和 Android,我建议您通过 Azure 注册。
Azure 将在注册设备时处理 iOS 反馈通道,这很好,您可以在 Azure 中使用消息模板,这意味着您可以发送单个通知中心消息,它会自动转换为Android 的 GCM 期望看到的消息和 iOS' APNS 期望接收的另一条消息(它们都期望不同的通知消息格式)。
因为听起来无论您选择哪个选项,您都计划通过 Azure 发送消息,您将不得不处理相同的通知中心限制,这意味着您从直接通过本机服务器接口(消息可以具有的标签数量限制是我主要考虑的问题)。
如果您想直接从设备注册,或者您可以像我们一样,让移动设备调用您自己的后端服务器之一,它可以在发送之前进行一些初始处理,那么这两个平台都有一个库设备的 azure 注册请求。
*编辑:虽然如果你只是想让一些东西工作,我不认为直接注册到 GCM 然后切换代码以稍后通过 Azure 来完成它没有问题。