1

私が取り組んでいるアプリケーションは、ユーザーへの通知に大きく依存しています。私は、メッセンジャーのパワーを活用したいのですが、Facebookメッセンジャーに送られた通知を購読することができます。これは、FacebookがFacebook Messenger Platformを開設したときの私の選択肢に過ぎませんでしたが、Facebookの素晴らしい製品を利用してユーザーに贅沢さを与える素晴らしい方法だと思います。Facebook Messengerのレンダリング "以前に認証されたときにメッセンジャーに送信"プラグイン

私はプラットフォームの仕組みを強く理解しており、ユーザが"Send to Messenger" pluginを選択したときに発生するコールバックのための自分自身のウェブフック受信機を作成しました。 Facebook Javascript SDKを追加して、私のページにプラグインをレンダリングしました。

私は機能性に関するいくつかの質問があります:ユーザーは、「Messengerに送信」ボタンを押すと、その結果の流れを通過したら、私はそのウェブフックコールバックから自分SENDER_IDを取得することができる午前

  1. Send APIを呼び出してメッセージを送信します。ユーザーがフローをたどると、プラグインにチェックマークが付きます。しかし、ページをリロードすると、プラグインがデフォルトの状態にリセットされ、チェックマークが表示されません。どうすればプラグインの状態をチェック状態にすることができますか?今私はsender_idというユーザーを知っているので、フローを再度通過して同じコールバックを起動する必要はありません。私は、ユーザーがフローを経験してきたかどうかをチェックする機能を持っていますが、どのように私は正しい状態でプラグインをレンダリングすることができ、このような何かを探して:

    if (user.sender_id?) { 
        # show the check marked "Send To Messenger" plugin state 
    } 
    else { 
        # show the default "Send To Messenger" plugin state 
        <div class="fb-send-to-messenger" 
         messenger_app_id="APP_ID" 
         page_id="PAGE_ID" 
         data-ref="PASS_THROUGH_PARAM" 
         color="blue" 
         size="standard"> 
        </div>  
    } 
    
  2. 私は、ユーザーが自分のデータベースにsender_idを保存することができます一度エントリーポイントを通過したら? sender_idはこれまでどおり変更されていますか?

洞察力は大変ありがとうございます!

+0

あなたはそれを解決しましたか? –

+0

@FilipeFerminiano残念ながら私は解決策を見いだせませんでした。 :( –

答えて

0

私がこれを解決したのは、私のデータベースから自分のユーザーIDをMessenger OptInの 'ref'または 'pass through params'として設定することでした。次に、私のWebhookで、リクエストを受け取ったときに、自分のユーザーのデータベースコレクションにSender IDを追加しました。

ユーザーがページをリロードしたときに、関連付けられた送信者IDを持っている場合、私はメッセンジャープラグインをまったく表示しませんでした。送信者IDは変更されません。

関連する問題