2016-09-07 9 views
1

IPメッセージ、ビデオ会話、通話、SMS用のTwilio SDKを実装しようとしています。 Twilioは、要件に関する限り、すべての請求書に完全に適合します。しかし私たちは、チャネルに参加するためのリモート通知を送信することで、プライベートチャネルにユーザーを招待することに関していくつかの課題に直面しています。私たちは文書を検索しましたが、私たちは問題文の解決策を私たちに指摘する文書を扱っていないようです。Twilio - リモート通知を送信してプライベートチャネルに招待する

ステップ -

  • トークンのリクエストデバイスUUID

  • とIPMessagingClientのインスタンス上で、新たに生成されたトークン

    let accessManager= TwilioAccessManager.init(token: token, delegate: self) 
    let client = TwilioIPMessagingClient.ipMessagingClientWithAccessManager(accessManager, properties: nil, delegate: self) 
    
  • コールregisterWithTokenとIPMessagingClientのインスタンスを作成します。

    ユーザーは、我々は、チャネルが存在する場合、プライベートチャンネルが

    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(){ ... }) 
      
    • 私たちは、その後、火災にAppDelegateで利用可能didReceiveRemoteNotification、待ちます。その中にバッジやメッセージやサウンドを通じて通知を表示するコードがあります。

問題が発生した場所です<- problem StatementdidReceiveRemoteNotificationは全く発生しません。

+0

すべての手順に従って、[IPメッセージからプッシュ通知を受信する](https://www.twilio.com/docs/api/ip-messaging/guides/push-notifications-ios)を設定しましたか?ユーザーが新しいメッセージを受信するなど、他のイベントのプッシュ通知を受け取ることはできますか? – philnash

+0

Hey 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

あなたは私の一日を作った!ありがとう、トン。それは魅力のように働いた。 –

関連する問題