处理推送通知(市区飞艇)

本页向您展示如何使用城市飞艇的支持SDK使用推送通知。

Zend亚博esk Support SDK可以设置为当代理对终端用户的请求发布公开评论时通知终端用户。

在开始之前

在开始之前,了解以下信息是有用的:

  • 你可以使用Webhook API或Urban Airship发送推送通知。
  • 如果你已经有推送通知服务,我们建议你使用Webhook API选项。另一方面,如果你没有自己的推送通知服务,或者你不愿意开发一个,你应该使用Urban Airship替代方案。
  • 您只会收到通过Support SDK创建的请求的通知。
  • Zendesk支持中应用程序的配置必须包含所选选项的推送通知细节。亚博
  • 如果从一个集成切换到另一个集成,或者更改身份,请重新注册设备。否则推送通知将无法正常发送。
  • 如果设备令牌失效,您将需要注册新的设备令牌,以便继续正确发送推送通知。

使用Urban Airship进行推送通知

亚博Zendesk支持通知城市飞艇时,需要发送通知。

对于一个完整的城市飞艇集成,你需要做四件事:

  1. 在您的帐户中配置支持SDK应用程序
  2. 将城市飞艇SDK集成到应用程序中
  3. 设置应用程序来处理推送通知和深度链接
  4. 通知Zende亚博sk支持有关未注册的设备

帐户配置

在Zendes亚博k Support管理界面中,选择城市飞艇中的推送通知组合框中的定制Mobile SDK页签。

Urban Airship凭据显示了两个文本字段。第二点,城市飞艇App Master Secret,尤为重要。确保你使用你的城市飞艇主钥匙。如果你使用城市飞艇应用程序键,推送通知将不会发送。

城市飞艇SDK集成

集成Urban Airship SDK是获得Urban Airship设备令牌的唯一方法(a通道标识用城市飞艇的说法)。一旦你有了通道标识,您可以按照章节的描述注册设备应用程序集成在下面。

中详细描述了该设置城市飞艇安卓指南

你也可以查看我们的样例应用程序看到一个工作的支持SDK应用程序与城市飞艇SDK集成到它。

应用程序集成

你需要在应用程序代码中处理以下四种场景:

设备注册

您必须向Zendesk Support注册有兴趣接收推送通知的设备。亚博

你需要一个城市飞艇通道标识注册设备。看到城市飞艇SDK集成上面如果你还没有的话。

要注册设备,请发送通道标识通过支持SDK 亚博API到Zendesk支持实例,如下所示:

             
亚博实例提供者pushRegistrationProviderregisterWithUAChannelId“< id >频道”亚博ZendeskCallback<字符串>@覆盖公共无效调用onSuccess字符串的结果@覆盖公共无效onErrorErrorResponse ErrorResponse

设备时

当用户退出或者不再需要推送通知时,调用下面的API来删除设备标识符(Urban Airship通道标识)来自Zend亚博esk Support:

             
亚博实例提供者pushRegistrationProviderunregisterDevice亚博ZendeskCallback<无效>@覆盖公共无效调用onSuccess最终虚空响应@覆盖公共无效onErrorErrorResponse ErrorResponse

通知有效载荷处理

要访问推送的有效载荷,请设置一个BaseIntentReceiver

更新后的票据的id可以从提供的PushMessage通过调用:

             
@覆盖受保护的布尔onNotificationOpened上下文语境PushMessage消息int notificationId...字符串ticketId消息getPushBundlegetString“tid”...

当收到通知时,您可以选择使用Support SDK的深度链接功能来处理通知或自己处理通知。如果您选择自己处理它,您可以检索票据并使用API提供程序获取它的注释。请参阅Support SDK JavaDocs中的以下主题:

票深度链接

您可以使用Support SDK的深度链接功能来直接响应通知点击来显示票据。

获得意图

使用RequestConfiguration构建器得到一个深层链接意图为您通知的内容意图。所提供的方法之一亚博ZendeskDeepLinking。实例来获取一个Intent。

             
最后意图mainActivity意图getApplicationContextMainActivitymainActivityputExtraMainActivityEXTRA_VIEWPAGER_POSITIONMainActivityVIEWPAGER_POS_HELP最后ArrayList<意图>backStackItemsArrayList<>backStackItems添加mainActivity最后意图deepLinkIntentRequestConfiguration构建器withRequestIdrequestIddeepLinkIntentgetApplicationContextbackStackItems

为了保持导航流,您可以指定一个回堆栈意图列表。如果用户按下返回按钮,这些活动就会显示出来。确保提供的意图是明确的意图

使用意图

返回的Intent调用BroadcastReceiver它处理进一步的深层链接过程。

1.通知

             
最后意图deepLinkIntentRequestConfiguration构建器withRequestIdrequestIddeepLinkIntentgetApplicationContextbackStackItems最后PendingIntentcontentIntentPendingIntentgetBroadcast上下文requestCodedeepLinkIntent旗帜最后通知通知NotificationCompat构建器上下文...setContentIntentcontentIntent...构建

2.在一个活动/片段中

             
final Intent deepLinkIntent = new RequestConfiguration.Builder().withRequestId (requestId).deepLinkIntent (getApplicationContext (), backStackItems);context.sendBroadcast (deepLinkIntent);
刷新评论流

提供的另一个功能支持。实例是刷新评论流的可能性,如果它是可见的。

             
/***……* @param requestId刷新请求的ID* @param context应用的上下文* @如果对话界面在屏幕上刷新,则返回true,否则返回false。* /公共布尔refreshRequest字符串requestId上下文语境

例子:

             
如果支持实例refreshRequestrequestIdgetApplicationContext返回其他的/ /。显示通知

批量删除设备

城市飞艇有一个反馈API它返回一个令牌列表,这些令牌无法接收推送通知,因为应用程序已被卸载。你也要让我们知道。

您可以对推送通知设备使用批量取消注册端点大量取消注册API注销已删除应用程序或已不再注册的客户的设备。