2016-09-07 139 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

你讓我的一天!萬分感謝。它像一個魅力。 –