2016-09-07 96 views
1

我正在尝试为IP消息系统,视频对话,通话和短信实现Twilio SDK。 Twilio完全符合所有要求。不过,我们正面临一些挑战,邀请用户通过发送远程通知加入该频道来访问私人频道。然而,我们通过文件搜索,我们似乎没有得到一个文件的句柄,这将指向我们的问题陈述的解决方案。Twilio - 通过向用户发送远程通知邀请用户

步骤 -

  • 请求令牌与设备UUID

  • 与新生成的令牌

    let accessManager= TwilioAccessManager.init(token: token, delegate: self) 
    let client = TwilioIPMessagingClient.ipMessagingClientWithAccessManager(accessManager, properties: nil, delegate: self) 
    
  • 呼叫registerWithToken上IPMessagingClient的实例创建IPMessagingClient实例

    ipMessagingClient.registerWithToken(deviceToken) 
    
  • 如果用户想要与其他用户聊天

    • 我们检查,如果信道存在的专用通道存在

      let availableChannel = channels?.channelWithUniqueName(defaultChannel) 
      
    • ,我们让登录的用户加入频道

      availableChannel.joinWithCompletion({ (result) in 
             if result.isSuccessful(){ ... }}) 
      
    • 如果频道不存在,那么我们创建t他新的专用通道

      let options: [NSObject:AnyObject] = [ 
          TWMChannelOptionFriendlyName: defaultChannel, 
          TWMChannelOptionUniqueName: defaultChannel, 
          TWMChannelOptionType: TWMChannelType.Private.rawValue 
      ] 
      
      channels?.createChannelWithOptions(options, completion: { (result, channel) in 
           if result.isSuccessful(){ 
            channel.joinWithCompletion({ (result) in 
             if result.isSuccessful(){ ... }}) 
      
    • 一次,用户成功加入该频道,我们将邀请发送给其他用户加入同一个通道。

      availableChannel.members.inviteByIdentity(other_user_name, completion: { 
          (result) in 
           if result.isSuccessful(){ ... }) 
      
    • 然后,我们等待didReceiveRemoteNotification,可在AppDelegate的火灾。在其中我们有一段代码来显示通过徽章或消息或声音的通知。 <- problem Statement

这是问题出现时,didReceiveRemoteNotification不火的。

+0

您是否按照所有步骤设置了[从IP消息系统接收推送通知](https://www.twilio.com/docs/api/ip-messaging/guides/push-notifications-ios)?您是否能够接收其他活动的推送通知,如接收新消息的用户? – philnash

+0

嗨Philnash,是的,我跟着同一份文件写我的推送通知。另外,我首先创建了用于生产的苹果推送证书,但是,后来我又添加了另一个用于开发的版本,但它不起作用。此外,我试图向用户发送消息,但是,也不会触发didReceiveRemoteNotification委托。 –

回答

1

Twilio开发者传道这里。

您需要make sure you have notifications enabled for the IP Messaging service您正在使用。

目前您需要使用REST API来完成此操作,尽管对此的支持将很快提供给Twilio console

在此期间,这里是你将如何启用频道邀请和新邮件推送通知的例子:

curl -X POST https://ip-messaging.twilio.com/v1/Services/{service sid} \ 
-d 'Notifications.NewMessage.Enabled=true' \ 
-d 'Notifications.NewMessage.Template=A New message in ${CHANNEL} from ${USER}: ${MESSAGE}' \ 
-d 'Notifications.InvitedToChannel.Enabled=true' \ 
-d 'Notifications.InvitedToChannel.Template=${USER} has invited you to join the channel ${CHANNEL}' \ 
-u '{twilio account sid}:{twilio auth token}' 

刚刚替补您的帐户SID,身份验证令牌和消息服务SID在上面。查看types of notification you can enable and notification templates in the documentation的所有细节。

+1

你让我的一天!万分感谢。它像一个魅力。 –

相关问题